Saltar al contenido
OPS // KITitspentest.sh

R-GIT

gitleaks

Escanea repositorios git y su historial de commits en busca de secretos y credenciales expuestas.

Sitio oficialVolver al catálogo

RESUMEN

Gitleaks (github.com/gitleaks/gitleaks) es un escáner en Go que recorre todo el historial de commits de un repositorio git, no solo el checkout actual, aplicando un amplio conjunto de detectores basados en regex para API keys, claves privadas, tokens y otros patrones de credenciales de proveedores comunes (AWS, GitHub, Slack, Stripe y más).

Al revisar el historial y no solo el árbol de trabajo, detecta secretos que se subieron y luego se 'borraron' en un commit posterior pero nunca se rotaron realmente — un hallazgo común en engagements donde el cliente cree que una clave filtrada se eliminó solo porque ya no aparece en el último commit.

CASOS DE USO

Casos de uso en un engagement

  • 01

    Escanear el historial completo de commits de un repositorio del cliente en busca de API keys y credenciales filtradas.

  • 02

    Ejecutarlo como hook de pre-commit o gate de CI para frenar secretos nuevos antes de que se mergeen.

  • 03

    Confirmar si un secreto 'eliminado' de un commit antiguo se rotó realmente después.

  • 04

    Auditar varios repos de una organización en busca de la misma credencial filtrada reutilizada entre proyectos.

PRIMEROS PASOS

Contra cualquier repositorio git en alcance, para detectar credenciales y claves hardcodeadas que la revisión de código por sí sola suele pasar por alto en el historial.

  1. Confirma qué repositorios (incluido el historial privado, si es accesible) están en alcance para el escaneo de secretos.
  2. Instala gitleaks desde un binario de release, el gestor de paquetes o una imagen de contenedor.
  3. Ejecuta el escaneo contra el clon completo, no solo el checkout más reciente, para cubrir el historial.
  4. Verifica que cada coincidencia marcada sea una credencial válida y viva antes de reportarla, y anota si parece rotada.
  5. Acuerda con el cliente cómo se manejan y divulgan los secretos detectados, ya que el propio informe contendrá valores sensibles.
gitleaks git -v --report-format json --report-path findings.json /path/to/repo

ANTES DE USARLA

Qué revisar antes de lanzarla

Los hallazgos exponen el valor real del secreto en la salida del reporte — maneja y almacena los resultados según el acuerdo de manejo de datos del cliente, no como un hallazgo de texto normal.

Escanear todo el historial saca a la luz secretos en commits de personas que quizá ya no están en la organización; acuerda con el cliente cómo atribuir y divulgar hallazgos históricos.

La detección por regex genera falsos positivos en cadenas de alta entropía que no son secretos (hashes, fixtures de prueba); confirma que cada valor marcado sea una credencial viva antes de reportarlo.

SIGUE EXPLORANDO

Ver toda la fase →