Contexto
.claude/rules/security.md (seção "prevenir reincidência", regressão de 2026-07-18 da senha
SQL no appsettings.json) define 2 mecanismos técnicos para evitar que segredo em texto plano
volte a ser comitado:
(a) step de CI com gitleaks — já existe, .github/workflows/gitleaks.yml, roda em todo PR
contra develop/master/main.
(b) hook de pre-commit LOCAL com gitleaks/detect-secrets — não existe. Hoje o único freio é
o CI, que só pega o problema depois do push/PR já ter sido aberto (o segredo já passou pelo
histórico local e foi publicado no remoto antes de qualquer scan rodar).
O que falta
Hook de pre-commit (ex.: gitleaks protect --staged ou detect-secrets-hook) que rode local,
antes do commit ser criado, bloqueando o commit se detectar padrão de segredo (connection
string com senha, API key, etc.) no diff staged. Gratuito, sem licença — mesma ferramenta já em
uso no CI, reaproveitando a config existente se possível.
Critério de aceite
Dono natural
@lp-backend-dev (hook local), com apoio possível de @lp-devops se envolver config
compartilhada/distribuição do hook para todos os devs.
Origem
.claude/rules/security.md, seção "Plano de remediação" / "prevenir reincidência" (item 4 do
runbook de 2026-08-15, regressão de 2026-07-18).
Contexto
.claude/rules/security.md(seção "prevenir reincidência", regressão de 2026-07-18 da senhaSQL no
appsettings.json) define 2 mecanismos técnicos para evitar que segredo em texto planovolte a ser comitado:
(a) step de CI com gitleaks — já existe,
.github/workflows/gitleaks.yml, roda em todo PRcontra
develop/master/main.(b) hook de pre-commit LOCAL com gitleaks/detect-secrets — não existe. Hoje o único freio é
o CI, que só pega o problema depois do push/PR já ter sido aberto (o segredo já passou pelo
histórico local e foi publicado no remoto antes de qualquer scan rodar).
O que falta
Hook de pre-commit (ex.:
gitleaks protect --stagedoudetect-secrets-hook) que rode local,antes do commit ser criado, bloqueando o commit se detectar padrão de segredo (connection
string com senha, API key, etc.) no diff staged. Gratuito, sem licença — mesma ferramenta já em
uso no CI, reaproveitando a config existente se possível.
Critério de aceite
.git/hooks/pre-commitversionado ouHusky-equivalente para o stack .NET) que roda gitleaks/detect-secrets sobre o diff staged
.claude/rules/security.md)o fluxo normal
Dono natural
@lp-backend-dev(hook local), com apoio possível de@lp-devopsse envolver configcompartilhada/distribuição do hook para todos os devs.
Origem
.claude/rules/security.md, seção "Plano de remediação" / "prevenir reincidência" (item 4 dorunbook de 2026-08-15, regressão de 2026-07-18).