0Pricing
Cyber Security Academy · Aula

Varredura de Segredos e Credenciais Codificadas

Impeça que chaves de API e senhas sejam enviadas ao repositório usando git-secrets, gitleaks e hooks de pre-commit.

Varredura de Segredos e Credenciais Codificadas é uma aula grátis de Cyber Security Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cyber Security Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cyber Security Academy inclui 4 aulas no total.

O problema dos segredos incorporados no código

Desenvolvedores acidentalmente confirmam chaves de API, senhas, chaves privadas e tokens em repositórios de código-fonte. Depois de entrarem no histórico do git, eles permanecem mesmo após serem excluídos. Repositórios públicos são rastreados por robôs poucos segundos depois de uma publicação.

O que é confirmado

Segredos comuns encontrados em repositórios:

  • Chaves de acesso da AWS (AKIA...)
  • Tokens de acesso pessoal do GitHub
  • Senhas de banco de dados em arquivos de config
  • Chaves de API do Stripe e de pagamentos
  • Chaves privadas de TLS/SSH
  • URLs de retorno do Slack

Ganchos antes da confirmação para prevenção

Impeça que segredos cheguem ao git desde o início:

# Install gitleaks as a pre-commit hook:
pip install pre-commit
# .pre-commit-config.yaml:
repos:
- repo: https://github.com/zricethezav/gitleaks
  rev: v8.18.1
  hooks:
  - id: gitleaks

Analisando repositórios existentes

Analise os repos existentes em busca de segredos:

# gitleaks: scan entire git history
gitleaks detect --source . --log-opts="--all"

# truffleHog: high-entropy string + regex detection
trufflehog git file://.

# GitHub secret scanning (automatic for public repos)
# Alerts under Security → Secret scanning alerts

Verificação de segredos do GitHub

O GitHub verifica automaticamente os repositórios públicos em busca de padrões conhecidos de segredos (chaves da AWS, tokens do GitHub etc.) e notifica o provedor. Para repos privados, o GitHub Advanced Security amplia esse recurso. Provedores como a AWS revogam as chaves automaticamente quando elas são detectadas.

A solução do .gitignore e seus limites

Adicionar .env ao .gitignore impede confirmações acidentais. Porém, os desenvolvedores ainda podem confirmar segredos em outros arquivos, e o .gitignore não ajuda se o arquivo já tiver sido confirmado. Defesa em profundidade: gitignore + ganchos antes da confirmação + varredura no CI.

Usando variáveis de ambiente

Os segredos nunca devem aparecer no código. Use variáveis de ambiente carregadas em tempo de execução:

# Python:
import os
api_key = os.environ["API_KEY"]

# Node.js with dotenv (for local dev only):
require("dotenv").config()
const apiKey = process.env.API_KEY

# Never commit .env to git

Gerenciadores de segredos

As aplicações de produção devem usar gerenciadores de segredos dedicados:

  • AWS Secrets Manager — rotação automática, acesso controlado pelo IAM
  • HashiCorp Vault — código aberto, empresarial, com muitos backends
  • Azure Key Vault / GCP Secret Manager

Os segredos nunca ficam no código nem em variáveis de ambiente armazenadas no disco.

Rotação de segredos comprometidos

Se um segredo for exposto:

  1. Revogue o segredo imediatamente (antes de investigar)
  2. Verifique os registros de acesso em busca de uso não autorizado
  3. Gere um novo segredo
  4. Atualize todos os sistemas que usam o segredo antigo
  5. Remova-o do histórico do git com git-filter-repo ou BFG Repo Cleaner

Removendo segredos do histórico do Git

Depois de revogar o segredo, remova-o do histórico:

# BFG Repo Cleaner (faster than filter-branch):
java -jar bfg.jar --delete-files .env repo.git
git reflog expire --expire=now --all
git gc --prune=now --aggressive
git push --force
# Note: force push rewrites history - coordinate with team

Segredos nos fluxos de CI/CD

Os sistemas de CI/CD têm seu próprio gerenciamento de segredos:

  • GitHub Actions: segredos armazenados nas configurações do repositório ou da organização → acessados como ${{ secrets.API_KEY }}
  • GitLab CI: variáveis de CI/CD
  • Jenkins: plug-in de credenciais

Oculte os segredos nos registros. Nunca os exiba na saída de depuração.

Verificação rápida: varredura de segredos

Qual é a primeira linha de defesa mais eficaz para impedir que segredos entrem em um repositório?

Recapitulação da lição

Segredos incorporados no git representam um risco crítico — repositórios públicos são rastreados por robôs poucos segundos depois de uma publicação. Prevenção: ganchos antes da confirmação (gitleaks), gitignore. Detecção: truffleHog, verificação de segredos do GitHub. Armazene os segredos em variáveis de ambiente ou em gerenciadores de segredos dedicados (Vault, AWS Secrets Manager). Faça a rotação imediatamente quando forem expostos; remova-os do histórico do git com BFG Repo Cleaner.

Perguntas Frequentes

A aula “Varredura de Segredos e Credenciais Codificadas” é grátis?

Sim — o texto completo de “Varredura de Segredos e Credenciais Codificadas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cyber Security Academy, atualize para CoddyKit PRO. O curso de Cyber Security Academy inclui 4 aulas no total.

O que vou aprender em “Varredura de Segredos e Credenciais Codificadas”?

Impeça que chaves de API e senhas sejam enviadas ao repositório usando git-secrets, gitleaks e hooks de pre-commit. Você pratica Cyber Security Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cyber Security Academy?

Nenhuma experiência prévia é necessária. Cyber Security Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Varredura de Segredos e Credenciais Codificadas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cyber Security Academy?

Sim. Cada aula de Cyber Security Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. SAST e DAST em Pipelines de CI/CD
  2. Análise de Composição de Software (SCA)
  3. Varredura de Segredos e Credenciais Codificadas
  4. Security Champions e Modelagem de Ameaças
← Voltar para Cyber Security Academy