Weaknesses of type CWE-531

2 results

Inclusão de informações sensíveis em código de teste

Ocorre quando credenciais, chaves de API, tokens ou outros dados sensíveis são hardcoded em arquivos de teste ou desenvolvidos localmente e, depois, acabam no repositório de código ou em artefatos de build. O risco é que qualquer pessoa com acesso ao código (devs, terceiros, repositórios públicos vazados) consegue extrair essas credenciais e comprometer sistemas em produção.

Example

Um desenvolvedor cria um teste automatizado com a senha do banco de dados ou token de autenticação escrito diretamente no arquivo de teste para validar a conexão. Esse arquivo é commitado no Git sem se dar conta, e mais tarde alguém clona o repositório ou acessa o histórico e obtém a credencial.

How to mitigate

Use variáveis de ambiente ou arquivos de configuração .env excluídos do versionamento (via .gitignore) para dados sensíveis. Implemente secrets management (como Vault, AWS Secrets Manager ou GitHub Secrets) e faça varredura automática de repositórios com ferramentas como git-secrets ou TruffleHog para detectar credenciais antes do commit.