Na última segunda (8/9), um ataque sem precedentes à cadeia de suprimentos do npm foi descoberto: 18 bibliotecas JavaScript populares, como debug, chalk e ansi-styles, foram comprometidas via phishing ao mantenedor e receberam códigos maliciosos com a finalidade de desviar criptomoedas de forma automatizada.
Esses pacotes somam mais de 2 bilhões de downloads semanais — um alcance massivo que amplifica o impacto desse ataque.
Como aconteceu?
O invasor enviou um e-mail cuidadosamente disfarçado (aparentemente do suporte npm) solicitando um reset de 2FA. O mantenedor, sem suspeitar da fraude, concedeu acesso — e o ataque se materializou.
Já tínhamos alertado antes!
Neste último post da DSR9, abordamos como um fornecedor pode ser a porta de entrada para ciberataques, mostrando que 60% das empresas já sofreram alguma forma de violação via terceiros, como o caso do SolarWinds. Agora, vemos esse cenário se concretizar novamente — desta vez com bibliotecas npm sendo usadas como vetor de ataque.
O que você pode fazer:
- Atualize dependências: garanta que você esteja utilizando versões seguras e atenção redobrada nessas bibliotecas.
- Trace sua cadeia de dependências: utilize SBOMs (Software Bill of Materials) para mapear todos os pacotes, incluindo os transientes.
- Fortaleça sua segurança: implemente 2FA rigoroso, configure alertas de acesso suspeito, use assinatura de código nas bibliotecas (npm signing) e adote camadas de defesa em tempo de execução.
- Audite fornecedores e dependências externas: valide contratos, monitore atividades suspeitas, segmente redes e mantenha backups e planos de recuperação atualizados.
- Mantenha-se informado e compartilhe alertas: segurança é responsabilidade coletiva!
Por que esse ataque é um alerta sério:
Mesmo bibliotecas amplamente utilizadas e aparentemente seguras podem se tornar vetores críticos quando um mantenedor é alvo de phishing. Esse ataque mostra que a governança, visibilidade e proteção da cadeia de dependências precisam ser fortalecidas — internamente e com toda a comunidade.