Una nuova campagna malevola sta prendendo di mira gli sviluppatori di npm attraverso una tecnica nota come typosquatting, utilizzando centinaia di pacchetti falsi simili a quelli legittimi per ingannare e far eseguire malware multipiattaforma. Questa strategia sfrutta i contratti intelligenti di Ethereum per distribuire gli indirizzi dei server di comando e controllo (C2). Secondo le analisi di Checkmarx, Phylum e Socket, l'attività è stata rilevata per la prima volta il 31 ottobre 2024, ma sembra essere in corso già da una settimana prima. Sono stati individuati almeno 287 pacchetti typosquat nel registro npm.
La campagna si rivolge principalmente agli sviluppatori che intendono utilizzare librerie popolari come Puppeteer, Bignum.js e diverse librerie di criptovalute. I pacchetti contengono JavaScript offuscato che viene eseguito durante o dopo il processo di installazione, portando infine al recupero di un file binario di fase successiva da un server remoto, in base al sistema operativo della macchina compromessa. Questo file binario stabilisce la persistenza ed esfiltra informazioni sensibili al server di origine.
Un aspetto interessante della campagna
Un aspetto interessante di questa campagna è l'uso di un contratto intelligente di Ethereum tramite la libreria ethers.js per ottenere l'indirizzo IP del server C2. Una campagna precedente, chiamata EtherHiding, aveva utilizzato una tattica simile sfruttando i contratti della Binance Smart Chain (BSC) per avanzare nella catena di attacco. La natura decentralizzata della blockchain rende più difficile bloccare la campagna, poiché gli indirizzi IP forniti dal contratto possono essere aggiornati nel tempo dall'attore malevolo, permettendo al malware di connettersi senza problemi a nuovi indirizzi IP man mano che quelli vecchi vengono bloccati o eliminati.
L'utilizzo della tecnologia blockchain per l'infrastruttura C2 rappresenta un approccio innovativo agli attacchi alla supply chain nell'ecosistema npm, rendendo l'infrastruttura di attacco più resiliente ai tentativi di rimozione e complicando gli sforzi di rilevamento. Non è ancora chiaro chi ci sia dietro questa campagna, anche se il Team di Ricerca sulle Minacce di Socket ha individuato messaggi di errore in russo per la gestione delle eccezioni e la registrazione, suggerendo che l'attore della minaccia potrebbe essere di lingua russa.
Questa campagna dimostra ancora una volta le modalità innovative con cui gli attaccanti stanno avvelenando l'ecosistema open source, rendendo necessario che gli sviluppatori siano vigili quando scaricano pacchetti dai repository di software.