lowCWE-1059A02:2021

Sin Git Hooks de Seguridad

Sin hooks de pre-commit que escaneen en busca de secrets y problemas de seguridad, los desarrolladores pueden accidentalmente pushear API keys y contraseñas al repositorio.

Cómo Funciona

Los hooks de pre-commit corren antes de cada git commit. Un hook de escáner de secrets (Gitleaks, detect-secrets) verifica el diff en staging en busca de patrones que coincidan con API keys, contraseñas y tokens. Atrapa el error antes de que entre al historial de git — donde es permanente y visible para cualquiera con acceso al repo.

Código Vulnerable
// MAL: sin hooks de pre-commit — los secrets pueden ser commiteados accidentalmente
// .git/hooks/ está vacío o no configurado
// package.json no tiene config de husky ni lint-staged
Código Seguro
// BIEN: hook de pre-commit que escanea en busca de secrets
// package.json
{
  "lint-staged": {
    "*": ["gitleaks protect --staged --no-banner"]
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  }
}

Ejemplo Real

La investigación de seguridad de GitHub de 2022 encontró que los incidentes de exposición de secrets donde los desarrolladores accidentalmente commitean API keys representan una porción significativa de todas las brechas basadas en credenciales — y la mayoría podría haber sido prevenida por escaneo de secrets en pre-commit.

Cómo Prevenirlo

  • Instala Husky y configura un hook de pre-commit que corra Gitleaks o detect-secrets
  • También configura tu CI para correr escaneo de secrets en cada push como respaldo
  • Habilita el escaneo de secrets integrado de GitHub y la protección de push en todos los repositorios
  • Agrega un archivo .gitleaksignore para suprimir falsos positivos sin desactivar el escáner

Tecnologías Afectadas

Node.js

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas