MCP-Shield

MCP-Shield находит конфигурации MCP, подключается к серверам и ищет в описаниях инструментов скрытые команды, каналы утечки и подмену чужих инструментов

  • 555 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Широкий доступ

Почему такой уровень

  • Запускает команды всех MCP-серверов из ваших настроек, передавая им текущее окружение процесса
  • Читает конфигурационные файлы Cursor, Claude Desktop, Windsurf и VS Code, где часто лежат ключи API
  • С ключом --claude-api-key описания инструментов отправляются в API Anthropic
Все причины и проверки

riseandignite/mcp-shield

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add mcp/mcp-shield

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Запускает команды всех MCP-серверов из ваших настроек, передавая им текущее окружение процесса
  • Читает конфигурационные файлы Cursor, Claude Desktop, Windsurf и VS Code, где часто лежат ключи API
  • С ключом --claude-api-key описания инструментов отправляются в API Anthropic

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

MCP-Shield запускается командой `npx mcp-shield` и проверяет, не отравлены ли установленные у вас MCP-серверы. Сначала он ищет файлы настроек в стандартных местах: `~/.cursor/mcp.json`, `~/.vscode/mcp.json`, `~/.codeium/windsurf/mcp_config.json`, `claude_desktop_config.json` и `settings.json` редактора Code. Другой файл указывают ключом `--path`. Затем для каждого найденного сервера он выполняет настроенную команду или открывает адрес SSE, подключается как MCP-клиент с таймаутом 30 секунд и запрашивает список инструментов. Описания инструментов и схемы параметров проверяются по готовым шаблонам. Скрытые инструкции: приказы вроде «не сообщай пользователю», теги `<instructions>`, `<important>`, `<system>`, `<secret>`, «игнорируй предыдущие указания». Обращение к чувствительным файлам: каталог `~/.ssh`, `.env`, `id_rsa`. Подмена чужих инструментов, когда описание одного меняет поведение другого, и перекрестные нарушения между серверами. Каналы утечки, то есть необязательные параметры с названиями вроде `notes`, `feedback`, `metadata`, `debug`, `extra`. Результат выводится деревом по серверам и инструментам с уровнем HIGH, MEDIUM или LOW и найденными фрагментами. С ключом `--claude-api-key` описания дополнительно уходят в Claude (в коде указана модель `claude-3-7-sonnet-20250219`) для разбора по тем же пяти признакам. Ключ `--safe-list` исключает доверенные серверы из проверки и из поиска перекрестных нарушений. Ключ `--identify-as` выдает сканер за другой клиент, например `claude-desktop`, чтобы проверить, ведет ли себя сервер иначе для разных клиентов.

Для кого. Для разработчиков и специалистов по безопасности, которые подключают к Cursor, Claude Desktop, Windsurf и VS Code сторонние MCP-серверы и хотят проверить их описания до того, как агент им доверится.

Подходит, если

  • Перед подключением нового MCP-сервера нужно проверить, нет ли в описаниях его инструментов скрытых приказов агенту
  • Время от времени нужно пройтись по всем серверам в настройках Cursor, Claude Desktop или Windsurf
  • После обновления MCP-сервера требуется убедиться, что в его инструментах не появились новые параметры для утечки данных
  • Вы пишете свой MCP-сервер и хотите проверить, не похожи ли его описания на атаку
  • Нужно сравнить, как сервер отвечает под разными именами клиента, и выявить подмену поведения

Не подходит, если

  • Серверы из настроек запускать небезопасно: сканер выполняет их команды на вашей машине с вашей средой, поэтому недоверенный сервер сначала запускайте в изолированной среде
  • Нужна проверка во время работы агента: сканер смотрит только описания и не перехватывает вызовы, для этого в каталоге есть HOL Guard
  • Нужны статические правила YARA и разбор кода сервера: сканер читает лишь описания и схемы параметров, а YARA использует mcp-scanner от Cisco
  • Важна свежесть проверки: последние изменения в репозитории сделаны в апреле 2025 года, а шаблоны правил в коде не обновляются

Пример запроса к агенту

Прогони mcp-shield по моим настройкам Cursor и покажи, у каких серверов в описаниях есть скрытые инструкции

MCP

Ограничения

  • Лицензия MIT. Последний коммит датирован апрелем 2025 года, версия пакета 1.0.4, а тестов в репозитории нет.
  • Сканер запускает MCP-серверы из ваших настроек и передает им всю текущую среду процесса вместе с переменными окружения, в том числе с секретами. Для адресов SSE он открывает соединение с сервером. Если команда сервера опасна, проверка ее выполнит.
  • Правила состоят из регулярных выражений по тексту описаний и списка подозрительных имен параметров. Новый прием атаки, не похожий на шаблоны, сканер пропустит. Безобидное описание с фразой вроде «always include» может дать ложное срабатывание.
  • Для дополнительного анализа нужен ключ Anthropic, а API Anthropic из России недоступен. Без ключа работают только шаблоны. Ключ в командной строке остается в истории оболочки.
  • Ключ `--identify-as` меняет только имя клиента при подключении. Ответ сервера на разные имена сканер сам не сравнивает: сопоставлять результаты запусков придется вам.
  • В репозитории лежат учебные вредоносные серверы `bad-mcp-server.js` и `mcp-whatsapp.js` для проверки сканера, запускать их стоит только в изолированной среде.

