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

npm CI License: MIT

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:


📦 Enlaces

Licencia

MIT