env-secret-exposure-analyzer-mcp
Escanea proyectos en busca de riesgos de exposición de secretos en archivos .env y registros
Documentación
🔐 env-secret-exposure-analyzer-mcp
Tu agente de IA está a una sesión de depuración de filtrar tus secretos.
Servidor MCP que escanea tu proyecto en busca de riesgos de exposición de secretos: claves API hardcodeadas, archivos .env sin protección y llamadas console.log que imprimen credenciales en tiempo de ejecución. Antes de que tu agente las lea accidentalmente en voz alta.
🤔 El problema
Le pides a tu agente de IA que depure un problema de configuración. Lee src/config.ts. Dentro:
console.log('Config loaded:', JSON.stringify(config));
console.log(process.env.DATABASE_PASSWORD);
El agente ahora tiene tu contraseña de base de datos en su contexto. Podría registrarla, incluirla en un resumen o pasarla a otra herramienta. Y tu .env no está en .gitignore, así que el próximo git push hará el resto.
Nada de esto requiere que el agente sea malintencionado. Solo necesita ser útil.
env-secret-exposure-analyzer-mcp detecta esto antes de que ocurra. 🔐
🛠️ Herramientas
scan_for_secrets
Escanea archivos fuente, archivos de configuración y archivos .env en busca de más de 20 patrones de secretos. Devuelve la ruta del archivo, el número de línea, la gravedad y una vista previa enmascarada — nunca el valor completo.
Detecta:
- Claves de acceso AWS + claves secretas
- Tokens de GitHub (
ghp_,gho_,ghs_) - Claves secretas/públicas de Stripe + secretos de webhook (
whsec_) - Claves API de Anthropic y OpenAI
- SendGrid (
SG.xxx), token de autenticación de Twilio + SID de cuenta - Claves API de Google + secretos de cliente OAuth (
GOCSPX-) - Tokens de Slack (
xox*) - Claves privadas (
-----BEGIN ... PRIVATE KEY-----) - URLs de base de datos con credenciales integradas (
postgres://user:pass@host) - Secretos JWT, secretos de sesión, claves de cifrado
- DSN de Sentry, clave API de Datadog
- Contraseñas, secretos y tokens hardcodeados genéricos
Secret Scan Results
Project: /project
Files scanned: 24
Findings: 5
[CRITICAL] .env:3 — AWS Access Key
Preview: AKIA****MPLE
[CRITICAL] .env:7 — Database URL with password
Preview: post****sswd
[CRITICAL] src/auth.ts:12 — Hardcoded JWT secret
Preview: my-s****ecret
[HIGH] .env:14 — Hardcoded session secret
Preview: sess****key!
[MEDIUM] .env:28 — Sentry DSN
Preview: http****7890
check_gitignore_coverage
Verifica si los archivos sensibles (.env, .env.local, secrets.json, claves privadas, certificados) están cubiertos por .gitignore. Señala archivos que podrían ser confirmados accidentalmente.
Gitignore Coverage Check
Project: /project
✗ .env → Add to .gitignore: .env
✗ .env.local → Add to .gitignore: .env.local
✓ secrets.json
scan_for_log_leaks
Escanea archivos fuente en busca de llamadas console.log / logger que impriman variables process.env u objetos con nombres que suenen a secretos en tiempo de ejecución. Detecta los errores más comunes de "es solo una línea de depuración".
Log Leak Scan
Project: /project
Files scanned: 18
Findings: 3
[CRITICAL] src/config.ts:8
console.log("Config loaded:", JSON.stringify(config));
[HIGH] src/server.ts:42
console.log(process.env.AWS_SECRET_ACCESS_KEY);
[HIGH] src/db.ts:15
logger.info({ password: dbConfig.password });
🧪 Cómo se ve en la práctica
Un .env realista con 20 secretos — URLs de base de datos, AWS, Stripe, Twilio, SendGrid, Google OAuth, Sentry, secretos JWT, claves de cifrado. Antes de este MCP: un agente de IA lee el archivo, no tiene idea de qué es sensible y procede a usar esos valores en código generado o respuestas.
Después de una llamada a scan_for_secrets: 16 hallazgos, todos categorizados por gravedad, todas las vistas previas enmascaradas. El agente sabe exactamente qué es peligroso antes de tocar nada.
⚡ Configuración
{
"mcpServers": {
"secret-scanner": {
"command": "npx",
"args": ["-y", "env-secret-exposure-analyzer-mcp"]
}
}
}
🚀 Uso
"Escanea este proyecto en busca de secretos o claves API que puedan estar expuestos. Verifica si los archivos .env están en .gitignore y busca llamadas console.log que puedan estar filtrando credenciales."
El agente ejecuta las tres herramientas en secuencia e informa un panorama completo: qué está hardcodeado, qué no está protegido, qué se está registrando.
Funciona muy bien junto con:
- tsconfig-inheritance-flattener-mcp — para análisis de configuración de TypeScript
- release-readiness-triage-mcp — para triaje de CI antes del lanzamiento
- ast-impact-mapper-mcp — para correlación código→pruebas
📦 Enlaces
- npm: npmjs.com/package/env-secret-exposure-analyzer-mcp
- GitHub: github.com/vola-trebla/env-secret-exposure-analyzer-mcp
Licencia
MIT