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 veio a público 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 cryptocurrency. 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, todos usados 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. Por causa das instalações de dependência automatizadas, o malware se espalhou rapidamente em horas após a violação.
Guillemet explicou que o código malicioso foi projetado para substituir silenciosamente os endereços de carteira de cryptocurrency durante as transações. Isso expôs os usuários que dependem de software wallets 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 wallet em diferentes estágios de uma transação. Nos casos em que nenhuma wallet é detectada, o malware modifica os dados de saída em decentralized applications, 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 wallet 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 wallet 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 assemelham muito ao original. 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 Ethereum wallets. Analistas confirmaram posteriormente que o malware continha referências a endereços de wallet em várias blockchains, incluindo Bitcoin, Ethereum, Solana, Tron, Litecoin e Bitcoin Cash.
Entre os pacotes afetados estavam alguns dos mais amplamente utilizados no ecossistema JavaScript. Somente o Chalk recebe mais de 300 milhões de downloads semanais, o debug mais de 350 milhões e o 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.
Hardware vs Software Wallets
Embora muitas das bibliotecas infectadas não estejam diretamente ligadas a projetos de cryptocurrency, sua integração em cadeias de dependência significa que mesmo aplicativos não relacionados podem ter sido expostos. Projetos que interagem com cryptocurrency wallets e decentralized applications são considerados de alto risco.
De acordo com Guillemet, os usuários de hardware wallets com recursos de clear-signing permanecem seguros porque esses dispositivos permitem que eles verifiquem cada transação antes da aprovação. Por outro lado, os usuários de software wallets enfrentam maior exposição e são aconselhados a ter extrema cautela até que as dependências tenham sido totalmente revisadas e protegidas.
Encontrando o Atacante e os Fundos Roubados
Os endereços de cryptocurrency do atacante foram identificados e estão sendo ativamente monitorados graças à transparência das public blockchains. 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 movimentados. 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 incentivados a auditar suas dependências, bloquear versões seguras e reinstalar builds limpas para evitar maior exposição.
Profissionais de segurança também recomendam que os desenvolvedores girem credenciais, apliquem 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. Além disso, os usuários são aconselhados a verificar cuidadosamente todas as transações de cryptocurrency, principalmente se dependerem de software wallets.
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 incorporadas 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 web3 e de desenvolvimento de software.




