FixVibe
Covered by FixVibehigh

Vazamento de chave API: riscos e remediação em aplicativos da Web modernos

Segredos codificados no código front-end ou no histórico do repositório permitem que invasores se façam passar por serviços, acessem dados privados e incorram em custos. Este artigo aborda os riscos de vazamento secreto e as etapas necessárias para limpeza e prevenção.

CWE-798

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 .env sejam adicionados a .gitignore para 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-repo ou 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.