Un attacco supply chain ha colpito il popolare pacchetto Rust arrayref, compromettendo l'account del maintainer e diffondendo un malware infostealer durante la compilazione. L'incidente ha coinvolto milioni di download e altri pacchetti, con impatti su progetti crittografici e blockchain.
Un grave attacco supply chain ha colpito la comunità Rust: l'account del maintainer dietro il noto pacchetto arrayref è stato compromesso, consentendo agli hacker di inserire un malware che si attivava durante la compilazione sui sistemi degli sviluppatori. In soli 23 minuti, l'attaccante ha infettato anche i pacchetti append-only-vec e internment, tutti gestiti dallo stesso account, sfruttando la fiducia nella catena di fornitura open source.
Come si è svolto l'attacco e quali pacchetti sono stati coinvolti
Arrayref è una libreria Rust molto diffusa, con oltre 53 milioni di download negli ultimi tre mesi, utilizzata in ambiti come crittografia, grafica e blockchain. Secondo StepSecurity, le versioni malevole sono arrayref 0.3.10, append-only-vec 0.1.9 e internment 0.8.7. L'attaccante ha introdotto una dipendenza verso proc-macro1, un pacchetto typosquat che imita proc-macro2, lasciando invariato il resto del codice. Il file build.rs di proc-macro1 veniva eseguito automaticamente in fase di build, ricostruendo la propria infrastruttura da frammenti base64 e scegliendo il payload in base al sistema operativo (Linux, Windows, macOS sia x86-64 che ARM64).
Oltre ai pacchetti compromessi, l'attaccante ha pubblicato anche versioni di quattro pacchetti (aovine, arone, aroneano, tinymember), poi rimossi da crates.io. Su sistemi Unix, il malware scriveva un file eseguibile in /tmp/rust-setup e lo lanciava come processo separato; su Windows, creava rust-setup.ps1 nella cartella temporanea e lo avviava tramite wscript.exe e un launcher VBS nascosto. Il payload riceveva un indirizzo, probabilmente di comando e controllo.
Obiettivi del malware e persistenza
Secondo Wiz, il malware di seconda fase era in grado di esfiltrare informazioni di sistema e credenziali, in particolare dai browser Google Chrome, Brave ed Edge, accedendo ai database SQLite delle password. La persistenza veniva garantita tramite Registry Run key su Windows, LaunchAgent su macOS e systemd su Linux.
Tempistiche, impatto e risposta della comunità
L'attacco è iniziato il 20 agosto alle 01:17 UTC con la creazione di un account GitHub che imitava David Tolnay, noto sviluppatore Rust, seguito da un account simile su crates.io. Dopo la pubblicazione di una versione innocua di proc-macro1, la versione malevola è stata caricata alle 07:11, seguita da arrayref 0.3.10 alle 07:15 tramite l'account legittimo di David Roundy. Le versioni precedenti di arrayref sono state rimosse per forzare l'adozione della release infetta. L'incidente è stato segnalato alle 07:54, con la rimozione di proc-macro1 alle 08:03 e di arrayref 0.3.10 alle 08:41.
L'impatto potenziale è enorme: arrayref ha superato i 245 milioni di download totali, mentre append-only-vec e internment insieme sfiorano i 19 milioni. Tra i progetti coinvolti figurano blake3, framework GUI Rust come egui, eframe, iced e componenti di Ethereum e Solana.
Analisi, indicatori di compromissione e raccomandazioni
StepSecurity, SafeDep e Aikido hanno pubblicato analisi tecniche e indicatori di compromissione. Wiz segnala che l'infrastruttura dell'attacco presenta sovrapposizioni con campagne supply chain attribuite alla DPRK, come Mastra e axios. Gli sviluppatori che hanno installato i pacchetti durante la finestra di esposizione (circa 1,5 ore) dovrebbero considerare i propri sistemi compromessi: è consigliato controllare i file Cargo.lock, cercare i file sospetti e monitorare il traffico verso 23.254.165[.]112 sulle porte 9089 e 443. In caso di compromissione, è necessario ruotare tutte le credenziali, token CI, chiavi di firma e ricostruire l'ambiente da backup sicuri. Per i progetti non colpiti, si raccomanda di fissare una versione sicura delle dipendenze fino a chiarimento della situazione dei maintainer.
Questo episodio si inserisce in una crescente serie di attacchi supply chain che sfruttano la fiducia negli ecosistemi open source: una dinamica già osservata anche in altri contesti, come nel caso di attacchi mirati tramite web shell personalizzate contro piattaforme aziendali.