Cybersicurezza

GlassWorm è vissuto un anno nelle estensioni di VS Code prima di essere smantellato

Susan Hill

Per oltre un anno alcuni degli sviluppatori che costruiscono le app del tuo telefono hanno lavorato, senza saperlo, per qualcun altro. Un programma malevolo chiamato GlassWorm viveva dentro estensioni di Visual Studio Code, l’editor di codice più usato al mondo, e dentro i pacchetti open source che quegli sviluppatori inseriscono ogni giorno nei loro progetti. Raccoglieva le loro password, dirottava i loro account e li usava per installarsi in altro software ancora. CrowdStrike, Google e la Shadowserver Foundation gli hanno appena tagliato i fili.

La cosa riguarda anche chi non ha mai aperto un editor di codice, perché la catena di fornitura del software è esattamente questo, una catena. L’app di messaggistica del telefono, quella della banca, il gioco sulla console poggiano tutti su migliaia di piccoli mattoni open source scritti e mantenuti da altre persone. Avvelena uno di quei mattoni e il veleno può scendere a valle fino a prodotti finiti usati da milioni di persone. GlassWorm era costruito per cavalcare quella corrente senza farsi vedere.

A distinguerlo era il modo di nascondersi. I suoi operatori scrivevano le istruzioni malevole con caratteri Unicode invisibili, codice che nell’editor appare come spazio vuoto, così che uno sviluppatore nel rivedere il file non notava nulla di strano. I ricercatori di Koi Security, che per primi hanno identificato la campagna, lo hanno definito il primo worm capace di propagarsi da solo attraverso le estensioni degli editor di codice. Ogni macchina infettata diventava il punto di partenza per la successiva.

La maggior parte degli attacchi alla catena di fornitura è un colpo mordi e fuggi: un pacchetto avvelenato viene trovato, rimosso e corretto in pochi giorni. GlassWorm era fatto per durare. Poiché rubava le credenziali che gli servivano per propagarsi, poteva continuare a reinstallarsi molto dopo la rimozione di una qualsiasi estensione, ed è così che una sola operazione ha raggiunto centinaia di progetti e decine di migliaia di download in più di un anno.

Le vie di infezione erano l’idraulica quotidiana del lavoro sul software. Gli operatori caricavano estensioni truccate su Open VSX, il marketplace che alimenta VS Code e i suoi cugini Cursor, Windsurf, Positron e VSCodium, travestendole da strumenti innocui come cronometri o formattatori di codice. Infilavano codice manomesso nei pacchetti di npm e dell’indice Python tramite script di installazione che partono da soli e, con credenziali sottratte a vittime precedenti, forzavano modifiche malevole nei rami principali di oltre 300 repository su GitHub. Una volta dentro una macchina, GlassWorm cercava chiavi: token npm, accessi a GitHub, i token di pubblicazione che permettono di caricare estensioni e i portafogli di criptovalute. Trasformava i computer infetti in server di passaggio per altro traffico criminale e, in alcuni casi, installava un software di accesso remoto nascosto che dava agli operatori una vista in diretta dello schermo.

Smantellarlo significava colpire il modo in cui gli operatori restavano in contatto con le loro macchine, e qui GlassWorm era stato progettato per sopravvivere. Invece di affidarsi a un unico server di comando scollegabile, usava quattro canali insieme. Uno cifrava le istruzioni dentro transazioni della blockchain Solana, un registro pubblico pensato per essere permanente e fuori portata. Un altro nascondeva la configurazione nella rete di scambio file BitTorrent. Un terzo infilava indirizzi web codificati nei titoli degli eventi di Google Calendar. Il quarto era un comune server in affitto. Il team Counter Adversary Operations di CrowdStrike, insieme a Google e Shadowserver, ha reciso l’intero insieme in un’unica operazione coordinata.

Tagliare i fili non è la stessa cosa che pulire la ferita. Tagliare i canali impedisce agli operatori di inviare nuovi ordini e nuovi payload, ma non rimuove GlassWorm dalle macchine che già controlla, e ogni password già rubata resta rubata. Non è nemmeno la prima interruzione della campagna. Dopo che Koi Security l’ha portata alla luce, GlassWorm è tornato, una volta con due dozzine di nuove estensioni malevole e mesi dopo con decine di altre. Il canale blockchain che i ricercatori descrivevano come impossibile da smantellare è appena stato smantellato, ma chi c’è dietro ha dimostrato più volte di saper ricostruire.

Gli investigatori ritengono che gli operatori siano probabilmente in Russia. Il programma controlla lingua e fuso orario del computer all’avvio e si chiude in silenzio se finisce su un sistema in Russia o in un paese vicino dell’ex orbita sovietica, una firma tipica dei gruppi criminali che operano dalla regione ed evitano le vittime locali. CrowdStrike ha riassunto il cambiamento senza giri di parole: gli attaccanti non puntano più solo ai prodotti, puntano agli sviluppatori che li costruiscono. La Shadowserver Foundation ha iniziato ad avvisare le organizzazioni colpite perché ripuliscano i sistemi e rinnovino ogni credenziale che possa essere trapelata, e per tutti quelli più a valle nella catena il lavoro vero comincia ora, mentre i team controllano quali estensioni e pacchetti hanno installato dall’inizio del 2025. L’infrastruttura è spenta. La bonifica è appena cominciata.

Discussione

Ci sono 0 commenti.