Ricercatori di cybersecurity di ReversingLabs hanno scoperto due righe di codice malevolo incorporate in un aggiornamento per ETHCode, un toolkit di sviluppo Ethereum open-source utilizzato da circa 6,000 sviluppatori. Il codice malevolo è stato inserito tramite una pull request su GitHub che ha superato con successo sia le revisioni di sicurezza dell'intelligenza artificiale che la supervisione umana prima di essere distribuito ai sistemi degli sviluppatori.
Cosa sapere:
- Un hacker senza storia precedente su GitHub ha inserito malware in ETHCode attraverso una pull request di 43 commit contenente 4,000 righe aggiornate.
- Il codice malevolo era progettato per scaricare ed eseguire script che potevano potenzialmente rubare risorse in criptovaluta o compromettere smart contract.
- Sia l'AI reviewer di GitHub che il team di sviluppo non sono riusciti a rilevare l'attacco sofisticato, sollevando preoccupazioni sulla sicurezza open-source.
Dettagli dell'attacco emersi grazie all'indagine
La pull request malevola è stata presentata il 17 giugno da un utente identificato come Airez299, che non aveva precedenti contributi sulla piattaforma. I ricercatori di ReversingLabs hanno scoperto che l'attaccante è riuscito a oscurare il codice malevolo dandogli un nome simile a file esistenti mentre offuscava la reale struttura del codice.
La prima riga di codice malevolo era progettata per fondersi perfettamente con i file legittimi. La seconda riga fungeva da meccanismo di attivazione che avrebbe infine creato una funzione PowerShell progettata per scaricare ed eseguire script batch da servizi di hosting file pubblici.
Sia l'AI reviewer automatizzato di GitHub che i membri di 7finney, il gruppo responsabile della manutenzione di ETHCode, hanno analizzato l'aggiornamento massivo del codice. Solo modifiche minori sono state richieste durante il processo di revisione, senza che né i revisori umani né i sistemi automatizzati segnassero il malware incorporato come sospetto.
Impatto potenziale su migliaia di sistemi
ETHCode funge da suite completa di strumenti che consente agli sviluppatori di Ethereum di costruire e distribuire smart contract compatibili con la Ethereum Virtual Machine. L'aggiornamento compromesso sarebbe stato distribuito automaticamente ai sistemi degli utenti attraverso meccanismi di aggiornamento standard.
Il ricercatore di ReversingLabs Petar Kirhmajer ha detto a Decrypt che il firmato non ha trovato prove che il codice malevolo sia effettivamente stato eseguito per rubare token o dati. Tuttavia, la portata potenziale dell'attacco rimane significativa, data la base di utenti dello strumento.
"La pull request potrebbe essersi diffusa a migliaia di sistemi di sviluppatori," ha notato Kirhmajer nel blog di ricerca. ReversingLabs continua a indagare sulla funzionalità esatta degli script scaricati, operando sotto l'assunzione che fossero "destinati a rubare risorse crypto conservate sul computer della vittima o, alternativamente, a compromettere i contratti Ethereum in fase di sviluppo da parte degli utenti dell'estensione."
L'attacco rappresenta un compromesso sofisticato della catena di fornitura che ha sfruttato la fiducia insita nei processi di sviluppo open-source.
Esperti del settore avvertono di vulnerabilità diffuse
Lo sviluppatore Ethereum e co-fondatore di NUMBER GROUP Zak Cole ha enfatizzato che questo tipo di attacco riflette sfide di sicurezza più ampie che il settore dello sviluppo di criptovalute deve affrontare. Molti sviluppatori installano pacchetti open-source senza effettuare revisioni di sicurezza approfondite.
"È fin troppo facile per qualcuno introdurre qualcosa di malevolo," ha detto Cole a Decrypt. "Potrebbe essere un pacchetto npm, un'estensione del browser, qualunque cosa."
La dipendenza intensa dall'open-source nell'industria delle criptovalute crea una superficie di attacco in espansione per attori malevoli. Cole ha sottolineato incidenti di alto profilo recenti, tra cui lo sfruttamento del Ledger Connect Kit nel dicembre 2023 e il malware scoperto nella libreria web3.js di Solana.
"C'è troppo codice e non abbastanza occhi su di esso," ha aggiunto Cole. "La maggior parte delle persone presume semplicemente che le cose siano sicure perché sono popolari o ci sono da un po', ma non significa nulla."
Cole ha notato che la superficie di attacco indirizzabile continua ad espandersi man mano che più sviluppatori adottano strumenti open-source. Ha anche evidenziato il coinvolgimento di attori statali sponsorizzati in questi attacchi.
"Inoltre, tenere presente che ci sono interi magazzini pieni di operativi del DPRK il cui lavoro a tempo pieno è eseguire questi exploit," ha detto Cole.
Raccomandazioni di sicurezza per gli sviluppatori
Nonostante la natura sofisticata dell'attacco, gli esperti di sicurezza ritengono che i compromessi di successo rimangano relativamente rari. Kirhmajer ha stimato che "i tentativi di successo sono molto rari" in base alla sua esperienza di ricerca.
ReversingLabs raccomanda agli sviluppatori di verificare l'identità e la storia delle contribuzioni dei contributori di codice prima di scaricare o implementare aggiornamenti. La società suggerisce anche di esaminare i file package.json e dichiarazioni di dipendenza simili per valutare le nuove relazioni di codice.
Cole ha sostenuto misure di sicurezza aggiuntive, inclusa la blocca delle dipendenze per prevenire l'inclusione automatica di aggiornamenti di codice non testati. Ha raccomandato l'uso di strumenti di scansione automatizzati in grado di identificare schemi di comportamento sospetti o profili di maintainer discutibili.
Gli sviluppatori dovrebbero anche monitorare pacchetti che improvvisamente cambiano proprietà o rilasciano aggiornamenti inattesi. Cole ha enfatizzato l'importanza di mantenere ambienti separati per diverse attività di sviluppo.
"Inoltre, non eseguire strumenti di firma o portafogli sullo stesso computer che usi per costruire cose," ha concluso Cole. "Presumi semplicemente che nulla sia sicuro a meno che tu non l'abbia controllato o isolato."
Pensieri conclusivi
Questo incidente evidenzia le sfide continue di sicurezza che lo sviluppo di criptovalute open-source deve affrontare, dove attaccanti sofisticati possono sfruttare meccanismi di fiducia per distribuire malware a migliaia di sistemi di sviluppatori. Anche se nessuna prova suggerisce che il codice malevolo sia stato eseguito con successo, l'attacco dimostra la necessità di pratiche di sicurezza migliorate e processi di verifica all'interno dell'ecosistema di sviluppo di criptovalute.