Scans project dependencies for vulnerabilities using npm audit, detecting security issues in package.json dependencies and devDependencies
🔒 MCP Security Scanner
Servidor MCP (Model Context Protocol) para escaneo de vulnerabilidades en código y dependencias. Genera reportes detallados en español con soluciones priorizadas por criticidad.
✨ Características
📦 Escaneo de dependencias usando npm audit
💻 Análisis de código fuente para detectar patrones vulnerables (XSS, eval, etc.)
🔑 Detección de secrets expuestos (API keys, tokens, contraseñas)
🇪🇸 Reportes en español con soluciones detalladas
📊 Priorización por severidad (Crítico → Alto → Medio → Bajo)
📝 Reportes en Markdown fáciles de leer y versionar
📋 Requisitos
Node.js 18.0.0 o superior
npm 9.0.0 o superior
🚀 Instalación
📖 Uso
Con MCP Inspector (Recomendado para pruebas)
Esto abrirá una interfaz web donde puedes:
Conectar al servidor
Listar herramientas disponibles
Ejecutar escaneos de seguridad
Con Claude Desktop / Windsurf
Agrega esta configuración a tu archivo de configuración MCP:
🛠️ Herramientas Disponibles
scan_dependencies
Escanea vulnerabilidades en las dependencias del package.json usando npm audit.
Parámetro | Tipo | Requerido | Descripción |
| string | ✅ | Ruta absoluta al proyecto |
| boolean | ❌ | Incluir devDependencies (default: true) |
Ejemplo:
scan_code_vulnerabilities
Escanea el código fuente buscando patrones de código vulnerable.
Parámetro | Tipo | Requerido | Descripción |
| string | ✅ | Ruta absoluta al proyecto |
| string[] | ❌ | Patrones glob (default: src/**/*.{ts,tsx,js,jsx}) |
Detecta:
XSS (dangerouslySetInnerHTML, innerHTML)
Ejecución de código (eval, new Function)
Almacenamiento inseguro de tokens
Redirecciones abiertas
ReDoS potencial
scan_secrets
Detecta secrets expuestos en el código fuente.
Parámetro | Tipo | Requerido | Descripción |
| string | ✅ | Ruta absoluta al proyecto |
| string[] | ❌ | Patrones glob de archivos |
Detecta:
API Keys (Stripe, Google, GitHub, Slack)
Contraseñas hardcodeadas
Claves privadas
Connection strings de bases de datos
generate_security_report
Genera un reporte completo de seguridad en formato Markdown.
Parámetro | Tipo | Requerido | Descripción |
| string | ✅ | Ruta absoluta al proyecto |
| string | ❌ | Directorio de salida (default: ./reports) |
| string | ❌ | Nombre del proyecto para el reporte |
Ejemplo:
📊 Niveles de Severidad
Nivel | Emoji | Descripción | Acción Requerida |
CRÍTICO | 🔴 | Vulnerabilidad explotable remotamente | Acción inmediata |
ALTO | 🟠 | Riesgo significativo de seguridad | < 24 horas |
MEDIO | 🟡 | Vulnerabilidad con impacto limitado | < 1 semana |
BAJO | 🟢 | Riesgo mínimo | Próximo sprint |
📁 Estructura del Proyecto
🌿 Ramas del Repositorio
Rama | Contenido |
| Código fuente del servidor MCP Security Scanner |
| Proyecto React de prueba con vulnerabilidades intencionales para validar el MCP |
Proyecto de Prueba
La rama test-vulnerable-app contiene una aplicación React + TypeScript con vulnerabilidades intencionales:
📦 Dependencias vulnerables: lodash, axios, minimist, node-fetch con CVEs conocidos
💻 Código vulnerable: XSS, eval(), innerHTML, tokens en localStorage, redirecciones abiertas
🔑 Secrets expuestos: API keys, contraseñas, connection strings
Para usar el proyecto de prueba:
📚 Documentación
Guía de Uso Paso a Paso - Instrucciones detalladas
🔧 Scripts Disponibles
📄 Licencia
MIT