Git hooks
La forma más segura de mantener un secreto fuera del historial es no dejar que llegue a
commitearse. kovra hooks install coloca un hook de pre-commit en un repo que
escanea el diff staged y falla el commit ante un hallazgo.
Instalarlo
Sección titulada «Instalarlo»Se ejecuta dentro del repositorio que se quiere proteger:
~ % kovra hooks installWrote ./.gitleaks.tomlInstalled the gitleaks pre-commit hook at ./.git/hooks/pre-commit.PS> kovra hooks installWrote ./.gitleaks.tomlInstalled the gitleaks pre-commit hook at ./.git/hooks/pre-commit.Escribe un hook de pre-commit basado en gitleaks
en .git/hooks/pre-commit y un archivo de configuración .gitleaks.toml que se puede ajustar. A partir de ahí,
cada git commit escanea lo que se puso en stage; un probable secreto aborta el commit
antes de que llegue siquiera al historial.
No reemplaza en silencio un hook de pre-commit que ya exista — se reejecuta con
--force para sobrescribir uno existente.
Por qué un hook y el vault
Sección titulada «Por qué un hook y el vault»El vault mantiene los secretos fuera del código desde el principio, y .env.refs contiene
solo direcciones — pero un hook es la última línea de defensa ante el error que todos terminan
cometiendo: pegar un valor real en un archivo “solo por un segundo”. Defensa en profundidad significa
que el commit se bloquea incluso cuando se relaja la disciplina.
Verificaciones relacionadas
Sección titulada «Verificaciones relacionadas»kovra doctorvalida el.env.refsde un proyecto — conviene conectarlo a CI para fallar un build ante un drift.kovra scaffoldpropone un.env.refsa partir del código fuente, de modo que los secretos se conecten por dirección, nunca por valor.