Um novo ciberataque está roubando criptomoedas de usuários enquanto eles enviam transações, e muitos especialistas o chamam de o maior ataque à cadeia de suprimentos da história. Hackers invadiram contas de mantenedores de pacotes npm usando e-mails de phishing. Esses e-mails pareciam vir de “[email protected]“, que copiava o registro npm real. As mensagens diziam aos desenvolvedores que suas contas seriam bloqueadas a menos que atualizassem sua autenticação de dois fatores. Quando os mantenedores clicavam no link, os invasores obtinham seus dados de login e colocavam malware dentro de pacotes npm populares.
Dezoito bibliotecas JavaScript amplamente utilizadas foram comprometidas, incluindo chalk, debug e ansi-styles. Juntos, esses pacotes recebem bilhões de downloads a cada semana e são usados por desenvolvedores em todo o mundo. Isso significa que todo o ecossistema JavaScript pode ter sido exposto. A BleepingComputer relatou que os invasores injetaram código nessas bibliotecas que agia como um interceptador baseado em navegador. Esse código observava o tráfego de rede e procurava transações de criptomoedas em Bitcoin, Ethereum, Solana, Tron, Litecoin e Bitcoin Cash. Quando alguém enviava uma transferência, o malware substituía o endereço real da carteira por um controlado pelos hackers antes que a transação fosse assinada.
O pesquisador de segurança Charlie Eriksen explicou que o malware funciona de várias maneiras. Ele altera o que é mostrado em sites, manipula chamadas de API e engana aplicativos para que assinem transações que o usuário não pretendia. Charles Guillemet, CTO da Ledger, alertou que o ataque ainda está ativo e disse que os usuários de criptomoedas devem evitar fazer transações on-chain se usarem apenas carteiras de software. Os usuários de carteiras de hardware podem se proteger verificando os detalhes antes de assinar, mas qualquer pessoa sem uma corre maior risco.
Pesquisadores também descobriram que a infraestrutura de phishing enviava detalhes roubados para “websocket-api2.publicvm.com”. Isso mostra que o ataque foi bem coordenado. Ele segue outros incidentes npm no início deste ano, incluindo um em março que corrigiu o pacote ethers com um shell reverso e outro em julho que teve como alvo o eslint-config-prettier. A campanha continua a evoluir, e desta vez os invasores usaram contratos inteligentes Ethereum de uma nova maneira. Dois pacotes npm chamados colortoolsv2 e mimelib2 esconderam comandos maliciosos dentro de contratos inteligentes Ethereum. Uma vez baixados, os pacotes instalaram malware de segundo estágio, tornando mais difícil a detecção.
Contratos inteligentes Ethereum são pequenos programas que são executados na blockchain. Eles são públicos e atuam como APIs abertas. Neste caso, os hackers os usaram para armazenar links para baixar o malware, então, mesmo que alguém verificasse o pacote, ele poderia não ver o código perigoso. Este método criativo de comando e controle mostra como os atores de ameaças estão se adaptando para evitar a detecção.
Os invasores também tentaram fazer com que seus repositórios GitHub parecessem confiáveis. Eles criaram projetos falsos como solana-trading-bot-v2 e ethereum-mev-bot-v2. Estes tiveram muitas estrelas, observadores e commits, mas a maior parte dessa atividade era falsa. Contas foram criadas ao mesmo tempo, muitas vezes com apenas um arquivo, e commits automatizados inflaram os números. Esse truque de engenharia social fez com que os repositórios parecessem reais para desenvolvedores que podem incluir os pacotes npm maliciosos em seu trabalho.
Especialistas alertam que os ataques à cadeia de suprimentos são especialmente perigosos porque visam ferramentas confiáveis. Ao ocultar malware dentro de bibliotecas de código aberto, os hackers podem atingir milhões de desenvolvedores e usuários finais de uma só vez. Somente este ano, pesquisadores encontraram mais de vinte campanhas em npm, GitHub e PyPI destinadas a roubar criptomoedas. Alguns usaram infostealers, outros implantaram mineradores de moedas e muitos confiaram em phishing para capturar dados confidenciais.
Indicadores de Comprometimento (IOCs), como domínios suspeitos, código ofuscado e repositórios falsos, ajudam as equipes de segurança a detectar essas ameaças. Ainda assim, muitos usuários não perceberão até que os fundos desapareçam. Por enquanto, os desenvolvedores precisam verificar cuidadosamente os pacotes, os mantenedores e o código antes de usar. Os usuários de criptomoedas devem considerar carteiras de hardware e evitar fazer grandes transferências até que a ameaça esteja sob controle. O ataque mostra a rapidez com que o cibercrime está evoluindo e como é importante proteger as cadeias de suprimentos de software e os ativos digitais.