Как отключить. Постоянного процесса нет: сканер работает, пока идет команда, и ничего не прописывает в настройки агентов. Если ставили глобально, удалите пакет командой `npm uninstall -g mcp-shield`. Кэш `npx` очищает `npm cache clean --force`.

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

Какие файлы настроек сканер находит сам?

Он проверяет `~/.cursor/mcp.json`, `~/.vscode/mcp.json` и `~/.codeium/windsurf/mcp_config.json`. На macOS и Windows добавляются `claude_desktop_config.json` в папке данных Claude и `settings.json` редактора Code, на Linux только `settings.json` редактора Code. Остальные пути указывают ключом `--path`.

Что означает перекрестное нарушение?

Это случай, когда описание инструмента одного сервера пытается изменить работу инструмента другого, например перенаправить сообщения в мессенджере. Сканер ищет упоминания популярных серверов (whatsapp, slack, github, gitlab, gdrive) в описаниях чужих инструментов. Серверы из `--safe-list` в такой проверке не участвуют.

Зачем нужен ключ Anthropic?

С ключом описания инструментов дополнительно разбирает модель по пяти признакам: скрытые инструкции, доступ к чувствительным файлам, подмена инструментов, утечка данных и переопределение поведения. Итоговая оценка выводится рядом с оценкой по шаблонам как AI Risk Level. Без ключа остается разбор по шаблонам.

Как проверить, меняется ли сервер от имени клиента?

Запустите сканер дважды: сначала с обычным именем, затем с ключом `--identify-as claude-desktop` или другим именем клиента, и сравните списки инструментов и описания. Автор называет это проверкой возможной подмены поведения. Автоматически результаты запусков сканер не сравнивает.

На чем сканер построен и какие у него зависимости?

Это пакет Node.js на TypeScript с `@modelcontextprotocol/sdk` для подключения к серверам и `@anthropic-ai/sdk` для необязательного анализа. Вывод оформляют `chalk`, `ora` и `boxen`. Конфигурации читаются через `json5` и `fs-extra`.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

AgentShield проверяет папку .claude на ключи в открытом виде, широкие разрешения, опасные хуки и небезопасные MCP-серверы и ставит оценку от A до F

CLIРасширенный доступ1,3 тыс.Звезды репозитория

MCP-сервер, который дает агенту разбор уязвимостей: данные NVD, EPSS, каталог CISA KEV, связки с MITRE ATT&CK и оценка риска CVE в одном запросе

MCP-серверРасширенный доступ1,6 тыс.Звезды репозитория

x64dbg MCP

x64dbg MCP Server Plugin

Плагин отладчика x64dbg и x32dbg с MCP-сервером на 79 инструментов и 11 командами Claude Code для разбора сбоев, трассировки и дампа памяти

MCP-серверШирокий доступ534Звезды репозитория

MCP-сервер для наступательной безопасности: агент запускает более 150 инструментов пентеста и разведки и ведет автоматическую проверку целей

MCP-серверШирокий доступ13 тыс.Звезды репозитория

MCP Scanner

mcp-scanner

Официальный

Сканер от Cisco AI Defense: проверяет MCP-серверы и их инструменты на угрозы тремя движками, правилами YARA, моделью и API Cisco

CLIРасширенный доступ1,1 тыс.Звезды репозитория

Сканер безопасности для кода от ИИ: секреты, зависимости, MCP и CI, расследование находок с доказательствами и исправления с подтверждением

CLIШирокий доступ861Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
MCP-Shield (эта запись)нет555
MCP Scannerда1 096сканер Cisco AI Defense с тремя движками: правилами YARA, моделью и API Cisco
HOL Guardда964проверяет действия агента во время работы, а не описания серверов, и ждет вашего решения по опасным вызовам

Коротко о README

В репозитории есть описание с командами и ключами, пример вывода с деревом серверов и разбором одной находки, перечень возможностей и случаев применения. Четыре типа атак показаны на коротких примерах кода: отравление описания, подмена чужого инструмента, канал утечки и перекрестное нарушение. В папке `mcp-servers-example` лежат два учебных сервера для проверки сканера, в конце даны ссылки на исследование Invariant Labs, на котором основан проект.

Бейдж для README

Сообщить о проблеме

Foxx AIMCP-Shield
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.