2025-06-25 23:45:15 -05:00

3.1 KiB

🔍 Gitleaks Pre-commit Hook

Este hook personalizado ejecuta Gitleaks para generar reportes en HTML (usando plantillas) o JSON, con reglas configurables.

🚀 Uso

Agregá este repo en tu .pre-commit-config.yaml:

- repo: https://git.fridu.us/heckyel/gitleaks-pre-commit-hook
  rev: v1.0.0
  hooks:
    - id: gitleaks-template-report
      # Uso básico (reglas por defecto de gitleaks)
      args: ["--format=html"]

      # Con reglas internas desde este repo
      # args: ["--format=html", "--rules-internal"]

      # Con reglas externas
      # args: ["--format=html", "--rules-external", "--config=ruta/a/gitleaks.toml"]

⚠️ Si usás --format=json, no es necesario --template.


🧩 Parámetros disponibles

Parámetro Descripción
--template=NOMBRE Elige la plantilla HTML a usar (por defecto: leet)
--format=html|json Formato de salida del reporte (html por defecto, o json)
--redact Oculta los secretos detectados con *** en el reporte
--force Fuerza la reinstalación de Gitleaks (útil para debugging o versiones rotas)
--version=VERSIÓN Versión de Gitleaks a instalar (por defecto: v8.27.0)
--rules-internal Usa el archivo de reglas interno (rules/gitleaks.toml)
--rules-external Requiere --config para especificar un archivo de reglas externo
--config=archivo Ruta a archivo de reglas personalizado (requiere --rules-external)

Comportamiento de las reglas:

  • Por defecto: Usa solo las reglas incorporadas de gitleaks
  • Con --rules-internal: Usa el archivo de reglas interno
  • Con --rules-external --config=archivo: Usa el archivo de reglas externo especificado

🎨 Plantillas disponibles (--format=html)

Nombre Archivo generado
leet .pre-commit/gitleaks/report/index.html
basic .pre-commit/gitleaks/report/index.html
myspace .pre-commit/gitleaks/report/index.html
w98 .pre-commit/gitleaks/report/index.html
wxp .pre-commit/gitleaks/report/index.html

⚠️ El archivo generado siempre se llama index.html, sin importar la plantilla usada.


📂 Salida esperada

Formato HTML:

.pre-commit/gitleaks/report/
├── index.html

Formato JSON:

.pre-commit/gitleaks/report/
├── report.json

Requisitos

  • Tener gitleaks instalado y disponible en tu PATH
  • El archivo de reglas debe existir solo si se usa con --rules-external

🛠️ Configuración para desarrollo

pre-commit install
pre-commit run --all-files

📝 Licencia

GNUv3 or later