Перейти к содержимому
Экосистема AI Vibe
← Назад к AI Vibe News

Редакция 29 июля 2026 г.

Разборы

MCPRadar: open-source сканер безопасности для MCP-экосистемы

MCPRadar: open-source сканер безопасности для MCP-экосистемы

Подключаете к Cursor или другому агентному стеку сторонние MCP-серверы с доступом к файлам, API и внутренним инструментам — и получаете новую поверхность атаки в описаниях tools, промптах и схемах, которую классические линтеры обычно не смотрят. MCPRadar — open-source сканер, заточенный именно под Model Context Protocol: автор yatuk позиционирует его как способ проверить сервер до того, как агент получит реальные credentials и данные.

Почему MCP-серверы — отдельный класс риска для агентов

MCP-серверы в материале yatuk названы «связующей тканью» между AI-агентами и внешним миром — файловыми системами, базами, API и внутренними тулами. Риск смещается в метаданные протокола: tool poisoning и prompt injection могут прятаться в описаниях capabilities без CVE и привычных overflow-паттернов. Там же приведена отсылка к академическому исследованию примерно 1 900 MCP-серверов: «значимые» проблемы безопасности — примерно в 7% случаев, MCP-специфичное отравление tools — ещё в 5%; название исследования и отдельная ссылка в первичном тексте не указаны.

Для соло-разработчика, который собирает агентный workflow из готовых MCP из реестра, это аргумент не полагаться на «выглядит популярным» как на сигнал безопасности.

Шесть углов сканирования вместо однопроходного линтера

MCPRadar смотрит на сервер с нескольких сторон:

Угол Что проверяется
Protocol inspection Перечисление tools, prompts, resources и templates; server instructions на подозрительный контент
Source analysis Python и JavaScript/TypeScript: SSRF, небезопасная десериализация, command/SQL injection, Trojan Source, расхождения между описанием tool и кодом
Configuration review «Отравленные» MCP- и agent-конфиги, рискованные hooks, избыточно широкие permission grants
Supply chain Загрузка пакетов без выполнения install scripts; сверка зависимостей с OSV; опционально CycloneDX SBOM
Change monitoring Снимки в SQLite, diff во времени; классификация: cosmetic / behavioral / security-relevant
CI integration Вывод JSON, SARIF или CEF; policy-as-code gates для pull requests

Такой срез ближе к реальному MCP-стеку, чем однопроходный SAST по репозиторию в целом.

Угрозы, которые заявлены в материале

Помимо tool poisoning и prompt injection в descriptions, в посте перечислены over-permissioned configurations, SSRF, unsafe deserialization, command/SQL injection, Trojan Source, poisoned MCP/agent files, risky hooks и supply-chain риски в зависимостях. Отдельно отмечен silent drift — незаметные изменения поведения между снимками, когда сервер формально «тот же», но ведёт себя иначе.

Классические сканеры, по формулировке автора, «просто не смотрят туда», куда смотрит MCP — в tools, prompts и schemas, которые сервер отдаёт агенту.

Запуск в соло-workflow: от быстрого scan до CI

Быстрый старт без установки:

uvx mcpradar scan http://localhost:8080

Установка CLI: uv tool install mcpradar или pip install mcpradar, требуется Python 3.11+. Типичные сценарии из поста:

# Локальный stdio-сервер в disposable sandbox
mcpradar scan "python ./server.py" -t stdio --sandbox

# Анализ исходников без выполнения
mcpradar scan-source ./path/to/server

# Проверка опубликованного пакета и дерева зависимостей
mcpradar deps npm:@modelcontextprotocol/server-filesystem

# Diff против предыдущего снимка
mcpradar diff http://localhost:8080

# SARIF для CI
mcpradar scan http://localhost:8080 --format sarif -o mcpradar.sarif

Для агента с MCP в ежедневном цикле разумная последовательность: scan-source или deps до подключения, diff после обновления сервера, SARIF — если репозиторий уже на CI.

Модель доверия: каждый сервер — untrusted input

Сканер трактует каждый целевой сервер как недоверенный ввод. Stdio-команды на хосте не выполняются без явного --allow-host-exec; предпочтительный путь — --sandbox: disposable non-root контейнер, read-only filesystem, dropped capabilities, без host mounts. Source scan скачивает и инспектирует архивы без install scripts и server code; remote fetch ограничен по URL, redirect, size и timeout, с защитой от доступа в private networks. Сетевой доступ контейнеру — только opt-in (--sandbox-network bridge).

Для локального vibe-coding это снижает риск запустить чужой MCP на своей машине без изоляции.

MRS-v1, leaderboard и честные ограничения

Агрегированный MCPRadar Risk Score (MRS-v1) — шкала 0–10 с версионированным сигналом: findings, confidence, server capabilities, dependency risk и доля покрытия сканом. Это risk signal, не доказательство эксплуатируемости; неполный скан помечается incomplete, а не «clean».

Публичный leaderboard публикует воспроизводимые результаты для популярных installable servers из official MCP Registry с ежедневным обновлением; добавление сервера — через scan request issue с review, без автоматического исполнения по запросу. Возможны false positives; атаки только в runtime могут не попасть в point-in-time scan; обфускация обходит static rules — сканер дополняет ручной review, не заменяет его. Лицензия — MIT; проект open to contributions (detection rules, coverage). URL репозитория и номер релиза пакета в первичном тексте не указаны.

Источники

  • yatuk, «MCPRadar: A Security Scanner Built for the MCP Ecosystem» — Dev.to (доступ: 2026-07-28 UTC, публикация: 2026-07-27)