O Que É Secret Scanning? Pegando Credenciais Antes que Vazem
Secret scanning é a detecção automatizada de credenciais em código, histórico e logs, para que uma chave vazada seja pega e revogada antes que um atacante a encontre.
As pessoas vão commitar secrets por acidente. O secret scanning aceita isso e constrói uma rede de segurança: ferramentas que varrem diffs, histórico completo e até logs em busca de coisas com formato de chaves de API, tokens e chaves privadas. Um scanner que pega um vazamento em minutos transforma uma possível brecha em uma rotação rápida.
Como os scanners encontram secrets
Os scanners usam uma mistura de detecção de alta entropia (strings de aparência aleatória), padrões de regex para formatos conhecidos de credenciais (chaves da AWS, tokens do GitHub, chaves do Stripe) e assinaturas específicas de provedores. Os melhores conhecem o formato exato de centenas de tipos de credenciais.
Onde o scanning roda
- Hooks de pre-commit, antes de um secret sequer deixar um laptop.
- CI a cada push e pull request.
- Varreduras contínuas do repositório completo e de seu histórico.
- Scanning do lado do provedor que alerta o emissor para revogar uma chave vazada.
Ferramentas comuns
Gitleaks, TruffleHog e o secret scanning do GitHub são amplamente usados. Alguns integram com provedores de credenciais para que um token detectado possa ser revogado automaticamente, fechando o ciclo sem ação humana.
Falsos positivos e ruído
Scanners às vezes sinalizam fixtures de teste ou chaves de exemplo. Uma boa prática é ajustar o ruleset, colocar padrões sabidamente seguros em allowlist e tratar achados reais como incidentes: rotacione primeiro, investigue depois.
Scanning como gate de CI
Ligar um secret scan na CI como um check obrigatório significa que um pull request que introduz uma credencial simplesmente não pode fazer merge. Isso desloca a detecção para a esquerda, antes que o secret alcance uma branch compartilhada onde se espalha.
Depois de um acerto: assuma que está queimado
Se um scanner encontra um secret real, trate-o como comprometido mesmo que o commit tenha segundos de vida. Rotacione a credencial imediatamente; limpar o histórico sozinho não basta, porque cópias podem já existir.
Principais conclusões
- O secret scanning detecta credenciais em código, histórico e logs automaticamente.
- Rode-o no pre-commit, na CI como gate e continuamente por todo o repo.
- Um acerto real significa rotacionar o secret imediatamente, não apenas apagar a linha.