
agent-scan v0.6.4-snapshot-6e2d290-1638
Сканер безопасности для ИИ-агентов, серверов MCP и навыков агентов.
Snyk Agent Scan
Обнаруживайте и сканируйте компоненты агентов на вашей машине на предмет prompt-инъекций
и уязвимостей (включая агентов, MCP-серверы, навыки).
Примечание: Мы не публикуем npm-пакет для Agent Scan. Установите его через
uvxили как автономный бинарный файл.
Примечание: вывод CLI является экспериментальным и может изменяться
Agent Scan v0.5.x (планируется к устареванию)
Необработанный вывод этого CLI — включая коды проблем, имена полей, метки серьёзности и структуру ответа — является экспериментальным и может изменяться без предупреждения между релизами. Мы не рекомендуем строить производственные рабочие процессы, зависящие от конкретных полей вывода CLI или кодов проблем.
Agent Scan v0.6 и более поздние версии
Необработанный вывод этого CLI — включая имена индикаторов риска, оценки, имена полей и структуру ответа — является экспериментальным и может изменяться без предупреждения между релизами. Мы не рекомендуем строить производственные рабочие процессы, зависящие от конкретных полей вывода CLI или имён рисков.
Если вы корпоративный клиент, использующий Snyk для управления рисками безопасности агентов в масштабе, вывод CLI может не отражать то, что отправляется и отображается на платформе Evo. Базовая интеграция, обнаружение и оценка рисков, обеспечивающие корпоративные развёртывания, стабильны и поддерживаются — любые изменения будут доведены до сведения в соответствии со стандартными практиками продуктов Snyk. Свяжитесь с вашей командой по работе с клиентами для получения рекомендаций по развёртыванию.
НОВОЕ Прочитайте наш технический отчёт о возникающих угрозах экосистемы навыков агентов, опубликованный вместе с Agent Scan 0.4, который добавляет поддержку сканирования навыков агентов.
Вывод Agent Scan v0.5.x
[!WARNING] Agent Scan v0.5.x использует вывод с кодами проблем. Эта строка CLI планируется к устареванию.
Вывод Agent Scan v0.6 и более поздних версий
Agent Scan помогает обнаружить все установленные компоненты агентов (обвязки, MCP-серверы и навыки) и сканирует их на предмет распространённых угроз, таких как prompt-инъекции, обработка конфиденциальных данных или вредоносные полезные нагрузки, скрытые в естественном языке. Игнорируйте анализ навыков с помощью --no-skills.
Предупреждение о безопасности
⚠️ ВАЖНО: Сканирование конфигураций MCP приведёт к выполнению определённых в них команд.
Когда Agent Scan сканирует файл конфигурации MCP, он запускает stdio MCP-серверы, выполняя команды и аргументы, указанные в конфигурации. Это необходимо для получения описаний инструментов и выполнения анализа безопасности.
Рекомендации:
- Запускайте сканирование внутри песочницы (Docker-контейнер, виртуальная машина или одноразовая среда) при оценке недоверенных или сторонних конфигураций MCP
- Внимательно изучайте запрос на согласие во время интерактивного сканирования — он показывает точную команду и аргументы, которые будут выполнены для каждого сервера
- Используйте
--dangerously-run-mcp-serversтолько в доверенных средах, где вы проверили все команды MCP-серверовПо умолчанию Agent Scan требует явного согласия пользователя (y/n) перед запуском каждого stdio MCP-сервера во время интерактивных запусков. Это даёт вам контроль над тем, что выполняется в вашей системе.
Быстрый старт
Выберите один из двух способов запуска Agent Scan:
- Запустите Python-пакет с помощью
uvx, следуя инструкциям ниже. - Скачайте автономный бинарный файл для вашей платформы со страницы GitHub Releases. В релизах также содержатся SBOM, контрольные суммы, подписанные контрольные суммы и архивы исходного кода.
Перед использованием любого из вариантов:
- Зарегистрируйтесь в Snyk и получите API-токен на https://app.snyk.io/account (API Token → KEY → нажмите, чтобы показать).
- Установите токен как переменную окружения перед запуском любого сканирования: ```bash
export SNYK_TOKEN=your-api-token-here
Запуск с помощью uvx
Установите uv в вашей системе. Выберите инструкции для вашей версии CLI.
Agent Scan v0.5.x
В примерах зафиксирована версия v0.5.17 как конкретный релиз из линейки v0.5.x:```bash
Scan the whole machine
Scan a specific MCP configuration
uvx [email protected] ~/.vscode/mcp.json
Scan a single agent skill
uvx [email protected] ~/path/to/my/SKILL.md
Scan all Claude skills
uvx [email protected] ~/.claude/skills
> [!WARNING]
> В v0.5.x используется вывод issue-code и API анализа `2025-09-02`. Эта линейка CLI запланирована к устареванию.
#### Agent Scan v0.6 и новее```bash
# Scan the whole machine
uvx snyk-agent-scan@latest
# Scan a specific MCP configuration
uvx snyk-agent-scan@latest ~/.vscode/mcp.json
# Scan a single agent skill
uvx snyk-agent-scan@latest ~/path/to/my/SKILL.md
# Scan all Claude skills
uvx snyk-agent-scan@latest ~/.claude/skills
v0.6 и более поздние версии используют вывод на основе рисков и API анализа 2026-07-10.
Обе версии сканируют MCP-серверы, инструменты, промпты, ресурсы и навыки, а также автоматически обнаруживают поддерживаемые конфигурации агентов, такие как Claude Code/Desktop, Cursor, Gemini CLI и Windsurf.
Запуск с помощью автономного бинарного файла
Скачайте бинарный файл для вашей операционной системы и архитектуры со страницы последнего релиза на GitHub. На странице релиза также доступны SBOM (sbom-<version>.json), файлы контрольных сумм и созданные GitHub архивы исходного кода. См. Проверка автономных бинарных файлов, чтобы проверить загруженный файл.
Основные возможности
- Автоматическое обнаружение конфигураций MCP, инструментов агентов, навыков
- Сканирование Claude, Cursor, GitHub Copilot, Windsurf, Gemini CLI, Amp, Amazon Q и других агентов.
Agent Scan v0.5.x
- Обнаруживает 15+ различных рисков безопасности в MCP-серверах и навыках агентов:
Agent Scan v0.6 и более поздние версии
- Обнаруживает 14 различных рисков безопасности в MCP-серверах и навыках агентов:
Поддерживаемые агенты и возможности
Agent Scan автоматически обнаруживает агентов и их возможности (MCP-серверы или навыки), когда существуют пути их установки. В таблице ниже показано, в каких операционных системах сканируется каждый агент.
- ✓: для этой возможности определён хотя бы один путь.
- ✗: агент указан для этой ОС, но не имеет путей для этой возможности.
- —: этот агент не включён для этой ОС.
- Навыки Навыки можно игнорировать с помощью
--no-skills
| Агент | macOS MCP | macOS Навыки | Linux MCP | Linux Навыки | Windows MCP | Windows Навыки |
|---|---|---|---|---|---|---|
| Windsurf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Cursor | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| VS Code | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GitHub Copilot | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Claude Desktop | ✓ | ✗ | — | — | ✓ | ✗ |
| Claude Code | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Gemini CLI | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OpenClaw | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
| Amp | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
| Kiro | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OpenCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Antigravity | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Codex | ✓ | ✓ | ✓ | ✓ | — | — |
| Amazon Q | ✓ | ✗ | ✓ | ✗ | ✓ (WSL) | ✗ |
Покрытие обнаружения по областям
Матрица выше показывает, в каких операционных системах сканируется каждый агент. Эта матрица разбивает обнаружение по области конфигурации и типу компонента (навыки против MCP-серверов), объединённым по операционным системам. «Серверы» означает MCP-серверы.
Четыре области:
- Системная — конфигурация уровня машины / управляемая администратором / корпоративная, применяемая ко всем пользователям (например,
managed-mcp.json, файлы в/etc,/Library/Application SupportилиProgramData). - Пользовательская — конфигурация в домашнем каталоге пользователя (применяется ко всем его проектам).
- Проект / рабочая область — конфигурация, ограниченная открытым проектом или рабочей областью.
- Расширение / плагин — компоненты, входящие в состав установленных расширений или плагинов.
Легенда: ✓ обнаружено · ✗ агент поддерживает это, но Agent Scan пока это не сканирует · N/A у агента нет такого компонента в этой области.
| Агент | Системные навыки | Системные серверы | Пользовательские навыки | Пользовательские серверы | Проект / РО навыки | Проект / РО серверы | Расш. / плагин навыки | Расш. / плагин серверы |
|---|---|---|---|---|---|---|---|---|
| Windsurf | ✓ | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Cursor | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| VS Code | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GitHub Copilot § | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Claude Desktop | N/A | N/A | ✗ | ✓ | N/A | N/A | N/A | ✗ |
| Claude Code | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Gemini CLI | N/A | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
| OpenClaw | N/A | N/A | ✓ | ✗ | ✓ † | N/A | ✗ | ✗ |
| Amp | N/A | ✗ | ✓ | ✗ | ✗ ‡ | ✗ | ✗ | ✗ |
| Kiro | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OpenCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | N/A | N/A |
| Antigravity | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Codex | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Amazon Q | N/A | N/A | N/A | ✓ | N/A | ✗ | N/A | N/A |
† У OpenClaw нет перечисления открытых проектов: его навыки проекта/рабочей области находятся только по фиксированному пути ~/.openclaw/workspace/skills
‡ Amp хранит навыки проекта/рабочей области в .agents/skills (и в пути совместимости .claude/skills); сегодня обнаруживается только пользовательская область ~/.config/agents/skills, поэтому навыки уровня проекта поддерживаются, но пока не сканируются.
§ GitHub Copilot охватывает CLI и десктопное приложение, которые совместно используют домашний каталог ~/.copilot с Copilot в VS Code, и обнаруживается из этого домашнего каталога, а не из установки VS Code. Перемещения COPILOT_HOME учитываются при сканировании вашего собственного домашнего каталога. Область проекта охватывает относительные к репозиторию файлы .mcp.json / .github/mcp.json и каталоги .github/skills, .claude/skills и .agents/skills для папок, переданных в сканирование, и каталогов, которые Copilot записал в permissions-config.json, а также их родительские каталоги. Область плагинов охватывает ~/.copilot/installed-plugins, включая манифесты plugin.json, которые перемещают свою конфигурацию MCP или объявляют дополнительные корни навыков. Не сканируется: корни проектов для отдельных сессий в session-state/*/workspace.yaml. Пользовательские пути Copilot также перечислены в разделе VS Code, который читает те же файлы.
Проверка автономных бинарных файлов
Мы используем GPG-подпись файла контрольных сумм релиза для обеспечения целостности и подлинности распространения.
Пошаговое руководство по проверке
-
Скачайте ресурсы релиза: Скачайте бинарный файл для вашей платформы (например,
agent-scan-<version>-<os>-<arch>) и подписанный файл контрольных сумм (sha256sums.txt.asc) со страницы GitHub Releases в один и тот же каталог. -
Проверьте GPG-подпись файла контрольных сумм: Скачайте публичный ключ GPG в тот же каталог, затем выполните: ```bash gpg --import snyk-code-signing-public.pgp gpg --verify sha256sums.txt.asc
Найдите в выводе строку gpg: Good signature from "Snyk Limited <[email protected]>".
- Проверьте целостность бинарного файла:
После подтверждения действительности подписи проверьте, что загруженный бинарный файл соответствует контрольной сумме:
- В Linux (или macOS с
coreutils):grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | sha256sum -c - - В macOS (с использованием стандартного
shasum):grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | shasum -a 256 -c -
agent-scan-<version>-<os>-<arch>: OK. - В Linux (или macOS с
Возможности сканера
Agent Scan v0.5.x
Agent Scan — это инструмент сканирования безопасности, предназначенный как для сканирования, так и для проверки цепочки поставок компонентов агентов на вашей машине. Он выполняет поиск распространённых уязвимостей безопасности, таких как внедрение подсказок (prompt injection), отравление инструментов (tool poisoning), токсичные потоки (toxic flows) или уязвимости в навыках агентов.
Agent Scan v0.6 и более поздние версии
Agent Scan сообщает о оценённых индикаторах риска для таких угроз, как внедрение подсказок, воздействие недоверенных или приватных данных, деструктивные возможности и вредоносные навыки агентов.
Agent Scan работает в двух основных режимах, которые можно использовать совместно или по отдельности:
-
Режим сканирования: CLI-команда
snyk-agent-scanсканирует текущую машину на наличие агентов и компонентов агентов, таких как навыки и MCP-серверы. По завершении она выводит подробный отчёт для ознакомления пользователем. -
Фоновый режим (MDM). Agent Scan сканирует машину через регулярные интервалы в фоновом режиме и отправляет результаты в экземпляр Snyk Evo. Это может использоваться командами безопасности для централизованного мониторинга цепочки поставок агентов в масштабах компании. Чтобы настроить это, пожалуйста, свяжитесь с нами.
Как это работает
Сканирование
Agent Scan выполняет поиск в конфигурационных файлах вашего локального агента, чтобы найти агентов, навыки и MCP-серверы. Для MCP он подключается к серверам и получает описания инструментов.
Интерактивное согласие для MCP-серверов
⚠️ Примечание по безопасности: Сканирование конфигурации MCP выполняет определённые в ней команды. Всегда проверяйте, что будет выполнено, прежде чем одобрять.
По умолчанию Agent Scan запрашивает согласие пользователя перед запуском каждого stdio MCP-сервера во время интерактивных запусков. Этот процесс согласия:
- Показывает имя сервера, команду и переменные окружения (с замаскированными значениями), которые будут выполнены
- Позволяет одобрить или отклонить каждый сервер по отдельности
- Предотвращает запуск потенциально недоверенных серверов без вашего явного разрешения
- Записывает отклонённые серверы с ошибкой
user_declined(они никогда не запускаются)
Лучшие практики:
- Внимательно проверяйте команду и аргументы перед одобрением
- При сканировании недоверенных или сторонних конфигураций MCP запускайте Agent Scan в песочнице (Docker, виртуальная машина или одноразовая среда)
- Отклоняйте любые серверы с незнакомыми или подозрительными командами
Для неинтерактивных сред (например, конвейеров CI/CD) необходимо использовать флаг --dangerously-run-mcp-servers, чтобы обойти запрос согласия и автоматически запустить все серверы. Используйте этот флаг только в доверенных средах, где все команды MCP-серверов были проверены.
Анализ и валидация
Agent Scan проверяет обнаруженные компоненты с помощью локальных проверок и API Agent Scan. Он отправляет информацию о компонентах, необходимую для анализа, включая сведения о приложении-агенте, конфигурации и подписи MCP-серверов, имена и описания инструментов, а также содержимое навыков. Секреты в значениях конфигурации и тексте маскируются перед передачей.
Используя Agent Scan, вы соглашаетесь с условиями использования Agent Scan от Snyk.
Agent Scan не хранит и не регистрирует какие-либо данные об использовании, то есть содержимое и результаты ваших вызовов инструментов MCP.
Параметры CLI
Полный справочник флагов находится в docs/cli-reference.md. Большинство команд и флагов являются общими для v0.5.x и v0.6 и более поздних версий.
Общие команды```text
snyk-agent-scan scan [CONFIG_FILE...] Scan MCP servers and skills (default) snyk-agent-scan inspect [CONFIG_FILE...] Inspect components without analysis snyk-agent-scan help Display help
### Опции, общие для обеих линий версий
Эти опции существуют как в v0.5.x, так и в v0.6 и более поздних версиях. Их применимость к командам подробно описана в полном справочнике CLI.```text
--storage-file FILE Path to store scan state (default: ~/.mcp-scan)
--analysis-url URL Analysis endpoint; the default API version depends on the CLI version
--verification-H HEADER Additional analysis request header (repeatable)
--mcp-oauth-tokens-path PATH OAuth tokens for protected remote MCP servers
--verbose Enable detailed logging
--print-errors Show error details and tracebacks
--print-full-descriptions Show full entity descriptions without truncation
--json Emit JSON; the response schema depends on the CLI version
--skip-ssl-verify Disable TLS certificate verification
--skills / --no-skills Include skills (default) or skip them
--scan-all-users Scan all readable user home directories
--show-analysis-results Force synchronous analysis so results display for push-key scans
--ci Exit non-zero when findings or operational failures remain
--server-timeout SECONDS MCP connection timeout (default: 10)
--suppress-mcpserver-io BOOL Suppress stdio MCP server stderr
--dangerously-run-mcp-servers Skip consent and start configured stdio MCP servers
--control-server URL Upload destination (repeatable)
--control-server-H HEADER Header for the current control-server block
--control-identifier ID Identifier for the current control-server block
--no-bootstrap Accepted compatibility no-op; does not change behavior
--checks-per-server NUM Accepted compatibility no-op; does not change behavior
Agent Scan v0.5.x
[!WARNING] v0.5.x запланирован к устареванию. В примерах закреплена версия v0.5.17 как конкретный релиз ветки v0.5.x.```text --analysis-url URL Defaults to the 2025-09-02 analysis API --ignore-issues-codes CODES Comma-separated E/W security finding codes and X failure codes to ignore in CI
v0.5.x выдаёт находки с кодами проблем и JSON `ScanPathResult` с ключами по путям. См. [справочник CLI v0.5.x](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md#agent-scan-v05x) и [справочник кодов проблем](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md).
### Agent Scan v0.6 и новее```text
--analysis-url URL Defaults to the 2026-07-10 analysis API
--ignore-risks NAMES Comma-separated risk names to omit from output and CI evaluation
--ignore-failure-codes CODES Comma-separated X codes to omit from CI evaluation
--show-full-discovery List every MCP entity and skill file instead of compact scan summaries
v0.6 и более поздние версии выводят оценённые индикаторы риска и JSON scan_path_responses. Человекочитаемый вывод сканирования по умолчанию компактный; --show-full-discovery расширяет его, не изменяя JSON или вывод inspect. См. справочник по CLI для v0.6 и более поздних версий, справочник по рискам и справочник по кодам ошибок.
Примеры```bash
Scan all known MCP configs and agent skills
snyk-agent-scan
Scan a specific config file or skill
snyk-agent-scan ~/custom/config.json snyk-agent-scan ~/path/to/my/SKILL.md
Inspect without security analysis
snyk-agent-scan inspect
CI mode
snyk-agent-scan --ci --dangerously-run-mcp-servers
## Демонстрация
Этот репозиторий включает уязвимый MCP-сервер, который демонстрирует результаты проверки безопасности Model Context Protocol, о которых сообщает Agent Scan.
Как продемонстрировать результаты проверки безопасности MCP?
1. Клонируйте этот репозиторий
2. Создайте файл конфигурации `mcp.json` в корневом каталоге клонированного git-репозитория со следующим содержимым:```jsonc
{
"mcpServers": {
"Demo MCP Server": {
"type": "stdio",
"command": "uv",
"args": ["run", "mcp", "run", "demoserver/server.py"],
},
},
}
-
Запустите соответствующую версию:
- Agent Scan v0.5.x (вывод в виде issue-code):
uvx --python 3.13 [email protected] scan mcp.json - Agent Scan v0.6 и новее (вывод на основе рисков):
uvx --python 3.13 snyk-agent-scan@latest scan mcp.json
- Agent Scan v0.5.x (вывод в виде issue-code):
Примечание: если вы размещаете файл конфигурации mcp.json в другом месте, измените путь args внутри конфигурации MCP-сервера, чтобы он отражал путь к MCP-серверу (demoserver/server.py), а также команду uvx, которая запускает Agent Scan с правильным путём к mcp.json.
Agent Scan закрыт для внешних вкладов
Agent Scan в настоящее время не принимает внешние вклады.
Мы приветствуем предложения, отчёты об ошибках или запросы на новые функции в виде GitHub issues.
Настройка для разработки
Чтобы запустить Agent Scan из исходного кода, выполните следующие шаги:```bash uv run pip install -e . uv run -m src.agent_scan.cli
## Включение результатов Agent Scan в ваш собственный проект / реестр
Если вы хотите включить результаты Agent Scan в свой собственный проект или реестр, пожалуйста, [свяжитесь с нами](https://evo.ai.snyk.io/#contact-us). Для этой цели предусмотрены специальные API. Использование стандартного API Agent Scan для крупномасштабного сканирования считается злоупотреблением и приведёт к блокировке вашей учётной записи.
## Документация
- [Указатель документации](https://github.com/snyk/agent-scan/blob/main/docs/README.md) — Версионированная документация для обеих линеек CLI.
- [Справочник CLI](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md) — Команды, флаги, опции и переменные окружения для v0.5.x и v0.6-and-later.
- [Сканирование](https://github.com/snyk/agent-scan/blob/main/docs/scanning.md) — Поведение и примеры сканирования для v0.5.x и v0.6-and-later.
- [Вывод JSON](https://github.com/snyk/agent-scan/blob/main/docs/json-output.md) — Вывод v0.5.x с ключами-путями и схема ответа v0.6.
- [Коды проблем](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md) — Справочник по находкам безопасности `E*` и `W*` в v0.5.x.
- [Справочник рисков](https://github.com/snyk/agent-scan/blob/main/docs/risks.md) — Индикаторы рисков безопасности, оценки и поля доказательств в v0.6.
- [Коды сбоев](https://github.com/snyk/agent-scan/blob/main/docs/failure-codes.md) — Сбои операционного обнаружения, инспекции и анализа в v0.6.
## Дополнительные материалы
- [Представляем MCP-Scan](https://invariantlabs.ai/blog/introducing-mcp-scan)
- [MCP Security Notification Tool Poisoning Attacks](https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks)
- [WhatsApp MCP Exploited](https://invariantlabs.ai/blog/whatsapp-mcp-exploited)
- [MCP Prompt Injection](https://simonwillison.net/2025/Apr/9/mcp-prompt-injection/)
- [Toxic Flow Analysis](https://invariantlabs.ai/blog/toxic-flow-analysis)
- [Skills Report](https://github.com/snyk/agent-scan/blob/main/.github/reports/skills-report.pdf)
## Журнал изменений
См. [CHANGELOG.md](https://github.com/snyk/agent-scan/blob/main/CHANGELOG.md).