Corea del Nord abusa di Visual Studio Code per diffondere malware su macOS

di Redazione
0 commenti
visual studio code macos dprk

Attori minacciosi collegati alla Corea del Nord hanno esteso l’abuso di Visual Studio Code trasformando workflow di sviluppo legittimi in un vettore di infezione persistente su macOS. L’analisi pubblicata da Jamf Threat Labs documenta l’evoluzione della campagna Contagious Interview, già osservata in precedenza, che sfrutta repository Git apparentemente innocui per eseguire codice arbitrario quando i progetti vengono aperti nell’editor Microsoft. L’operazione prende di mira in modo selettivo sviluppatori macOS coinvolti in processi di selezione, test tecnici o collaborazioni freelance, sfruttando la fiducia implicita riposta negli strumenti di lavoro quotidiani.

Evoluzione della campagna Contagious Interview

La campagna Contagious Interview si è progressivamente raffinata nel tempo. In una prima fase gli attaccanti avevano adottato tecniche di tipo ClickFix, inducendo le vittime a compiere azioni manuali per avviare l’infezione. Successivamente, come osservato da Jamf in collaborazione con OpenSourceMalware, sono stati introdotti file apparentemente secondari, tra cui dizionari contenenti JavaScript offuscato, in grado di eseguire automaticamente codice al momento dell’apertura del repository.

Nel periodo osservato, gli attori hanno dimostrato un’elevata capacità di adattamento. Dopo la rimozione di infrastrutture note, gli URL dei payload sono migrati rapidamente verso nuovi domini, spesso ospitati su vercel.app, con parametri dinamici che facilitano il recupero del codice malevolo. Repository ospitati su piattaforme come GitHub e GitLab sono stati utilizzati come punto di distribuzione iniziale, spesso sotto il pretesto di offerte di lavoro o esercizi di valutazione tecnica.

Il ruolo di Visual Studio Code come vettore di attacco

Il cuore dell’operazione risiede nell’abuso di Visual Studio Code. Quando una vittima clona un repository e lo apre nell’editor, Visual Studio Code richiede esplicitamente di fidarsi dell’autore del progetto. Questo passaggio, comune e spesso automatico per gli sviluppatori, abilita l’elaborazione dei file di configurazione presenti nella cartella .vscode.

image 575
Corea del Nord abusa di Visual Studio Code per diffondere malware su macOS 19

Gli attaccanti inseriscono configurazioni malevole all’interno del file tasks.json, sfruttando una funzionalità pensata per automatizzare task di build o test. Una volta concessa la fiducia, Visual Studio Code elabora il file e avvia comandi arbitrari. Su macOS, Jamf ha osservato l’esecuzione di comandi shell in background tramite nohup bash -c, con curl utilizzato per scaricare silenziosamente un payload JavaScript remoto e inviarlo direttamente a Node.js per l’esecuzione. L’output viene rediretto verso /dev/null, riducendo la visibilità dell’attività malevola.

Dettagli tecnici dell’infezione su macOS

Dal punto di vista tecnico, il payload JavaScript iniziale presenta una struttura volutamente “gonfiata”, con funzioni ridondanti e stringhe prive di utilità operativa, una scelta che complica l’analisi statica. Il codice implementa un backdoor completo, capace di eseguire codice remoto attraverso l’uso dinamico di new Function, importando moduli Node.js come child_process, os e path per interagire con il sistema.

image 576
Corea del Nord abusa di Visual Studio Code per diffondere malware su macOS 20

Il malware effettua un fingerprinting dettagliato del dispositivo compromesso. Vengono raccolti hostname, indirizzi MAC, informazioni sul sistema operativo e l’indirizzo IP pubblico, ottenuto tramite servizi esterni. Questi dati vengono inviati periodicamente a un server di comando e controllo, con un meccanismo di beaconing ogni pochi secondi, che consente agli attaccanti di mantenere una presenza costante sulla macchina infetta.

