Impacto
O vazamento de segredos como chaves, tokens ou credenciais API pode levar ao acesso não autorizado a dados confidenciais, representação de serviço e perdas financeiras significativas devido ao abuso de recursos [S1]. Depois que um segredo é confirmado em um repositório público ou agrupado em um aplicativo front-end, ele deve ser considerado comprometido [S1].
Causa Raiz
A causa raiz é a inclusão de credenciais confidenciais diretamente no código-fonte ou nos arquivos de configuração que são posteriormente confirmados para controle de versão ou servidos ao cliente [S1]. Os desenvolvedores geralmente codificam chaves por conveniência durante o desenvolvimento ou incluem acidentalmente arquivos .env em seus commits [S1].
Correções de concreto
- Alternar segredos comprometidos: Se um segredo vazar, ele deverá ser revogado e substituído imediatamente. Simplesmente remover o segredo da versão atual do código é insuficiente porque ele permanece no histórico de controle de versão [S1][S2].
- Use variáveis de ambiente: armazene segredos em variáveis de ambiente em vez de codificá-los. Certifique-se de que os arquivos
.envsejam adicionados a.gitignorepara evitar confirmações acidentais de [S1]. - Implementar gerenciamento de segredos: Use ferramentas dedicadas de gerenciamento de segredos ou serviços de cofre para injetar credenciais no ambiente do aplicativo em tempo de execução [S1].
- Limpar histórico do repositório: Se um segredo foi confirmado no Git, use ferramentas como
git-filter-repoou o BFG Repo-Cleaner para remover permanentemente os dados confidenciais de todas as ramificações e tags no histórico do repositório [S2].
Como FixVibe testa isso
FixVibe agora inclui isso em varreduras ao vivo. secrets.js-bundle-sweep passivo baixa pacotes JavaScript de mesma origem e combina chaves, tokens e padrões de credenciais API conhecidos com portas de entropia e espaço reservado. As verificações ao vivo relacionadas inspecionam o armazenamento do navegador, mapas de origem, pacotes de clientes de autenticação e BaaS e padrões de origem de repositório GitHub. A reescrita do histórico do Git continua sendo uma etapa de correção; A cobertura ao vivo do FixVibe concentra-se nos segredos presentes nos ativos enviados, no armazenamento do navegador e no conteúdo atual do repositório.
