Ricercatori di sicurezza informatica hanno scoperto un attacco alla supply chain del software mirato alla popolare libreria npm di Solana, @solana/web3.js. L'attacco ha coinvolto l'inserimento di due versioni malevole della libreria, progettate per rubare le chiavi private degli utenti e svuotare i loro portafogli di criptovalute. Le versioni compromesse, 1.95.6 e 1.95.7, non sono più disponibili per il download dal registro npm. La libreria è molto utilizzata, con oltre 400.000 download settimanali.
Queste versioni compromesse contenevano codice malevolo iniettato, progettato per sottrarre chiavi private da sviluppatori e utenti ignari, permettendo potenzialmente agli attaccanti di svuotare i portafogli di criptovalute. Il pacchetto @solana/web3.js interagisce con il software development kit JavaScript di Solana per costruire applicazioni Node.js e web.
Dettagli dell'attacco
Secondo il ricercatore di sicurezza Christophe Tafani-Dereeper, il backdoor inserito nella versione 1.95.7 aggiunge una funzione 'addToQueue' che esfiltra la chiave privata attraverso intestazioni CloudFlare apparentemente legittime. Le chiamate a questa funzione vengono poi inserite in vari punti che accedono legittimamente alla chiave privata. Il server di comando e controllo, a cui le chiavi vengono esfiltrate, è attualmente inattivo.
Sospetti e raccomandazioni
Si sospetta che i manutentori del pacchetto npm siano stati vittime di un attacco di phishing che ha permesso ai malintenzionati di prendere il controllo degli account e pubblicare le versioni rogue. Un account con accesso di pubblicazione per @solana/web3.js è stato compromesso, consentendo a un attaccante di pubblicare pacchetti non autorizzati e malevoli, modificati per rubare materiale chiave privato e sottrarre fondi da dApp che gestiscono direttamente le chiavi private.
Gli utenti che utilizzano @solana/web3.js come dipendenza sono consigliati di aggiornare alla versione più recente il prima possibile e, opzionalmente, di ruotare le chiavi di autorità se sospettano una compromissione. Questa vicenda segue la scoperta di un pacchetto npm falso a tema Solana, solana-systemprogram-utils, progettato per deviare i fondi degli utenti verso un indirizzo di portafoglio controllato dall'attaccante in una piccola percentuale di transazioni.
Altri pacchetti malevoli scoperti
Inoltre, sono stati scoperti pacchetti npm come crypto-keccak, crypto-jsonwebtoken e crypto-bignumber, che si mascherano da librerie legittime ma contengono codice per sottrarre credenziali e dati dei portafogli di criptovalute. Questo evidenzia come i malintenzionati continuino a sfruttare la fiducia degli sviluppatori nell'ecosistema open-source.
La minaccia del malware non si limita ai singoli sviluppatori, ma si estende anche alle organizzazioni, creando vulnerabilità che possono diffondersi negli ambienti aziendali. Ciò sottolinea l'importanza di una maggiore attenzione alla sicurezza nell'uso di librerie open-source.