OpenAI confirmó en septiembre de 2026 que sus propios sistemas han estado escaneando GitHub en busca de claves API expuestas, que es una forma elegante de decir que sus agentes estaban leyendo repositorios públicos en busca de secretos antes de que los desarrolladores que los escribieron se dieran cuenta. Ese es solo uno de muchos actores que lo hacen. Si insertas código en GitHub, GitLab o un servidor autohospedado, ejecutar un escáner de secretos localmente antes de cada confirmación es la inversión en seguridad más económica que puedes hacer. Estas son las mejores aplicaciones para escanear claves API expuestas en el escritorio, ya sea que estés auditando un proyecto individual o configurando una política para un equipo.
Qué buscar en una aplicación de escaneo de secretos
- Detectores reales, no solo regex. Una expresión regular que coincida con
api_key = "..."vale casi nada. Los buenos escáneres incluyen detectores por proveedor que no solo reconocen sino que también verifican un token activo. - Soporte del historial de Git. Una clave filtrada que se corrigió hace tres confirmaciones sigue siendo una fuga. El escáner tiene que recorrer el historial de confirmaciones completo, no solo el árbol actual.
- Integración pre-commit. Atrapar la fuga en tu máquina antes del push es órdenes de magnitud más barato que rotar el token después del hecho.
- Control de falsos positivos. Un escáner que reporta 400 hallazgos en un monorepo será ignorado. Busca soporte de lista blanca y ajuste de entropía.
- Salida compatible con CI. La salida SARIF o JUnit significa que la herramienta se conecta a GitHub Actions o GitLab CI sin un contenedor.
Comparación rápida
| Aplicación | Mejor para | Plataformas | Plan gratuito | Precio inicial/mes | Calificación |
|---|---|---|---|---|---|
| TruffleHog | Detección de secretos verificados con credenciales activos | Windows, macOS, Linux | CLI completo | Empresa para escaneo de org | 4.8 |
| Gitleaks | Escaneos locales rápidos con huella pequeña | Windows, macOS, Linux | Completo | Gratuito (código abierto) | 4.7 |
| detect-secrets | Hook pre-commit en el que confía el equipo de seguridad de Yelp | Windows, macOS, Linux | Completo | Gratuito (código abierto) | 4.6 |
| GitGuardian CLI | Paneles administrados sobre escaneo local | Windows, macOS, Linux | Nivel individual gratuito | Precios de equipo bajo solicitud | 4.7 |
| Semgrep | SAST de código amplio que incluye reglas de secretos | Windows, macOS, Linux | Comunidad gratuita | Precios de equipo bajo solicitud | 4.8 |
| Trivy | Escáner todo en uno para imágenes, IaC y repositorios Git | Windows, macOS, Linux | Completo | Gratuito (código abierto) | 4.7 |
| git-secrets | Guardia propia de AWS contra cometer claves AWS | Windows, macOS, Linux | Completo | Gratuito (código abierto) | 4.4 |
Las aplicaciones
1. TruffleHog – mejor para detección de secretos verificados
TruffleHog va más lejos que cualquier otro escáner en esta lista porque no solo detecta una forma de secreto; la verifica. Encuentra un token que se parece a una clave de Stripe, y TruffleHog realmente llamará a la API de Stripe para verificar si la clave sigue siendo válida. Esta única función reduce los falsos positivos a casi cero en una base de código madura y convierte cualquier hallazgo en un incidente que realmente puedes abordar.
Dónde falla: La verificación significa que TruffleHog necesita acceso a Internet saliente. En CI aislado por aire, debes volver al modo de solo detección. La lista de detectores verificados es amplia pero no exhaustiva.
Precios:
- Gratuito: CLI de código abierto, escaneos ilimitados.
- Pago: Nivel Enterprise para escaneo en toda la organización en GitHub, GitLab y Slack.
Plataformas: Windows, macOS, Linux.
Descargar: trufflesecurity.com — Fuente (GitHub)
Conclusión: El valor predeterminado si deseas saber que un token no solo está presente sino que sigue siendo válido.
2. Gitleaks – mejor escáner local rápido
Gitleaks es el escáner de código abierto predeterminado para ejecuciones pre-commit locales. Recorre el historial completo de git, aplica un conjunto de reglas bien mantenido y devuelve hallazgos en JSON o SARIF. En un monorepo de tamaño mediano termina en unos segundos; en una computadora portátil con un disco lento, unos pocos decenas de segundos. Las reglas predeterminadas cubren AWS, GCP, Slack, Stripe y alrededor de 80 otros proveedores.
Dónde falla: Sin verificación activa. Un hallazgo podría ser un secreto real o un fixture de prueba; tú decides.
Precios:
- Gratuito: Todo.
- Pago: Ninguno.
Plataformas: Windows, macOS, Linux.
Descargar: gitleaks.io — Fuente (GitHub)
Conclusión: El escáner que la mayoría de los ingenieros instalan primero.
3. detect-secrets – mejor gancho pre-commit
detect-secrets fue escrito por el equipo de seguridad de Yelp específicamente para el momento “commit-time”. Instálalo como un gancho pre-commit, ejecuta detect-secrets scan --baseline .secrets.baseline una vez para registrar los hallazgos conocidos actualmente, y cada confirmación futura se verifica con esa línea base. Los nuevos secretos no pasan el gancho; los antiguos permanecen marcados para revisión sin bloquear el flujo.
Dónde falla: El recuento de detectores es menor que TruffleHog. El modelo de línea base es poderoso pero requiere una sesión para internalizarlo.
Precios:
- Gratuito: Todo.
- Pago: Ninguno.
Plataformas: Windows, macOS, Linux (basado en Python).
Descargar: github.com/Yelp/detect-secrets
Conclusión: La opción correcta para un equipo que se estandariza en pre-commit.
4. GitGuardian CLI (ggshield) – mejor para paneles administrados
GitGuardian CLI es el lado del desarrollador de la plataforma SaaS de GitGuardian. El CLI escanea repositorios locales e ganchos pre-commit; el lado SaaS monitorea tu organización GitHub pública en tiempo real. Si un exemployado accidentalmente bifurca un repositorio privado, el lado de escaneo público de GitGuardian es lo que lo atrapa antes que un atacante.
Dónde falla: El valor está en la plataforma SaaS. Por sí solo, el CLI no es apreciablemente mejor que Gitleaks. El nivel gratuito es solo para individuos.
Precios:
- Gratuito: Desarrollador individual.
- Pago: Precios de equipo bajo solicitud.
Plataformas: Windows, macOS, Linux.
Descargar: gitguardian.com/ggshield — Fuente (GitHub)
Conclusión: Compra el SaaS si ya necesitas el panel; omite el CLI de otra manera.
5. Semgrep – mejor cuando también deseas SAST
Semgrep es un escáner de análisis estático con un paquete de reglas de secretos activo junto con su biblioteca SAST principal. Si ya ejecutas Semgrep para control de calidad de código o verificaciones de cadena de suministro, agregar el paquete de secretos cuesta casi nada. Las reglas se escriben en un DSL ligero y legible que los desarrolladores realmente mantienen.
Dónde falla: No es el escáner de solo secretos más rápido. Bien en un monorepo de cinco servicios; más lento que Gitleaks en repositorios de gigabytes.
Precios:
- Gratuito: Reglas comunitarias y CLI.
- Pago: Planes de equipo para resultados alojados y conjuntos de reglas Pro.
Plataformas: Windows, macOS, Linux.
Descargar: semgrep.dev — Fuente (GitHub)
Conclusión: Elige esto si deseas escaneo de secretos como parte de un canalización de análisis estático más amplia.
6. Trivy – mejor escáner todo en uno
Trivy comenzó como un escáner de vulnerabilidades de imagen de contenedor y creció un módulo de secretos en el camino. Si ejecutas una herramienta en imágenes de contenedor, Terraform, manifiestos de Kubernetes y repositorios Git, Trivy es la opción obvia. El conjunto de reglas de secretos se superpone mucho con Gitleaks pero el mismo binario escanea tus imágenes Docker también para claves AWS expuestas.
Dónde falla: No es la herramienta más afilada para escaneo solo de repositorio. Trivy brilla cuando tu modelo de amenaza abarca contenedores e infraestructura como código.
Precios:
- Gratuito: Todo.
- Pago: Ninguno.
Plataformas: Windows, macOS, Linux.
Descargar: aquasecurity.github.io/trivy — Fuente (GitHub)
Conclusión: La opción correcta cuando tu CI ya escanea imágenes.
7. git-secrets – mejor guardia solo para AWS
git-secrets es la utilidad que Amazon mantiene para mantener las claves de acceso de AWS y las claves secretas fuera de Git. Se instala como un gancho Git y se niega a aceptar una confirmación que coincida con la forma de la clave AWS. Pequeño, dogmático y de propósito único.
Dónde falla: Enfocado en AWS por defecto. Puedes agregar patrones personalizados pero en ese punto Gitleaks hace lo mismo más integralmente.
Precios:
- Gratuito: Todo.
- Pago: Ninguno.
Plataformas: Windows, macOS, Linux.
Descargar: github.com/awslabs/git-secrets
Conclusión: La opción correcta solo si tu base de código toca AWS y nada más.
Cómo elegir la correcta
Si deseas una herramienta y un comando que atrape secretos en los que puedas actuar inmediatamente, usa TruffleHog. La detección verificada hace que los informes sean confiables.
Si deseas la experiencia pre-commit local más rápida y te sientes cómodo filtrando falsos positivos manualmente, usa Gitleaks.
Si estás implementando una política en toda la empresa con ganchos pre-commit, estandariza en detect-secrets. El modelo de línea base maneja hallazgos heredados sin romper repositorios existentes.
Si necesitas un panel administrado que observe tu organización GitHub pública para filtraciones accidentales, compra GitGuardian.
Si ya ejecutas Semgrep o Trivy en CI, simplemente agrega sus reglas de secretos. No hay razón para instalar un segundo escáner.
Usa git-secrets solo en monorepos pesados de AWS donde nada más encaja.
FAQ
¿Qué escáner de secretos tiene menos falsos positivos? TruffleHog, gracias a su modelo de detector verificado. Si un hallazgo se reporta como verificado, la clave está activa actualmente en el proveedor correspondiente.
¿Puedo ejecutar estos escáneres en un repositorio privado sin exponer el código? Sí. Cada herramienta en esta lista se ejecuta localmente. El código escaneado nunca abandona tu máquina a menos que envíes hallazgos a un servicio administrado a propósito.
¿Son estos escáneres un reemplazo para el escaneo de secretos integrado de GitHub? Son complementarios. GitHub escanea en push; un escáner pre-commit atrapa fugas antes de que lleguen a GitHub en absoluto.
¿Cómo me deshago de un secreto que ya fue confirmado?
Rota la credencial inmediatamente (esa es la única solución real), luego reescribe el historial con git filter-repo o BFG Repo-Cleaner para eliminar el archivo, y realiza un push forzado. Cualquiera que haya clonado el repositorio en el proceso ya lo tiene, así que la rotación es obligatoria.
¿Entienden los escáneres de secretos los archivos cifrados o .env.enc? No. Cualquier cosa opaca al escáner (YAML cifrado con SOPS, archivos env cifrados con GPG, secretos sellados) se omite. Ese es el comportamiento correcto: el escáner solo alerta sobre credenciales en texto plano.