
Сканер безопасности для MCP-серверов. Оценивает аутентификацию, разрешения, риски внедрения и безопасность инструментов. Маяк безопасности агентов.
Маяк безопасности агентов.
Сканируйте любой MCP-сервер. Получите табель безопасности.
Ваш MCP-сервер предоставляет инструменты AI-агентам. Насколько он безопасен?
Большинство MCP-серверов поставляются без аутентификации, без разрешений на инструмент, без проверки ввода, а описания инструментов уязвимы для инъекций промптов. Вы просто ещё не знаете об этом.
Сканер AgentsID расскажет вам.
npx @agentsid/scanner -- npx @some/mcp-server
Всё. Вы получаете буквенную оценку и подробные результаты.
| Категория | Что проверяет | Почему это важно |
|---|---|---|
| Инъекции | Описания инструментов на 11 паттернов инъекций промптов | Вредоносные описания инструментов могут захватить поведение агента |
| Разрешения | Имена инструментов, классифицированные по риску (деструктивные, выполнение, финансовые, учётные данные) | 50 инструментов без контроля доступа — это 50 поверхностей атаки |
| Валидация | Схемы ввода на отсутствие ограничений, неограниченные строки, только опциональные параметры | Отсутствие валидации = произвольный ввод для обработчиков инструментов |
| Аутентификация | Индикаторы аутентификации в поверхности инструмента | Инструменты без аутентификации = неаутентифицированные агенты вызывают ваши инструменты |
| Секреты | Инструменты, которые могут раскрывать учётные данные в выводе | Ключи API, токены, пароли, утекшие в ответах |
| Вывод | Нефильтрованный вывод файлов/данных | Чувствительное содержимое файлов возвращается без редактирования |
╔══════════════════════════════════════════════════════════════╗
║ AgentsID Security Scanner — Report ║
╚══════════════════════════════════════════════════════════════╝
Server: my-mcp-server v1.0.0
Tools: 23
Scanned: 2026-03-29T12:00:00.000Z
Overall Grade: D (42/100)
Category Grades:
injection A
permissions F
validation D
auth F
output B
Tool Risk Profile:
destructive ████ 4
execution ██ 2
credential_access █ 1
Findings: 31
CRITICAL: 2
HIGH: 8
MEDIUM: 15
LOW: 6
Recommendations:
1. Address CRITICAL and HIGH findings immediately
2. Add per-tool permission controls (agentsid.dev/docs)
3. Implement input validation on all tool parameters
4. Add authentication to server endpoints
# Scan any npx-installable MCP server
agentsid-scan -- npx @modelcontextprotocol/server-filesystem ./
# Scan a local server file
agentsid-scan -- node my-server.mjs
# Scan a Python MCP server
agentsid-scan -- python -m my_mcp_server
agentsid-scan --url https://mcp.example.com/mcp
agentsid-scan --json -- npx @some/mcp-server > report.json
agentsid-scan --env API_KEY=xxx --env DB_URL=postgres://... -- node server.mjs
Начало со 100 баллов. Вычеты за каждую находку:
Средние и низкие находки нормализуются по количеству инструментов, чтобы проблема на инструмент (например, отсутствие maxLength у каждого ввода) не накапливалась линейно с размером сервера. 50-инструментный сервер с 50 низкими находками получает ту же оценку, что и 5-инструментный с 5 низкими. Критические и высокие остаются абсолютными — реальные уязвимости вредят независимо от размера сервера.
Сканер проверяет описания инструментов на 11 паттернов инъекций промптов:
Каждый инструмент классифицируется по шаблону имени:
Сканер сообщает вам, что не так. Вот как это исправить:
npm install @agentsid/guard
AgentsID Guard проверяет каждый вызов инструмента на соответствие правилам разрешений перед выполнением. 50 инструментов, 16 категорий — все защищены.
npm install @agentsid/sdk
Три строки промежуточного ПО в вашем MCP-сервере. Полная документация на agentsid.dev/docs.
import { scanStdio, scanHttp, scanToolDefinitions } from "@agentsid/scanner";
// Scan a local server
const report = await scanStdio("npx @some/server", { json: true });
// Scan a remote server
const report = await scanHttp("https://mcp.example.com", { json: true });
// Scan tool definitions directly (no server needed)
const report = scanToolDefinitions(myToolArray, { json: true });
Нашли паттерн, который мы не обнаруживаем? Откройте issue или PR. Механизм правил находится в src/rules.mjs — добавление нового паттерна — это один regex.
Все 15 982 сервера оценены и доступны для поиска: agentsid.dev/registry
MIT
| Серьёзность | Вычет | Нормализация | Лимит |
|---|
| КРИТИЧЕСКИЙ | -25 каждый | Абсолютный — всегда полный | Без лимита |
| ВЫСОКИЙ | -15 каждый | Абсолютный — всегда полный | -45 макс. |
| СРЕДНИЙ | -8 каждый | Делится на √(количество инструментов) | -25 макс. |
| НИЗКИЙ | -3 каждый | Делится на √(количество инструментов) | -15 макс. |
| INFO | 0 | — | — |
| Оценка | Баллы | Значение |
|---|
| A | 90–100 | Отличная безопасность |
| B | 75–89 | Хорошо — незначительные проблемы |
| C | 60–74 | Приемлемо — требуется улучшение |
| D | 40–59 | Плохо — значительные риски |
| F | 0–39 | Провал — критические уязвимости |
| Уровень риска | Паттерны | Примеры инструментов |
|---|
| Критический | execute, shell, admin, sudo, payment | shell_run, admin_reset, process_payment |
| Высокий | delete, remove, drop, deploy, credential | delete_user, deploy_prod, get_api_key |
| Средний | create, update, send, write | create_issue, send_email, write_file |
| Информационный | read, get, list, search, describe | get_status, list_users, search_docs |