ULTIME NOTIZIE
SELEZIONATO PER TE

Gli attaccanti hanno trojanizzato il pacchetto npm WeaveDB di Arweave per distribuire malware

DiRanda MosesRanda Moses 3 min di lettura
Gli attaccanti hanno trojanizzato il pacchetto npm WeaveDB di Arweave per distribuire malware.
  • Un infostealer in Rust chiamato IronWorm si nascondeva in 36 pacchetti npm dell'ecosistema Arweave.
  • Il malware si è auto-replicato e ha inviato commit malevoli con data retroattiva attraverso nove organizzazioni.
  • Gli sviluppatori che hanno installato i pacchetti interessati devono ruotare immediatamente tutti i segreti esposti.

Gli attaccanti hanno inserito un infostealer in 36 pacchetti npm collegati all'ecosistema Arweave. Il malware mirava alle credenziali degli sviluppatori, alle chiavi SSH e ai file del wallet crittografico Exodus. L'azienda di sicurezza JFrog ha rintracciato l'attacco fino a un account manutentore compromesso.

Il malware si chiama IronWorm ed è costruito in Rust. Si attiva nel momento in cui uno sviluppatore installa un pacchetto npm. Una volta in esecuzione, scansiona il computer infetto alla ricerca di 86 variabili di ambiente e 20 file di credenziali, come ha trovato il team di ricerca di JFrog . Punta ai token AWS, alle chiavi API di Anthropic e OpenAI, alle credenziali di autenticazione npm e ai dati dei portafogli crittografici.

I pacchetti del progetto Arweave nascondono malware in Rust

Gli attaccanti hanno compromesso un account npm chiamato “asteroiddao”, che appartiene al gruppo GitHub asteroid-dao, parte del progetto di database decentralizzato Arweave/WeaveDB.

Tutti i pacchetti associati all'account “asteroiddao” sono stati ripubblicati in un breve lasso di tempo, con ogni nuova versione contenente un file Linux di 976 KB situato in una directory tools/.

Il file era impostato per essere eseguito automaticamente tramite un preinstall hook in package.json, il che significava che si avviava prima che npm iniziasse anche solo a installare qualcosa. Tutto ciò che una vittima doveva fare era eseguire npm install.

Il team di JFrog ha smontato il file e ha scoperto che era stato impacchettato in un modo progettato per ingannare gli strumenti di decompressione standard. All'interno c'era un grande programma Rust che manteneva le sue stringhe crittografate individualmente, con ciascuna bloccata separatamente, rendendo l'analisi molto più difficile.

Quando quelle stringhe sono state finalmente decodificate, hanno rivelato endpoint dell'API di GitHub, percorsi verso file di credenziali, account bot falsi collegati a ID utente reali di GitHub e modelli per iniettare codice malevolo in altri registri di pacchetti.

Gli attaccanti hanno trojanizzato il pacchetto npm WeaveDB di Arweave per distribuire malware.
Uno screenshot che mostra pacchetti npm infetti relativi all'ecosistema Arweave. Fonte: Jfrog.

I token GitHub rubati permettono al malware di inviare commit e infettare più repository

Dopo aver raccolto le credenziali, IronWorm le ha utilizzate per inviare commit nei repository a cui la vittima poteva accedere. Questi commit hanno inserito lo stesso binario malevolo in altri pacchetti, che potevano poi essere pubblicati su npm e compromettere il prossimo sviluppatore nella catena.

JFrog ha trovato 57 commit malevoli con data retroattiva in nove GitHub organizzazioni. I commit utilizzavano il nome dell'autore “claude” con l'email [email protected]. I timestamp sono stati falsificati per corrispondere all'ultimo commit legittimo di ciascun repository. Uno sembrava risalire a 13 anni fa, sebbene i log di GitHub Actions abbiano confermato che tutti i push sono avvenuti entro pochi giorni dalla scoperta.

