Em 8 de setembro, um ataque significativo à cadeia de suprimentos de software foi descoberto no ecossistema NPM, afetando várias bibliotecas JavaScript amplamente utilizadas. O incidente chamou a atenção do público pela primeira vez quando Charles Guillemet, Diretor de Tecnologia da Ledger, emitiu um aviso de que a conta do Node Package Manager de um desenvolvedor confiável havia sido comprometida. As avaliações iniciais sugeriram que mais de um bilhão de downloads foram expostos a malware oculto projetado para roubar criptomoedas. Investigações subsequentes, no entanto, revelaram que os pacotes comprometidos representam coletivamente mais de 2,6 bilhões de downloads semanais.

Ataque à Cadeia de Suprimentos Expõe Mais de 2 Bilhões
Ataque à Cadeia de Suprimentos Expõe Mais de 2 Bilhões
O ataque focou na conta de um desenvolvedor conhecido como “qix”, que mantém várias bibliotecas JavaScript populares. Isso inclui chalk, strip-ansi, color-convert e debug, todas usadas em inúmeros projetos em ambientes de servidor e front-end. Os atacantes obtiveram acesso à conta por meio de um e-mail de suporte falso e enviaram atualizações maliciosas para cerca de 18 pacotes. Devido às instalações automatizadas de dependências, o malware se espalhou rapidamente horas após a violação.
Guillemet explicou que o código malicioso foi projetado para substituir silenciosamente os endereços de carteira de criptomoedas durante as transações. Isso expôs usuários que dependem de carteiras de software ao risco de perder fundos se aprovassem transações sem perceber que o endereço do destinatário havia sido alterado.
Malware Crypto Clipper e MetaMask
Pesquisadores de segurança identificaram o malware como um tipo de “crypto clipper”. Ele funciona substituindo endereços de carteira em diferentes estágios de uma transação. Em casos onde nenhuma carteira é detectada, o malware modifica os dados de saída em aplicativos descentralizados, conectando-se a funções do navegador como fetch e XMLHttpRequest. Isso permite que ele escaneie e altere endereços dentro dos dados do aplicativo.
Se uma extensão de carteira como MetaMask for detectada, o malware se torna mais direto, interceptando a transação antes que ela seja assinada. Ele modifica o endereço da carteira na memória para que, quando o usuário revisar a transação, o endereço fraudulento já esteja no lugar. O malware depende do algoritmo Levenshtein, que gera endereços que se parecem muito com os originais. Essa semelhança torna menos provável que os usuários identifiquem a alteração.

Ataque à Cadeia de Suprimentos Expõe Mais de 2 Bilhões
Primeiros Sinais do Ataque
Os desenvolvedores encontraram os primeiros sinais do ataque quando os sistemas de build retornaram uma mensagem de erro inesperada. Uma inspeção mais aprofundada de uma dependência chamada error-ex revelou código ofuscado que continha uma função suspeita chamada checkethereumw, que indicava o direcionamento de carteiras Ethereum. Analistas confirmaram posteriormente que o malware continha referências a endereços de carteira em várias blockchains, incluindo Bitcoin, Ethereum, Solana, Tron, Litecoin e Bitcoin Cash.
Entre os pacotes afetados estavam alguns dos mais utilizados no ecossistema JavaScript. Chalk sozinho recebe mais de 300 milhões de downloads semanais, debug mais de 350 milhões e strip-ansi mais de 260 milhões. No total, as bibliotecas comprometidas são baixadas coletivamente mais de 2,6 bilhões de vezes por semana, destacando a profundidade do impacto em toda a comunidade de desenvolvedores.
Carteiras de Hardware vs. Software
Embora muitas das bibliotecas infectadas não estejam diretamente ligadas a projetos de criptomoedas, sua integração em cadeias de dependência significa que mesmo aplicativos não relacionados podem ter sido expostos. Projetos que interagem com carteiras de criptomoedas e aplicativos descentralizados são considerados de maior risco.
De acordo com Guillemet, usuários de carteiras de hardware com recursos de clear-signing permanecem seguros porque esses dispositivos permitem que eles verifiquem cada transação antes da aprovação. Em contraste, usuários de carteiras de software enfrentam maior exposição e são aconselhados a exercer extrema cautela até que as dependências sejam totalmente revisadas e protegidas.
Encontrando o Atacante e os Fundos Roubados
Os endereços de criptomoedas do atacante foram identificados e estão sendo ativamente monitorados graças à transparência das blockchains públicas. Um endereço Ethereum principal ligado à operação é 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976, juntamente com vários outros endereços de backup. No momento do relatório, os fundos roubados não haviam sido movidos. Esse monitoramento oferece uma oportunidade para análise contínua, embora o escopo total dos ativos roubados permaneça incerto.

Ataque à Cadeia de Suprimentos Expõe Mais de 2 Bilhões
JavaScript e o Papel da Comunidade
As comunidades JavaScript e web3 agiram rapidamente para conter o incidente. Versões maliciosas dos pacotes comprometidos foram em grande parte removidas do registro, mas os riscos permanecem para projetos que ainda podem depender de versões desatualizadas em seus lockfiles. Os desenvolvedores estão sendo instados a auditar suas dependências, travar versões seguras e reinstalar builds limpas para evitar maior exposição.
Profissionais de segurança também recomendam que os desenvolvedores rotacionem credenciais, ativem autenticação de dois fatores em contas como NPM e GitHub, e usem métodos de instalação determinísticos como npm ci para manter um controle de versão rigoroso. Adicionalmente, os usuários são aconselhados a verificar cuidadosamente todas as transações de criptomoedas, especialmente se dependerem de carteiras de software.
Considerações Finais
Este incidente foi descrito como uma das violações mais extensas a afetar o ecossistema NPM. Embora a resposta da comunidade tenha sido relativamente rápida, o ataque ressalta a fragilidade das cadeias de suprimentos de software modernas e os riscos criados pela dependência generalizada de componentes de código aberto.
Como Guillemet enfatizou, revisar cada transação antes de assinar continua sendo essencial. A violação serve como um lembrete de que mesmo pequenas bibliotecas embutidas profundamente na infraestrutura de aplicativos podem se tornar vetores de ataque significativos quando comprometidas. Para desenvolvedores e usuários, a vigilância contínua é agora uma parte crítica da manutenção da segurança nos ecossistemas de desenvolvimento de software e web3.






