Os atacantes instalaram um programa de roubo de informações em 36 pacotes npm vinculados ao ecossistema Arweave. O ataque tinha como alvodentde desenvolvedores, chaves SSH e arquivos da carteira criptográfica Exodus. A empresa de segurança JFrog traco ataque até uma conta de mantenedor comprometida.
O malware chama-se IronWorm e foi desenvolvido em Rust. Ele é ativado no momento em que um desenvolvedor instala um pacote npm. Uma vez em execução, ele examina o computador infectado em busca de 86 variáveis de ambiente e 20dentda JFrog de pesquisa de autenticação do npmdente dados de carteiras de criptomoedas.
Os atacantes comprometeram uma conta npm chamada “asteroiddao”, que pertence ao grupo asteroid-dao do GitHub, parte do projeto de banco de dados descentralizado Arweave/WeaveDB.
Todos os pacotes associados à conta “asteroiddao” foram republicados em um curto período de tempo, com cada nova versão contendo um arquivo Linux de 976 KB localizado em um diretório tools/.
O arquivo estava configurado para ser executado automaticamentematicmeio de um gancho de pré-instalação no package.json , o que significa que ele era executado antes mesmo do npm começar a instalar qualquer coisa. Tudo o que a vítima precisava fazer era executar npm install .
A equipe da JFrog descompactou o arquivo e descobriu que ele havia sido compactado de uma forma projetada para enganar ferramentas de descompactação padrão. Dentro dele havia um grande programa em Rust que mantinha suas strings criptografadas individualmente, com cada uma bloqueada separadamente, dificultando muito a análise.
Quando essas sequências foram finalmente decodificadas, revelaram endpoints da API do GitHub, caminhos para arquivosdent, contas de bots falsas vinculadas a IDs de usuários reais do GitHub e modelos para injetar código malicioso em outros registros de pacotes.

Após coletardent, o IronWorm as utilizava para enviar commits para repositórios acessíveis à vítima. Esses commits inseriam o mesmo binário malicioso em outros pacotes, que podiam então ser publicados no npm e comprometer o próximo desenvolvedor na cadeia.
A JFrog encontrou 57 commits maliciosos retroativos em nove organizações do GitHub . Os commits usavam o nome do autor "claude" com o e-mail claude@users.noreply.github.com . Os registros de data e hora foram falsificados para corresponder ao commit legítimo mais recente de cada repositório. Um deles parecia datar de 13 anos atrás, embora os registros do GitHub Actions confirmassem que todos os pushes ocorreram poucos dias antes da descoberta.
As organizações afetadas incluíam asteroid-dao, weavedb, ArweaveOasis e diversas contas pessoais associadas ao desenvolvedor “ocrybit”
O IronWorm também implantou um rootkit de kernel eBPF para se ocultar em máquinas infectadas. A comunicação com seu operador era roteada pela rede Tor. O compilador Rust deixou o código-fonte do rootkit no binário, um erro operacional que facilitou a análise.
Uma peculiaridade é que o operador havia codificado sua própria frase de recuperação da carteira de criptomoedas diretamente no malware. A JFrog concluiu que isso era uma medida de segurança para impedir que o ladrão extraísse asdentdo atacante durante os testes.
A empresa de segurança de aplicativos Ox Security afirmou que o ataque foi detectado precocemente, antes que pudesse se espalhar para mais pacotes no npm.
As versões maliciosas foram marcadas como obsoletas em um dia e a maioria dos commits retroativos foram removidos do GitHub logo em seguida.
Em 14 de maio, hackers exploraram uma conta inativa de mantenedor do node-ipc, um pacote com mais de 822.000 downloads semanais. A exploração foi realizada através do registro de um domínio de e-mail expirado do mantenedor e da redefinição da senha do npm. Três variantes comprometidas continhamdentde roubo de credenciais direcionados a mais de 90 categorias de segredos de desenvolvedores.
As empresas de segurança Endor Labs e StepSecuritydentum ataque simultâneo, porém distinto, usando um malware baseado em JavaScript chamado binding.gyp, que realizou envenenamento de registro e infecção do GitHub Actions de forma semelhante durante o mesmo período.
Os desenvolvedores que instalaram algum dos pacotes WeaveDB afetados devem rotacionar todas asdent, verificar os arquivos de bloqueio em busca de alterações inesperadas de versão e habilitar a autenticação de dois fatores em suas contas do npm e do GitHub.
Não se limite a ler notícias sobre criptomoedas. Compreenda-as. Assine nossa newsletter. É grátis.