Сканер безопасности на Rust для аудита MCP-серверов и файлов навыков AI-агентов на предмет prompt injection, отравления инструментов, утечки секретов и рисков цепочки поставок.
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
Клонируйте репозиторий
git clone https://github.com/arm/metis.git - 2
Создайте виртуальное окружение и установите зависимости
uv venv && uv pip install . - 3
Задайте ключ API OpenAI в переменной окружения
export OPENAI_API_KEY="your-key-here" - 4
Запустите анализ кодовой базы
uv run metis --codebase-path "/path/to/src" --verbose
Что важно знать
- Требуется провайдер LLM. По умолчанию используется OpenAI, для которого нужен ключ API.
- Для векторной индексации нужен провайдер эмбеддингов, если выбранный бэкенд не предоставляет их самостоятельно.
- Поддержка языков различается: для некоторых доступна только базовая проверка.
В подборках
Темы
Частые вопросы
- Что такое 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 обновляется ежедневно.
Похожие проекты
CLI для AI-ревью кода: детерминированный выбор файлов и правил сочетается с LLM-агентом, который оставляет комментарии к конкретным строкам Git diff.
Локальный граф знаний о коде, который помогает AI-инструментам точнее проводить ревью через MCP и CLI.
Навыки для Hermes Agent, которые помогают агенту создавать собственные аналитические промпты («призмы») для каждого артефакта и сообщать как о выводах, так и о неисследованных аспектах.
Открытый AI-ревьюер кода: проверяет pull request на GitHub и изменения в локальных ветках с помощью LLM любого провайдера.
Инструмент для моделирования угроз на базе ИИ: с помощью LLM создает модели угроз STRIDE, деревья атак и рекомендации по снижению рисков.