L'8 settembre è stato scoperto un significativo attacco alla supply chain del software all'interno dell'ecosistema NPM, che ha colpito diverse librerie JavaScript ampiamente utilizzate. L'incidente è venuto alla luce quando Charles Guillemet, Chief Technology Officer di Ledger, ha lanciato un avvertimento che l'account Node Package Manager di uno sviluppatore fidato era stato compromesso. Le prime valutazioni suggerivano che oltre un miliardo di download fossero esposti a malware nascosto progettato per rubare criptovalute. Indagini successive, tuttavia, hanno rivelato che i pacchetti compromessi rappresentano collettivamente oltre 2,6 miliardi di download settimanali.

Attacco alla Supply Chain Espone Oltre 2 Miliardi
Attacco alla Supply Chain Espone Oltre 2 Miliardi
L'attacco si è concentrato sull'account di uno sviluppatore noto come "qix", che mantiene diverse librerie JavaScript popolari. Queste includono chalk, strip-ansi, color-convert e debug, tutte utilizzate in innumerevoli progetti sia in ambienti server-side che front-end. Gli attaccanti hanno ottenuto l'accesso all'account tramite un'email di supporto falsa e hanno inserito aggiornamenti malevoli in circa 18 pacchetti. A causa delle installazioni automatiche delle dipendenze, il malware si è diffuso rapidamente entro poche ore dalla violazione.
Guillemet ha spiegato che il codice malevolo era progettato per sostituire silenziosamente gli indirizzi dei wallet di criptovalute durante le transazioni. Ciò ha esposto gli utenti che si affidano a wallet software al rischio di perdere fondi se approvavano transazioni senza notare che l'indirizzo del destinatario era stato alterato.
Malware Crypto Clipper e MetaMask
I ricercatori di sicurezza hanno identificato il malware come un tipo di "crypto clipper". Funziona sostituendo gli indirizzi dei wallet in diverse fasi di una transazione. Nei casi in cui non viene rilevato alcun wallet, il malware modifica i dati in uscita all'interno delle applicazioni decentralizzate agganciandosi a funzioni del browser come fetch e XMLHttpRequest. Ciò gli consente di scansionare e alterare gli indirizzi all'interno dei dati dell'applicazione.
Se viene rilevata un'estensione del wallet come MetaMask, il malware diventa più diretto intercettando la transazione prima che venga firmata. Modifica l'indirizzo del wallet in memoria in modo che quando l'utente esamina la transazione, l'indirizzo fraudolento sia già presente. Il malware si basa sull'algoritmo di Levenshtein, che genera indirizzi che assomigliano molto all'originale. Questa somiglianza rende meno probabile che gli utenti identifichino l'alterazione.

Attacco alla Supply Chain Espone Oltre 2 Miliardi
Primi Segni dell'Attacco
Gli sviluppatori hanno incontrato i primi segni dell'attacco quando i sistemi di build hanno restituito un messaggio di errore inaspettato. Un'ulteriore ispezione di una dipendenza chiamata error-ex ha rivelato codice offuscato che conteneva una funzione sospetta denominata checkethereumw, che indicava il targeting di wallet Ethereum. Gli analisti hanno successivamente confermato che il malware conteneva riferimenti a indirizzi di wallet su diverse blockchain, tra cui Bitcoin, Ethereum, Solana, Tron, Litecoin e Bitcoin Cash.
Tra i pacchetti interessati c'erano alcuni dei più utilizzati nell'ecosistema JavaScript. Solo Chalk riceve oltre 300 milioni di download settimanali, debug oltre 350 milioni e strip-ansi oltre 260 milioni. In totale, le librerie compromesse vengono scaricate collettivamente oltre 2,6 miliardi di volte ogni settimana, evidenziando la profondità dell'impatto sulla comunità degli sviluppatori.
Hardware vs Software Wallets
Sebbene molte delle librerie infette non siano direttamente collegate a progetti di criptovaluta, la loro integrazione nelle catene di dipendenza significa che anche applicazioni non correlate potrebbero essere state esposte. I progetti che interagiscono con wallet di criptovalute e applicazioni decentralizzate sono considerati a più alto rischio.
Secondo Guillemet, gli utenti di hardware wallet con funzionalità di clear-signing rimangono al sicuro perché tali dispositivi consentono loro di verificare ogni transazione prima dell'approvazione. Al contrario, gli utenti di software wallet affrontano una maggiore esposizione e sono consigliati di esercitare estrema cautela fino a quando le dipendenze non saranno state completamente esaminate e protette.
Trovare l'Attaccante e i Fondi Rubati
Gli indirizzi di criptovaluta dell'attaccante sono stati identificati e sono attivamente monitorati grazie alla trasparenza delle blockchain pubbliche. Un indirizzo Ethereum primario collegato all'operazione è 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976, insieme a diversi altri indirizzi di backup. Al momento della segnalazione, i fondi rubati non erano stati spostati. Questo monitoraggio offre un'opportunità per un'analisi continua, sebbene l'intera portata degli asset rubati rimanga poco chiara.

Attacco alla Supply Chain Espone Oltre 2 Miliardi
JavaScript e Ruolo della Community
Le comunità JavaScript e web3 hanno agito rapidamente per contenere l'incidente. Le versioni malevole dei pacchetti compromessi sono state in gran parte rimosse dal registro, ma i rischi rimangono per i progetti che potrebbero ancora fare affidamento su versioni obsolete all'interno dei loro lockfile. Gli sviluppatori sono invitati a controllare le loro dipendenze, bloccare versioni sicure e reinstallare build pulite per prevenire ulteriori esposizioni.
I professionisti della sicurezza raccomandano inoltre agli sviluppatori di ruotare le credenziali, imporre l'autenticazione a due fattori su account come NPM e GitHub e utilizzare metodi di installazione deterministici come npm ci per mantenere un rigoroso controllo delle versioni. Inoltre, gli utenti sono consigliati di verificare attentamente tutte le transazioni di criptovaluta, in particolare se si affidano a wallet software.
Considerazioni Finali
Questo incidente è stato descritto come una delle violazioni più estese che abbiano colpito l'ecosistema NPM. Sebbene la risposta della comunità sia stata relativamente rapida, l'attacco sottolinea la fragilità delle moderne supply chain del software e i rischi creati dalla diffusa dipendenza da componenti open-source.
Come ha sottolineato Guillemet, esaminare ogni transazione prima di firmare rimane essenziale. La violazione serve a ricordare che anche piccole librerie incorporate in profondità nell'infrastruttura delle applicazioni possono diventare vettori di attacco significativi quando compromesse. Per sviluppatori e utenti, la vigilanza continua è ora una parte fondamentale del mantenimento della sicurezza negli ecosistemi web3 e di sviluppo software.



