Hack Alerta

Pesquisa com 5 milhões de apps revela escala alarmante de segredos vazados em JavaScript

Pesquisa da Intruder em 5 milhões de aplicações revela exposição massiva de segredos como chaves de API e credenciais em pacotes JavaScript front-end, criando uma grave superfície de ataque para invasores.

Pesquisa com 5 milhões de apps revela escala alarmante de segredos vazados em JavaScript

Chaves de API vazadas não são novidade, mas a escala do problema em código front-end tem sido um mistério – até agora. A equipe de pesquisa da Intruder desenvolveu um novo método de detecção de segredos e escaneou 5 milhões de aplicações especificamente em busca de segredos escondidos em pacotes JavaScript. Os resultados, divulgados em um artigo patrocinado na BleepingComputer, revelam uma exposição massiva e inadvertida de credenciais sensíveis.

Descoberta e metodologia

A pesquisa focou em pacotes JavaScript (arquivos .js) servidos para navegadores web, que frequentemente contêm não apenas a lógica da interface do usuário, mas também – por erro – credenciais embutidas como tokens de API, chaves de acesso a bancos de dados, senhas e variáveis de ambiente. A Intruder construiu um scanner que analisa o código JavaScript final entregue ao cliente, indo além da análise de repositórios de código-fonte, para capturar segredos que são expostos apenas em produção.

Impacto e alcance

Os números da pesquisa são contundentes:

  • Milhares de aplicações continham segredos expostos em seus pacotes JavaScript front-end.
  • Tipos de segredos variaram de chaves de API de serviços de terceiros (como AWS, Stripe, SendGrid) a credenciais de bancos de dados e tokens de autenticação interna.
  • A exposição é global, afetando empresas de todos os portes e setores, incluindo fintech, saúde, e-commerce e SaaS.
Essa exposição cria uma superfície de ataque direta: qualquer usuário que visite a página web pode visualizar o código-fonte do JavaScript e extrair essas credenciais, que podem então ser usadas para acessar sistemas backend, roubar dados ou gerar custos financeiros abusivos.

Vetor e causas raiz

As causas para esse vazamento são geralmente erros de desenvolvimento e configuração:

  • Configurações de build que não diferenciam adequadamente variáveis de ambiente entre desenvolvimento e produção.
  • Práticas de "hardcoding" onde desenvolvedores embutem credenciais diretamente no código por conveniência durante testes e esquecem de removê-las.
  • Ferramentas de bundling (como Webpack) que, com configurações inadequadas, podem incluir inadvertidamente todo o conteúdo de arquivos .env ou config.
  • Falta de revisão de código ou ferramentas de segurança (SAST) que escaneiam o artefato final de produção.

Repercussão e mitigação

Para equipes de desenvolvimento e segurança, a pesquisa serve como um alerta urgente. As mitigações incluem:

  • Implementar revisões de segurança que examinem especificamente os pacotes JavaScript de produção.
  • Usar ferramentas de detecção de segredos no pipeline de CI/CD, focando no artefato final (bundle).
  • Adotar práticas de "zero trust" para credenciais, usando serviços de gerenciamento de segredos e nunca embutindo credenciais no código do cliente.
  • Educar desenvolvedores sobre os riscos de expor segredos no front-end e estabelecer políticas claras para o manuseio de credenciais.
A exposição de segredos em JavaScript representa um risco operacional direto e de compliance, potencialmente violando regulamentações como a LGPD ao expor acessos a bancos de dados de clientes.


Baseado em publicação original de BleepingComputer
Publicado pela Redação Hack Alerta com base em fontes externas citadas e monitoramento editorial do Hack Alerta. Para decisões técnicas, operacionais ou jurídicas, confirme sempre os detalhes na fonte original.