Jamf ha identificato più varianti del payload, accomunate da pattern di offuscamento simili e da una logica di persistenza che garantisce l’esecuzione anche dopo la chiusura di Visual Studio Code. L’uso di processi child avviati in modalità detached rende la rilevazione iniziale particolarmente complessa per strumenti di sicurezza tradizionali.

Impatto per sviluppatori e ambienti aziendali

L’impatto della campagna è rilevante sia a livello individuale sia organizzativo. Gli sviluppatori macOS colpiti rischiano la compromissione totale del sistema, con possibilità di esfiltrazione di credenziali, codice sorgente e informazioni sensibili. In contesti aziendali, l’infezione di una workstation di sviluppo può rappresentare il punto di ingresso per movimenti laterali e attività di spionaggio più ampie.

La campagna dimostra come gli attori DPRK continuino a privilegiare operazioni low-noise, basate su strumenti legittimi e flussi di lavoro reali, riducendo la probabilità di allerta immediata. L’abuso di Visual Studio Code, utilizzato da milioni di professionisti, amplifica in modo significativo la superficie di attacco.

Difese e misure di mitigazione raccomandate

Jamf raccomanda l’attivazione delle funzionalità di Threat Prevention in modalità blocco, in grado di intercettare l’esecuzione dei payload osservati. È fondamentale che gli sviluppatori verifichino attentamente il contenuto dei repository prima di concedere fiducia all’autore, con particolare attenzione ai file tasks.json, package.json e agli script di installazione.

In scenari di recruiting o collaborazione esterna, la validazione della fonte e l’uso di ambienti sandbox o macchine isolate riducono sensibilmente il rischio. A livello di rete, il monitoraggio di traffico anomalo verso domini di hosting temporaneo e indirizzi IP noti per il comando e controllo rappresenta un ulteriore livello di difesa. La collaborazione tra ricercatori, vendor e piattaforme di hosting rimane essenziale per limitare la persistenza di queste infrastrutture malevole.

Indicatori di compromissione e attività di risposta

Jamf ha condiviso una serie di indicatori di compromissione utili per la detection, inclusi hash dei payload JavaScript, URL ospitati su vercel.app e indirizzi IP utilizzati per il beaconing. Il monitoraggio di processi Node.js avviati con parametri sospetti e di richieste ricorrenti verso endpoint remoti rappresenta un segnale chiave di infezione in corso.

La campagna Contagious Interview evidenzia una tendenza preoccupante: la convergenza tra supply chain del software, social engineering e abuso di strumenti di sviluppo. In questo scenario, la sicurezza non può più limitarsi al perimetro tradizionale, ma deve estendersi ai workflow quotidiani degli sviluppatori, dove fiducia e produttività diventano, se mal gestite, un moltiplicatore di rischio.

Domande frequenti su abuso di Visual Studio Code e malware macOS

Perché Visual Studio Code è diventato un vettore di attacco efficace?

Perché consente l’esecuzione automatizzata di task configurabili nei progetti fidati, una funzionalità potente che può essere abusata quando l’utente concede fiducia a repository malevoli.

Chi è il bersaglio principale della campagna Contagious Interview?

Sviluppatori macOS coinvolti in colloqui di lavoro, test tecnici o collaborazioni freelance, selezionati tramite pretesti credibili legati al recruiting.

Qual è il rischio principale dopo l’infezione?

La presenza di una backdoor persistente consente esecuzione di codice remoto, esfiltrazione di dati e potenziale compromissione di reti aziendali.

Come è possibile ridurre il rischio quando si aprono nuovi repository?

Verificando manualmente i file di configurazione, evitando di concedere fiducia automatica ai progetti e utilizzando ambienti isolati per testare codice di origine non verificata.

Iscriviti a Matrice Digitale

Ricevi le notizie principali direttamente nella tua casella di posta.

Niente spam, disiscriviti quando vuoi.


Matrice Digitale partecipa al Programma Affiliazione Amazon EU, un programma di affiliazione che consente ai siti di percepire una commissione pubblicitaria pubblicizzando e fornendo link al sito Amazon.it.