
Сканер безопасности для ИИ-агентов, серверов MCP и навыков агентов.
<p align="center"> <h1 align="center"> Snyk Agent Scan </h1> </p> <p align="center"> Обнаруживайте и сканируйте компоненты агентов на вашей машине на предмет prompt-инъекций<br/> и уязвимостей (включая агентов, MCP-серверы, навыки). </p> > **Примечание:** Мы не публикуем npm-пакет для Agent Scan. Установите его через [`uvx`](#run-with-uvx) или как [автономный бинарный файл](#run-with-a-standalone-binary). > **Примечание: вывод CLI является экспериментальным и может измениться** > > **Agent Scan v0.5.x (планируется к устареванию)** > > Необработанный вывод этого CLI — включая коды проблем, имена полей, метки серьёзности и структуру ответа — является экспериментальным и может измениться без предупреждения между релизами. Мы не рекомендуем строить производственные рабочие процессы, зависящие от конкретных полей вывода CLI или кодов проблем. > > **Agent Scan v0.6 и более поздние версии** > > Необработанный вывод этого CLI — включая имена индикаторов риска, оценки, имена полей и структуру ответа — является экспериментальным и может измениться без предупреждения между релизами. Мы не рекомендуем строить производственные рабочие процессы, зависящие от конкретных полей вывода CLI или имён рисков. > > Если вы корпоративный клиент, использующий Snyk для управления рисками безопасности агентов в масштабе, вывод CLI может не отражать то, что отправляется и отображается на платформе Evo. Базовая интеграция, обнаружение и оценка рисков, обеспечивающие корпоративные развёртывания, стабильны и поддерживаются — любые изменения будут доведены до сведения в соответствии со стандартными практиками продуктов Snyk. Свяжитесь с вашей командой по работе с клиентами для получения рекомендаций по развёртыванию. > **НОВОЕ** Прочитайте наш [технический отчёт о возникающих угрозах экосистемы навыков агентов](https://github.com/snyk/agent-scan/blob/main/.github/reports/skills-report.pdf), опубликованный вместе с Agent Scan 0.4, который добавляет поддержку сканирования навыков агентов. <p align="center"> <a href="https://pypi.python.org/pypi/snyk-agent-scan"><img src="https://img.shields.io/pypi/v/snyk-agent-scan.svg" alt="snyk-agent-scan"/></a> <a href="https://pypi.python.org/pypi/snyk-agent-scan"><img src="https://img.shields.io/pypi/l/snyk-agent-scan.svg" alt="snyk-agent-scan license"/></a> <a href="https://pypi.python.org/pypi/snyk-agent-scan"><img src="https://img.shields.io/pypi/pyversions/snyk-agent-scan.svg" alt="snyk-agent-scan python version requirements"/></a> </p> ### Вывод Agent Scan v0.5.x > [!WARNING] > Agent Scan v0.5.x использует вывод с кодами проблем. Эта строка CLI планируется к устареванию. <div align="center"> <img width="1304" height="976" alt="agent-scan-pretty" src="https://assets.kitploit.com/production/public/readmes/721/98fbbb9009fa00bb52906b85514664b3d4834bd558b2b9fb3bce959cfa87a4e8.png" /> </div> ### Вывод Agent Scan v0.6 и более поздних версий <div align="center"> <img width="1000" alt="Agent Scan v0.6 and later report showing scored MCP server and skill risks" src="https://raw.githubusercontent.com/snyk/agent-scan/HEAD/demo-v0.6.svg" /> </div> <br> Agent Scan помогает обнаружить все установленные компоненты агентов (обвязки, MCP-серверы и навыки) и сканирует их на предмет распространённых угроз, таких как prompt-инъекции, обработка конфиденциальных данных или вредоносные полезные нагрузки, скрытые в естественном языке. Игнорируйте анализ навыков с помощью `--no-skills`. ## Предупреждение о безопасности > **⚠️ ВАЖНО: Сканирование конфигураций MCP может выполнять команды или совершать исходящие сетевые запросы.** > > Для получения описаний инструментов Agent Scan запускает stdio MCP-серверы, выполняя команды из конфигурации, и подключается к настроенным URL удалённых MCP-серверов с их настроенными заголовками. > > **Рекомендации:** > - **Запускайте сканирование внутри песочницы** (Docker-контейнер, виртуальная машина или одноразовая среда) при оценке недоверенных или сторонних конфигураций MCP > - **Внимательно изучайте запрос на согласие** во время интерактивного сканирования; в нём отображается команда или удалённый URL для каждого сервера > - **Используйте `--dangerously-run-mcp-servers`** только в доверенных средах, где вы проверили все команды MCP-серверов и удалённые URL > > Удалённые MCP-запросы отклоняют назначения, разрешающиеся в link-local адреса или известные конечные точки облачных метаданных (`169.254.0.0/16`, `fe80::/10`, `fd00:ec2::254` и `100.100.100.200`). Loopback и частные адреса остаются разрешёнными для локальных и внутренних MCP-серверов. HTTP-перенаправления не отслеживаются. DNS проверяется перед каждым запросом, но повторное разрешение во время подключения оставляет окно для DNS-rebinding. > > По умолчанию Agent Scan требует явного согласия пользователя (y/n) перед обращением к каждому обнаруженному MCP-серверу во время интерактивных запусков на переднем плане. Фоновые сканирования и сканирования по push-ключу продолжают автоматически проверять удалённые серверы для покрытия парка, но не запускают stdio-серверы, если не установлен `--dangerously-run-mcp-servers`. ## Быстрый старт Выберите один из двух способов запуска Agent Scan: 1. **Запустите Python-пакет с помощью `uvx`**, следуя инструкциям ниже. 2. **Скачайте автономный бинарный файл** для вашей платформы со страницы [GitHub Releases](https://github.com/snyk/agent-scan/releases). В релизах также содержатся SBOM, контрольные суммы, подписанные контрольные суммы и архивы исходного кода. Перед использованием любого из вариантов: 1. **Зарегистрируйтесь в [Snyk](https://snyk.io)** и получите API-токен на [https://app.snyk.io/account](https://app.snyk.io/account) (API Token → KEY → нажмите, чтобы показать). 2. **Установите токен как переменную окружения** перед запуском любого сканирования: ```bash export SNYK_TOKEN=your-api-token-here ``` ### Запуск с помощью `uvx` Установите [uv](https://docs.astral.sh/uv/getting-started/installation/) в вашей системе. Выберите инструкции для вашей версии CLI. #### Agent Scan v0.5.x В примерах в качестве конкретного релиза v0.5.x закреплена версия v0.5.17: ```bash # Scan the whole machine uvx [email protected] # 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 ``` В версии 0.6 и более поздних используется вывод на основе рисков и API анализа `2026-07-10`. Обе версии сканируют MCP-серверы, инструменты, промпты, ресурсы и навыки, а также автоматически обнаруживают поддерживаемые конфигурации агентов, такие как Claude Code/Desktop, Cursor, Gemini CLI и Windsurf. ### Запуск с помощью автономного бинарного файла Скачайте бинарный файл для вашей операционной системы и архитектуры со страницы [последнего релиза на GitHub](https://github.com/snyk/agent-scan/releases/latest). На странице релиза также доступны SBOM (`sbom-<version>.json`), файлы контрольных сумм и архивы исходного кода, созданные GitHub. См. [Проверка автономных бинарных файлов](#verifying-standalone-binaries), чтобы проверить загруженный файл. ## Основные возможности - Автоматическое обнаружение конфигураций MCP, инструментов агентов, навыков - Сканирование Claude, Cursor, GitHub Copilot, Windsurf, Gemini CLI, Amp, Amazon Q и других агентов. ### Agent Scan v0.5.x - Обнаруживает [более 15 различных рисков безопасности](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md) в MCP-серверах и навыках агентов: - MCP: [Prompt Injection](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#E001), [Tool Poisoning](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#E001), [Tool Shadowing](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#E002), [Toxic Flows](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#ToxicFlows) - Навыки: [Prompt Injection](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#E004), [Malware Payloads](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#E006), [Untrusted Content](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#W011), [Credential Handling](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#W007), [Hardcoded Secrets](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#W008) ### Agent Scan v0.6 и более поздние - Обнаруживает [14 различных рисков безопасности](https://github.com/snyk/agent-scan/blob/main/docs/risks.md) в MCP-серверах и навыках агентов: - MCP: [Prompt injection](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#prompt_injection_tool_desc), [untrusted content](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#untrusted_content), [private data](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#private_data) и [destructive capabilities](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#destructive_capabilities) - Навыки: [prompt injection](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#prompt_injection_skill_instructions), [suspicious downloads](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#suspicious_download_url), [malicious code](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#malicious_code), [credential handling](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#insecure_credential_handling), [secret detection](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#secret_detection) и другие ## Поддерживаемые агенты и возможности 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** у агента нет такого компонента в этой области. | Агент | Системные<br>навыки | Системные<br>серверы | Пользовательские<br>навыки | Пользовательские<br>серверы | Проект / РО<br>навыки | Проект / РО<br>серверы | Расш. / плагин<br>навыки | Расш. / плагин<br>серверы | | --- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | 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 | ✓ | ✓ | | 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, который читает те же файлы. Обнаружение плагинов Claude Desktop поддерживается на macOS и Linux. Для Claude Code события установки и обнаружения при запуске сессии Guard также сообщают о подключённых коннекторах из `claude-code-sessions/*/*/local_*.json` и `local-agent-mode-sessions/*/*/local_*.json`, сгруппированных по организации и дедуплицированных по UUID коннектора с использованием самых новых метаданных сессии. Отправляются только UUID, имя, URL, определения инструментов и инструкции каждого коннектора; другие поля, такие как заголовки, отбрасываются, а значения параметров URL редактируются. В Windows обнаружение коннекторов использует `~/AppData/Roaming/Claude` с той же предполагаемой структурой сессий, которая ещё не была проверена на машине с Windows. Обнаружение плагинов в Windows остаётся неподдерживаемым. ## Проверка автономных бинарных файлов Мы используем GPG-подпись файла контрольных сумм релиза для обеспечения целостности и подлинности распространения. ### Пошаговое руководство по проверке 1. **Скачайте ресурсы релиза:** Скачайте бинарный файл для вашей платформы (например, `agent-scan-<version>-<os>-<arch>`) и подписанный файл контрольных сумм (`sha256sums.txt.asc`) со страницы [GitHub Releases](https://github.com/snyk/agent-scan/releases) в один и тот же каталог. 2. **Проверьте GPG-подпись файла контрольных сумм:** Скачайте [публичный ключ GPG](https://github.com/snyk/agent-scan/blob/main/help/_about-this-project/snyk-code-signing-public.pgp) в тот же каталог, затем выполните: ```bash gpg --import snyk-code-signing-public.pgp gpg --verify sha256sums.txt.asc ``` Найдите в выводе строку `gpg: Good signature from "Snyk Limited <[email protected]>"`. 3. **Проверьте целостность бинарного файла:** После подтверждения действительности подписи проверьте, что скачанный бинарный файл соответствует контрольной сумме: * **В Linux (или macOS с `coreutils`):** ```bash grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | sha256sum -c - ``` * **В macOS (с использованием стандартного `shasum`):** ```bash grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | shasum -a 256 -c - ``` Это выведет `agent-scan-<version>-<os>-<arch>: OK`. ## Возможности сканера ### Agent Scan v0.5.x Agent Scan — это инструмент безопасности для сканирования и проверки цепочки поставок компонентов агентов на вашей машине. Он ищет распространённые уязвимости безопасности, такие как внедрение подсказок (prompt injection), отравление инструментов (tool poisoning), токсичные потоки (toxic flows) или уязвимости в навыках агентов. ### Agent Scan v0.6 и новее Agent Scan сообщает о оценённых индикаторах риска для таких угроз, как внедрение подсказок, доступ к недоверенным или приватным данным, деструктивные возможности и вредоносные навыки агентов. Agent Scan работает в двух основных режимах, которые можно использовать совместно или по отдельности: 1. **Режим сканирования**: CLI-команда `snyk-agent-scan` сканирует текущую машину на наличие агентов и компонентов агентов, таких как навыки и MCP-серверы. По завершении она выводит подробный отчёт для ознакомления пользователем. 2. **Фоновый режим** (MDM). Agent Scan сканирует машину через регулярные интервалы в фоновом режиме и отправляет результаты в экземпляр [Snyk Evo](https://evo.ai.snyk.io). Это может использоваться командами безопасности для централизованного мониторинга цепочки поставок агентов в масштабах компании. Чтобы настроить это, пожалуйста, [свяжитесь с нами](https://evo.ai.snyk.io/#contact-us). ## Как это работает ### Сканирование Agent Scan ищет в локальных конфигурационных файлах вашего агента, чтобы найти агентов, навыки и MCP-серверы. Для MCP он подключается к серверам и получает описания инструментов. #### Интерактивное согласие для MCP-серверов > **⚠️ Примечание по безопасности**: Сканирование конфигурации MCP может выполнить её stdio-команды или отправить исходящие запросы на её удалённые URL-адреса. Всегда проверяйте, с чем будет установлен контакт, прежде чем одобрять. По умолчанию Agent Scan запрашивает согласие пользователя перед подключением к каждому обнаруженному MCP-серверу во время интерактивных запусков. Этот процесс согласия: - Показывает имя сервера и его команду или удалённый URL-адрес; переменные окружения и заголовки скрываются - Позволяет одобрить или отклонить каждый сервер по отдельности - Предотвращает подключение к потенциально недоверенным серверам без вашего явного разрешения - Записывает отклонённые серверы с ошибкой `user_declined` (к ним никогда не происходит подключение) **Лучшие практики:** - Внимательно проверяйте команды, аргументы и удалённые URL-адреса перед одобрением - При сканировании недоверенных или сторонних конфигураций MCP запускайте Agent Scan в песочнице (Docker, виртуальная машина или одноразовая среда) - Отклоняйте любые серверы с незнакомыми или подозрительными командами Неинтерактивные среды (например, фоновые сканирования и сканирования с push-ключом) автоматически проверяют удалённые MCP-серверы. Они не запускают stdio-серверы, если не установлен флаг `--dangerously-run-mcp-servers`. **Используйте этот флаг только в доверенных средах, где все команды MCP-серверов и удалённые URL-адреса были проверены.** #### Анализ и валидация Agent Scan проверяет обнаруженные компоненты с помощью локальных проверок и API Agent Scan. Он отправляет информацию о компонентах, необходимую для анализа, включая сведения о приложении-агенте, конфигурации и подписи MCP-серверов, имена и описания инструментов, а также содержимое навыков. Секреты в значениях конфигурации и тексте скрываются перед передачей. Используя Agent Scan, вы соглашаетесь с [условиями использования Agent Scan](https://github.com/snyk/agent-scan/blob/main/TERMS.md) от Snyk. Agent Scan не хранит и не регистрирует какие-либо данные об использовании, то есть содержимое и результаты ваших вызовов инструментов MCP. ## Параметры CLI Полный справочник флагов находится в [docs/cli-reference.md](https://github.com/snyk/agent-scan/blob/main/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 contact all configured 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 и более поздних версий](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md#agent-scan-v06-and-later), [справочник по рискам](https://github.com/snyk/agent-scan/blob/main/docs/risks.md) и [справочник по кодам ошибок](https://github.com/snyk/agent-scan/blob/main/docs/failure-codes.md). ### Примеры ```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"], }, }, } ``` 3. Запустите соответствующую версию: - 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` Примечание: если вы разместите файл конфигурации `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](https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks) - [Эксплуатация WhatsApp MCP](https://invariantlabs.ai/blog/whatsapp-mcp-exploited) - [Инъекция промптов в MCP](https://simonwillison.net/2025/Apr/9/mcp-prompt-injection/) - [Анализ токсичных потоков](https://invariantlabs.ai/blog/toxic-flow-analysis) - [Отчёт о навыках](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).