NotizieCryptoI ricercatori collegano il dirottamento del crate Rust arrayref a hacker nordcoreani

I ricercatori collegano il dirottamento del crate Rust arrayref a hacker nordcoreani

Autore: Cryptopolitan·

Punti chiave

  • Il codice originale dei pacchetti Rust compromessi è rimasto inalterato; gli attaccanti hanno aggiunto solo una singola nuova dipendenza, proc-macro1, un typo-squat del crate ampiamente considerato affidabile proc-macro2, che conta oltre 154 milioni di download.
  • Poiché Cargo esegue automaticamente gli script di build in fase di compilazione, la semplice compilazione di un progetto che includeva la versione contaminata attivava il malware, e gli sviluppatori possono cercare proc-macro1 nei propri file Cargo.lock per verificare l'esposizione.
  • I ricercatori di Wiz hanno collegato l'attacco alle operazioni nordcoreane tramite percorsi di command-and-control coincidenti, certificati di sicurezza condivisi e lo stesso fornitore di hosting (Hostwinds) visto nella campagna Mastra e nell'attacco npm ad axios, anche se ciò non equivale a un'attribuzione formale da parte dei governi.
  • Aikido ha descritto l'incidente come il più grande compromesso di crate Rust mai osservato per numero di download, con arrayref a circa 244 milioni di download e la versione dannosa esposta per circa 86 minuti.
  • Il Rust Security Response Team ha valutato che la macchina o le credenziali del maintainer fossero state compromesse, anziché un'azione dolosa dell'autore, riflettendo una debolezza ricorrente degli account dei maintainer simile alla backdoor XZ Utils del 2024.
I ricercatori collegano il dirottamento del crate Rust arrayref a hacker nordcoreani

I ricercatori di sicurezza di Wiz affermano che l'attacco alla supply chain che ha avvelenato arrayref — un pacchetto Rust presente in circa tre quarti degli ambienti che eseguono Rust — ha richiamato confronti con le recenti operazioni nordcoreane.

L'aggiornamento dannoso nascondeva una backdoor che sottrae informazioni di accesso all'interno di codice progettato per essere eseguito automaticamente quando gli utenti compilano i progetti. Di conseguenza, chiunque abbia compilato un progetto giovedì potrebbe aver esposto il proprio computer e i propri segreti.

Perché viene attribuita la responsabilità alla Corea del Nord

I ricercatori di Wiz Rami McCarthy e Benjamin Read hanno pubblicato un rapporto in cui osservano che il payload di arrayref effettua beaconing verso un percorso di command-and-control, /49890878, che compare anche nella campagna Mastra. Microsoft collega la campagna Mastra a un gruppo di hacker nordcoreani che chiama Sapphire Sleet, che Microsoft ha in passato descritto come un'operazione motivata da fini di lucro che sottrae criptovalute attraverso esche di falso recruiting e altre forme di social engineering.

La sovrapposizione di infrastrutture di questo tipo — percorsi di command-and-control coincidenti, certificati di sicurezza condivisi e fornitori di hosting comuni — è un metodo standard con cui i ricercatori collegano campagne distinte agli stessi autori, anche se non equivale a un'attribuzione formale da parte dei governi.

L'indirizzo internet (IP) utilizzato nell'attacco ad arrayref condivide lo stesso certificato di sicurezza di un altro indirizzo utilizzato in Mastra. Inoltre, una vittima che ha segnalato attività sospette ha indicato un IP che Google Cloud aveva osservato nell'attacco npm ad axios. Mandiant afferma che quell'attacco è stato condotto da un gruppo nordcoreano chiamato UNC1069. Entrambi gli attacchi hanno utilizzato lo stesso fornitore di hosting, Hostwinds.

Una modifica minima, difficile da notare

L'attacco era difficile da rilevare perché modificava pochissimo. Ilyas Makari, ricercatore di sicurezza di Aikido, ha scoperto che il codice effettivo all'interno dei tre pacchetti Rust — arrayref, internment e append-only-vec — non era stato alterato. L'unica modifica era una singola nuova dipendenza, denominata proc-macro1, aggiunta all'elenco di ciascun pacchetto.

Quel nome è un errore di ortografia del popolare crate proc-macro2, che conta oltre 154 milioni di download. Imitare il nome di un pacchetto ampiamente considerato affidabile è una tattica di lunga data nei registri open source come npm e PyPI, dove gli aggiornamenti vengono pubblicati senza revisione manuale del codice. Il crate falso include addirittura il codice reale di proc-macro2, così il software continua a compilarsi e a superare tutti i test.

La parte dannosa era nascosta nello script di build. Cargo esegue automaticamente gli script di build in fase di compilazione, quindi, come spiegato dal Rust Security Response Team nel suo avviso, la semplice compilazione di un progetto che includeva la versione dannosa era sufficiente per innescare l'attacco. Poiché Cargo registra le versioni esatte delle dipendenze nel file Cargo.lock di ciascun progetto, gli sviluppatori possono cercare proc-macro1 in quel file per verificare se una build ha incluso una versione contaminata.

Una volta in esecuzione, la seconda fase dell'attacco sottraeva le password salvate dai browser Chrome, Brave ed Edge e si installava in modo da sopravvivere ai riavvii del computer su Windows, Mac e Linux.

Il più grande compromesso di Rust per numero di download

Aikido ha dichiarato che questo attacco è il più grande compromesso di crate Rust che abbia mai visto, misurato in base ai download. arrayref, utilizzato in strumenti per Solana ed Ethereum, conta circa 244 milioni di download totali. Secondo quanto riportato, l'esposizione è rimasta attiva per 86 minuti prima della cancellazione.

Il team ha comunicato che Nextron Systems ha effettuato la segnalazione iniziale. Una volta scoperto l'attacco, il team ha ripristinato (unyanked) le versioni pulite e bloccato l'account del maintainer. Il team di Rust ha dichiarato di non ritenere che l'autore abbia agito con intento doloso, valutando invece che la sua macchina o le sue credenziali fossero state compromesse. Gli account di maintainer compromessi sono una debolezza ricorrente nella sicurezza open source: la backdoor XZ Utils del 2024, ad esempio, derivò anch'essa da un attaccante che ottenne un ruolo di maintainer affidabile.

Un pattern più ampio di attività legate alla DPRK

Amazon ha divulgato il 29 luglio di aver collegato una serie di compromissioni di librerie npm a un unico attore legato alla DPRK. Anche TRM Labs ha riportato che i gruppi nordcoreani rappresentavano circa il 76% del valore totale degli attacchi informatici alle criptovalute nel 2026 fino ad aprile — circa 577 milioni di dollari.

Il ricercatore di Black Hat Vangelis Stykas ha dichiarato di aver tracciato hacker nordcoreani in 1.640 aziende di 57 paesi. Ha scoperto che spesso adescano gli sviluppatori con false offerte di lavoro che installano malware, in modo simile alla dipendenza di build avvelenata in questo caso.