Le organizzazioni colpite includevano asteroid-dao, weavedb, ArweaveOasis e diversi account personali associati allo sviluppatore “ocrybit.”

IronWorm ha anche distribuito un rootkit del kernel eBPF per nascondersi sulle macchine infette. Le comunicazioni con il suo operatore erano instradate attraverso la rete Tor. Il compilatore Rust ha lasciato il codice sorgente del rootkit nel binario, un errore operativo che ha reso l'analisi più facile.

Un'oddità è che l'operatore ha codificato hardcoded la propria frase di recupero del wallet di criptovaluta nel malware. JFrog ha concluso che questo era una misura di salvaguardia per impedire allo stealer di esfiltrare le credenziali dell'attaccante durante i test.

Gli attacchi di malware continuano a colpire npm

L'azienda di sicurezza applicativa Ox Security ha dichiarato che l'attacco è stato intercettato in fase iniziale, prima che potesse diffondersi ad altri pacchetti su npm.

Le versioni malevole sono state contrassegnate come deprecate entro un giorno e la maggior parte dei commit con data retroattiva è stata rimossa da GitHub poco dopo.

Il 14 maggio, gli hacker hanno sfruttato un account manutentore inattivo per node-ipc, un pacchetto con oltre 822.000 download settimanali. L'exploit è stato realizzato re-registrando il dominio email scaduto del manutentore e reimpostando la password npm. Tre varianti compromesse contenevano payload per il furto di credenziali mirati a oltre 90 categorie di segreti degli sviluppatori.

Le aziende di sicurezza Endor Labs e StepSecurity hanno identificato un attacco parallelo ma distinto che utilizzava un malware basato su JavaScript chiamato binding.gyp, che ha eseguito un avvelenamento simile del registro e un'infezione di GitHub Actions nello stesso periodo.

Gli sviluppatori che hanno installato uno dei pacchetti WeaveDB colpiti dovrebbero ruotare tutte le credenziali, controllare i file lock per modifiche di versione inaspettate e abilitare l'autenticazione a due fattori sugli account npm e GitHub.

Non limitarti a leggere le notizie sulle criptovalute. Comprendile. Iscriviti alla nostra newsletter. È gratuita.

Domande frequenti

Cos'è IronWorm e come si diffonde?

IronWorm è un infostealer in Rust che viene eseguito durante `npm install` tramite un hook preinstall. Una volta ottenute le credenziali, utilizza token GitHub e npm rubati per inviare commit malevoli nei repository della vittima.

Quali pacchetti npm sono stati colpiti dall'attacco IronWorm?

L'attacco ha compromesso 36 pacchetti pubblicati sotto l'account npm "asteroiddao", tutti legati all'ecosistema Arweave/WeaveDB.

Quali credenziali ruba IronWorm?

Il malware prende di mira 86 variabili d'ambiente e 20 file di credenziali. Tra questi ci sono token AWS, chiavi API di OpenAI e Anthropic, segreti di autenticazione npm, chiavi SSH e file del wallet crittografico Exodus.

Condividi questo articolo

Disclaimer. Le informazioni fornite non costituiscono consulenza finanziaria. Cryptopolitan.com non si assume alcuna responsabilità per eventuali investimenti basati sulle informazioni presenti in questa pagina. Si raccomanda vivamente di effettuare ricerche autonome e/o consultare un professionista qualificato prima di prendere qualsiasi decisione di investimento.

Randa Moses

Randa Moses

Randa Moses è un'editor e giornalista presso Cryptopolitan, dove si occupa di tecnologia, intelligenza artificiale, robotica, criptovalute, truffe e hacking. Opera nel settore delle criptovalute dal 2017. Ha ricoperto ruoli in Forward Protocol, AmaZix e Cryptosomniac. Randa è laureata in Ingegneria Elettrica ed Elettronica presso l'Università di Bradford.

ALTRE NOTIZIE …