Sommario
L’ultima campagna di supply chain software individuata dal team di ricerca di Socket segna un salto qualitativo nell’attacco ai sistemi degli sviluppatori. Il gruppo nordcoreano responsabile della campagna Contagious Interview ha innestato nella registry oltre 67 pacchetti npm malevoli, scaricati più di 17.000 volte, molti dei quali ancora attivi. In parallelo all’azione del noto HexEval Loader, emerge la nuova minaccia XORIndex Loader, dotata di tecniche di offuscamento e rotazione degli endpoint che ne aumentano la resilienza e l’elusione ai controlli di sicurezza.

Il cuore della campagna resta il social engineering: i criminali si fingono recruiter su LinkedIn, persuadendo sviluppatori a installare codice infetto attraverso incarichi tecnici trappola. La vittima viene spinta a eseguire il software in ambienti non protetti, spesso condivisione schermo e richieste insistenti, rendendo il vettore di compromissione estremamente efficace.
Come funziona la compromissione della catena di distribuzione del software
L’obiettivo degli attaccanti è inserire malware direttamente nella catena di distribuzione del software, sfruttando la fiducia nel modello open source. I pacchetti npm pubblicati imitano progetti legittimi tramite typosquatting e nomenclature simili, come “vite-”, “-log*”, “react-*”, con la diffusione favorita dall’inconsapevolezza della community. Il risultato è la diffusione rapida di codice dannoso anche in ambienti produttivi altamente specializzati.
La campagna utilizza incarichi di coding simulati: tramite Google Docs o repository manipolati, vengono proposti progetti in cui sono nascosti i moduli compromessi. Solo dopo la consegna del test o la richiesta di modifiche, la vittima scopre la presenza di codice malevolo, spesso troppo tardi per intervenire.
Evoluzione e caratteristiche tecniche di HexEval e XORIndex Loader
Il HexEval Loader è stato protagonista delle prime ondate. Adotta una strategia di offuscamento tramite codifica esadecimale, che maschera stringhe, endpoint e comandi per confondere l’analisi statica. Al momento dell’installazione, raccoglie dati dal sistema come variabili d’ambiente, hostname, username, sistema operativo, indirizzo MAC, e trasmette tutto a server C2 controllati dagli attori malevoli.

Il nuovo XORIndex Loader innalza ulteriormente il livello, introducendo una codifica XOR delle stringhe e la rotazione dinamica degli endpoint. La telemetria inviata comprende IP pubblico, geolocalizzazione, piattaforma, versione del pacchetto. La risposta dei server è sempre uno script offuscato, pronto a essere eseguito tramite eval() per installare BeaverTail, il malware di secondo stadio progettato per l’infostealing.
Strategia modulare e rotazione delle identità digitali
La campagna si caratterizza per una strategia modulare. HexEval e XORIndex Loader sono distribuiti in parallelo e aggiornati costantemente. L’infrastruttura C2 utilizza provider legittimi come Vercel e npoint.io, che rendono difficile il blocco automatico. Vengono impiegati decine di account npm fittizi e indirizzi email sempre nuovi per eludere la deplatformizzazione.
In ogni ondata, i loader vengono rapidamente sostituiti da nuove varianti quando scoperti, mentre i pacchetti rimossi vengono immediatamente rimpiazzati. Gli sviluppatori DevOps, spesso dotati di privilegi elevati, sono bersagli strategici perché rappresentano un punto d’accesso privilegiato all’intera infrastruttura di sviluppo.
Analisi della catena di infezione: telemetria, offuscamento ed esfiltrazione dati
Il ciclo di infezione inizia con il download e l’installazione di un pacchetto npm trappola. La prima azione eseguita è la raccolta della telemetria di sistema: hostname, utente, sistema operativo, IP pubblico e posizione. I dati vengono offuscati tramite codifica XOR o esadecimale, poi inviati a uno degli endpoint C2 selezionati. La risposta è sempre uno script Javascript offuscato, eseguito in memoria, che attiva BeaverTail.
BeaverTail esplora il filesystem alla ricerca di directory collegate a wallet di criptovalute, browser, database e chiavi di sistema, comprime i dati in archivi temporanei e li esfiltra tramite HTTP POST verso server controllati dal gruppo. In casi selezionati, viene scaricata anche la backdoor InvisibleFerret per garantire accesso remoto persistente.
La pipeline di offuscamento implementa funzioni di decodifica runtime e evita la scrittura su disco di payload intermedi, rendendo i loader particolarmente difficili da individuare con signature statiche. L’infrastruttura C2 viene aggiornata frequentemente e ospitata su servizi cloud mainstream, abbassando ulteriormente il rischio di detection automatica.
Ingegneria sociale: come avviene la compromissione iniziale
Il punto di ingresso è sempre l’ingegneria sociale. Gli attaccanti costruiscono profili fittizi su LinkedIn, presentandosi come recruiter di grandi aziende o agenzie tech. Vengono proposte offerte di lavoro con stipendi elevati (fino a 300.000 dollari, circa 275.000 euro), soprattutto per ruoli remoti, per convincere sviluppatori di talento a partecipare.
La sequenza è precisa: contatto via LinkedIn, invio di assignment tramite Google Docs o PDF, richiesta di clonare repository che includono le dipendenze malevole, pressione per eseguire il codice al di fuori di ambienti isolati (container, VM) e, in alcuni casi, richiesta di condividere lo schermo per monitorare l’esecuzione. La capacità di personalizzare la comunicazione in base al profilo della vittima e alle esperienze pubbliche rappresenta un punto di forza della campagna.
Tecniche di difesa e rischi per la filiera open source
L’efficacia della campagna Contagious Interview mostra come le soluzioni tradizionali di sicurezza non siano più sufficienti di fronte a minacce supply chain così evolute. Gli attaccanti sfruttano sia la fiducia nella filiera open source, sia la mancanza di strumenti di verifica automatica delle dipendenze. Un approccio efficace richiede l’adozione di strumenti specifici per il monitoraggio delle pull request, l’analisi in tempo reale delle dipendenze e il controllo continuo dei repository.
Risulta fondamentale che sviluppatori, DevOps e team di sicurezza mantengano alta l’attenzione sul fenomeno del typosquatting, verifichino la legittimità di offerte lavorative ricevute, e isolino sempre il codice di provenienza esterna prima di qualsiasi esecuzione in ambiente produttivo.
Dettaglio tecnico: pipeline di decodifica e offuscamento runtime
I loader HexEval e XORIndex sfruttano un livello di offuscamento e decodifica runtime delle stringhe senza precedenti. Il codice, solo apparentemente innocuo, nasconde routine che, una volta eseguite, ricostruiscono URL, comandi e istruzioni tramite codifica esadecimale o XOR. Le informazioni raccolte vengono inviate in modo selettivo agli endpoint, che restituiscono script malevoli pronti per l’esecuzione tramite eval().
La seconda fase, orchestrata da BeaverTail, prevede l’individuazione di quasi cinquanta directory collegate a wallet desktop o browser extension, la raccolta di file critici come database wallet, keychain e seed, la compressione e l’invio a server remoti. Il caricamento della backdoor InvisibleFerret completa la compromissione, consentendo un accesso stealth persistente.
Minaccia in crescita e previsioni evolutive
Le evidenze raccolte indicano che la strategia nordcoreana punta su cicli rapidi di sviluppo, aggiornamento delle tecniche di evasione, e utilizzo crescente di infrastrutture cloud legittime per l’hosting dei C2. L’aumento delle tecniche di esecuzione in memoria e dell’offuscamento avanzato renderà ancora più complesso rilevare tempestivamente queste minacce in futuro.