O ecossistema JavaScript está em alerta máximo. Em 8 de setembro de 2025, um dos maiores e mais impactantes ataques à cadeia de suprimentos já registrados comprometeu dezenas de pacotes NPM extremamente populares, somando mais de 2.6 bilhões de downloads semanais. Desenvolvedores, engenheiros de DevOps e equipes de TI precisam agir rapidamente para entender o alcance do problema e proteger seus projetos.
- O que aconteceu: o maior ataque da história do NPM?
- Como o malware funciona: um ladrão de criptomoedas silencioso
- Você foi afetado? Como verificar e mitigar os riscos
- Passo 1: Verificando suas dependências com npm audit
- Passo 2: A importância dos arquivos de lock
- Passo 3: Boas práticas para o futuro
- Conclusão: a fragilidade da cadeia de suprimentos de software
Este artigo detalha o que aconteceu, como o ataque NPM explorou técnicas de phishing, o funcionamento do malware de roubo de criptomoedas, a lista de pacotes comprometidos e, o mais importante, fornece um guia prático para verificar se seus projetos foram afetados e como se proteger.
O incidente evidencia a fragilidade de uma cadeia de suprimentos de software onde milhões de projetos dependem da segurança de apenas alguns mantenedores. Entender o ataque é essencial para garantir a integridade dos sistemas e prevenir perdas financeiras ou comprometimentos de dados críticos.

O que aconteceu: o maior ataque da história do NPM?
O ataque foi detectado em 8 de setembro de 2025 e rapidamente confirmado por mantenedores de pacotes. A escala do incidente é alarmante: dezenas de pacotes NPM populares foram comprometidos, impactando bilhões de downloads em projetos ao redor do mundo.
Este episódio é considerado um dos maiores ataques à cadeia de suprimentos já registrados, principalmente pelo número de pacotes afetados e pela sofisticação da estratégia de phishing utilizada para sequestrar contas de mantenedores.
O phishing que deu início a tudo
Os atacantes enviaram um e-mail falso de suporte (support [at] npmjs [dot] help
) alegando que as contas dos mantenedores seriam bloqueadas em 10 de setembro caso não atualizassem suas credenciais. O e-mail incluía links que redirecionavam para páginas falsas, projetadas para capturar senhas e códigos de 2FA.
Essa abordagem combinou urgência, intimidação e engenharia social avançada, permitindo que os hackers obtivessem acesso total a contas de publicação de pacotes críticos. Uma vez dentro, eles puderam injetar malware diretamente nos pacotes mais populares do ecossistema.
A lista de pacotes populares comprometidos
Entre os pacotes confirmados como comprometidos estão:
- chalk – mais de 300 milhões de downloads semanais
- debug – cerca de 200 milhões de downloads semanais
- ansi-styles – 150 milhões de downloads semanais
- strip-ansi – 100 milhões de downloads semanais
Outros pacotes menores, mas amplamente utilizados, também foram afetados, mostrando que mesmo dependências consideradas seguras podem se tornar um vetor de ataque em larga escala. Este cenário demonstra a magnitude do ataque NPM e o risco para aplicações que dependem dessas bibliotecas.
Como o malware funciona: um ladrão de criptomoedas silencioso
O malware injetado tem como objetivo monitorar e sequestrar transações de criptomoedas, operando de forma discreta para não ser detectado pelos usuários finais.
Injeção de código e interceptação no navegador
O código malicioso foi inserido em arquivos centrais como index.js
dos pacotes comprometidos. Quando as aplicações que utilizam esses pacotes são executadas, o malware ativa rotinas que interceptam dados no navegador do usuário, incluindo endereços de carteiras e transações de criptomoedas.
O alvo: transações de Bitcoin, Ethereum e mais
O principal objetivo do ataque é redirecionar fundos digitais de usuários para as carteiras dos invasores. O malware monitora e altera transações de Bitcoin, Ethereum, Solana e outras criptomoedas populares, permitindo que os hackers capturem valores significativos sem levantar suspeitas imediatas.
Você foi afetado? Como verificar e mitigar os riscos
Para garantir a segurança de seus projetos, é crucial adotar medidas imediatas de verificação e mitigação.
Passo 1: Verificando suas dependências com npm audit
O primeiro passo é rodar o comando:
npm audit
Este comando identifica vulnerabilidades conhecidas em suas dependências. Embora o npm audit não detecte todas as alterações maliciosas de código, ele fornece um ponto de partida para identificar pacotes potencialmente comprometidos.
Passo 2: A importância dos arquivos de lock
Arquivos como package-lock.json ou yarn.lock ajudam a garantir que versões específicas de pacotes sejam instaladas, prevenindo a inclusão de versões maliciosas automaticamente. Sempre que atualizar dependências, revise o conteúdo desses arquivos e confirme se não houve alterações inesperadas.
Passo 3: Boas práticas para o futuro
- Habilite 2FA em contas NPM e GitHub.
- Desconfie de e-mails urgentes solicitando atualização de credenciais.
- Monitore regularmente pacotes críticos e mantenha versões fixas quando possível.
- Considere utilizar ferramentas de análise de integridade de dependências e alertas automatizados.
Conclusão: a fragilidade da cadeia de suprimentos de software
O ataque NPM de setembro de 2025 é um lembrete severo de que a segurança de milhões de projetos depende da proteção individual de poucos mantenedores. A engenharia social combinada à injeção de malware de roubo de criptomoedas demonstra como ataques à cadeia de suprimentos podem ter consequências globais.
Não espere para ser a próxima vítima. Verifique seus projetos agora e compartilhe este alerta com sua equipe de desenvolvimento para garantir que todos estejam cientes dos riscos e das medidas de proteção.