Repolode
arm

arm/metis

Open-source инструмент для анализа безопасности кода с помощью LLM: находит уязвимости семантическим анализом, а не фиксированными правилами. Создан командой Product Security Team компании Arm.

Звёзды
889
Форки
128
Открытые issues
12
Последний коммит
вчера

Что это?

Metis — это агентный AI-фреймворк для глубокого анализа безопасности кода. В отличие от традиционных линтеров и статических анализаторов, которые опираются на жестко заданные правила, Metis использует большие языковые модели для анализа семантики кода и помогает обнаруживать трудноуловимые уязвимости в крупных и устаревших кодовых базах. Инструмент также проверяет результаты собственного анализа и сторонние данные в формате SARIF, собирая доказательства, чтобы сократить число ложных срабатываний.

Metis поддерживает широкий набор языков, включая C, C++, Java, Python, Go, Rust, TypeScript, Solidity и Terraform. Для разбиения кода используется tree-sitter, а новые языки можно добавлять через систему плагинов. LLM-бэкенд можно настроить для работы с OpenAI, Azure OpenAI, Anthropic, Gemini, AWS Bedrock, vLLM, Ollama и llama.cpp. По умолчанию для векторного хранилища используется ChromaDB; также доступны PostgreSQL (pgvector) и Qdrant.

Metis можно запускать через CLI или интерактивный промпт, чтобы проверять каталоги, файлы и diff, индексировать кодовую базу, задавать вопросы о ней и разбирать результаты в формате SARIF. Результаты можно сохранить в JSON или SARIF.

Ключевые возможности

  • 01Использует семантический анализ с помощью LLM вместо жестко заданных правил, чтобы находить уязвимости.
  • 02Проверяет результаты собственного анализа и сторонних инструментов, выдающих SARIF, чтобы сократить число ложных срабатываний.
  • 03Поддерживает множество языков благодаря системе плагинов, включая C/C++ с анализом достижимости через CodeGraph.
  • 04Работает с разными LLM-провайдерами, в том числе с локальными моделями через Ollama, vLLM и llama.cpp.
  • 05По умолчанию использует ChromaDB; также можно выбрать PostgreSQL pgvector или Qdrant в качестве векторного хранилища.
  • 06Проверяет целые каталоги, отдельные файлы и patch diff; результаты можно сохранить в JSON или SARIF.

Сценарии использования

  • Анализ безопасности крупных и устаревших кодовых баз на C/C++, где инструменты на основе правил генерируют слишком много шума.
  • Проверка patch для pull request на уязвимости перед слиянием.
  • Разбор результатов существующих SAST-инструментов, чтобы отделить вероятные уязвимости от ложных срабатываний.
  • Запуск анализа безопасности на локально размещенных моделях, когда исходный код нельзя передавать за пределы сети.

Быстрый старт

  1. 1

    Клонируйте репозиторий

    git clone https://github.com/arm/metis.git
  2. 2

    Создайте виртуальное окружение и установите зависимости

    uv venv && uv pip install .
  3. 3

    Задайте ключ API OpenAI в переменной окружения

    export OPENAI_API_KEY="your-key-here"
  4. 4

    Запустите анализ кодовой базы

    uv run metis --codebase-path "/path/to/src" --verbose

Что важно знать

  • Требуется провайдер LLM. По умолчанию используется OpenAI, для которого нужен ключ API.
  • Для векторной индексации нужен провайдер эмбеддингов, если выбранный бэкенд не предоставляет их самостоятельно.
  • Поддержка языков различается: для некоторых доступна только базовая проверка.

В подборках

Темы

#security-review#code-review#llm#static-analysis#vulnerability-detection#sarif#agentic-ai

Частые вопросы

Что такое metis?
Open-source инструмент для анализа безопасности кода с помощью LLM: находит уязвимости семантическим анализом, а не фиксированными правилами. Создан командой Product Security Team компании Arm. Metis — это агентный AI-фреймворк для глубокого анализа безопасности кода. В отличие от традиционных линтеров и статических анализаторов, которые опираются на жестко заданные правила, Metis использует большие языковые модели для анализа семантики кода и помогает обнаруживать трудноуловимые уязвимости в крупных и устаревших кодовых базах. Инструмент также проверяет результаты собственного анализа и сторонние данные в формате SARIF, собирая доказательства, чтобы сократить число ложных срабатываний.
metis можно использовать бесплатно? Какая у него лицензия?
metis распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
metis всё ещё поддерживается?
Активно поддерживается. Последний коммит в metis — 5 нояб. 2026 г..
Для чего можно использовать metis?
Анализ безопасности крупных и устаревших кодовых баз на C/C++, где инструменты на основе правил генерируют слишком много шума. Проверка patch для pull request на уязвимости перед слиянием. Разбор результатов существующих SAST-инструментов, чтобы отделить вероятные уязвимости от ложных срабатываний. Запуск анализа безопасности на локально размещенных моделях, когда исходный код нельзя передавать за пределы сети.
Как установить metis?
Клонируйте репозиторий: git clone https://github.com/arm/metis.git Создайте виртуальное окружение и установите зависимости: uv venv && uv pip install . Задайте ключ API OpenAI в переменной окружения: export OPENAI_API_KEY="your-key-here" Запустите анализ кодовой базы: uv run metis --codebase-path "/path/to/src" --verbose
Где скачать metis?
Исходный код и инструкции по установке — на GitHub: https://github.com/arm/metis

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Сканер безопасности на Rust для аудита MCP-серверов и файлов навыков AI-агентов на предмет prompt injection, отравления инструментов, утечки секретов и рисков цепочки поставок.

99+1 за неделю20RustApache-2.0Активно поддерживаетсяОбновлён 30 дней назад

CLI для AI-ревью кода: детерминированный выбор файлов и правил сочетается с LLM-агентом, который оставляет комментарии к конкретным строкам Git diff.

49,6 тыс.+451 за неделю3,6 тыс.GoApache-2.0Активно поддерживаетсяОбновлён 14 часов назад

Навыки для Hermes Agent, которые помогают агенту создавать собственные аналитические промпты («призмы») для каждого артефакта и сообщать как о выводах, так и о неисследованных аспектах.

51331PowerShellMITОбновлён 3 месяца назад

Инструмент для моделирования угроз на базе ИИ: с помощью LLM создает модели угроз STRIDE, деревья атак и рекомендации по снижению рисков.

1,2 тыс.+1 за неделю336PythonMITАктивно поддерживаетсяОбновлён позавчера