Un’offerta di lavoro che sembra un sogno. Un test tecnico su un repository Git che parla di blockchain e innovazione. Ma la vera “magia” accade nel momento in cui fate doppio clic sulla cartella in Visual Studio Code. Gli hacker nordcoreani del gruppo WaterPlum hanno ufficialmente alzato il tiro con il lancio di StoatWaffle, un malware modulare scritto in Node.js che sta seminando il panico nella campagna “Contagious Interview“. Non serve installare software sospetti: StoatWaffle sfrutta una funzione legittima di VSCode (i file tasks.json) per scaricarsi in automatico, installare Node.js se non lo trova e iniziare a spiare ogni vostro movimento. Dalle password salvate nel browser fino alle chiavi segrete della Keychain su macOS, questo predatore digitale invia dati ai suoi server ogni 5 secondi, trasformando il vostro ambiente di sviluppo in una finestra aperta verso Pyongyang. Se il progetto sembra troppo bello per essere vero, probabilmente è uno StoatWaffle.
Cosa leggere
WaterPlum evolve la campagna Contagious Interview con StoatWaffle
Il nuovo malware StoatWaffle rappresenta un’evoluzione diretta di strumenti precedenti come OtterCookie, utilizzati dal gruppo WaterPlum nelle campagne di cyber spionaggio e furto di dati. La strategia resta focalizzata sul targeting di sviluppatori e professionisti IT, sfruttando repository Git falsi legati a progetti blockchain per attirare le vittime. Questa tecnica rientra nel modello di attacco alla software supply chain, dove il codice apparentemente legittimo diventa il veicolo di infezione. Gli sviluppatori, spesso abituati a clonare repository e testare progetti, abbassano la soglia di attenzione, rendendo il vettore particolarmente efficace.
Repository VSCode malevoli attivano il malware all’apertura del progetto
Il meccanismo di infezione sfrutta una funzionalità legittima di Visual Studio Code. I repository malevoli includono una cartella .vscode con un file tasks.json configurato per eseguire automaticamente un task quando la cartella viene aperta. Quando l’utente apre il progetto, il task avvia un comando tramite cmd.exe che scarica ed esegue un downloader iniziale. Questo approccio consente agli attaccanti di eseguire codice senza interazione esplicita, mascherando l’attività come parte del normale workflow di sviluppo.

La tecnica è particolarmente insidiosa perché non sfrutta vulnerabilità software, ma abusa di funzionalità legittime, rendendo più difficile il rilevamento da parte dei sistemi di sicurezza tradizionali.
Il bootstrap installa Node.js automaticamente per garantire l’esecuzione
Una volta avviato, il malware esegue uno script batch chiamato vscode-bootstrap.cmd, che verifica la presenza di Node.js sul sistema. Se Node.js non è installato, il malware lo scarica automaticamente dal sito ufficiale e lo configura localmente. Successivamente, vengono scaricati file come env.npl e package.json, che costituiscono la base del loader. Questo passaggio garantisce compatibilità su un’ampia gamma di sistemi, eliminando la dipendenza da configurazioni preesistenti e aumentando la superficie di attacco. L’uso di Node.js consente inoltre al malware di integrarsi facilmente con ambienti di sviluppo, riducendo ulteriormente la probabilità di rilevamento.
Loader modulare comunica con server C2 tramite polling continuo
Il file env.npl funge da loader principale e stabilisce una comunicazione costante con il server C2 (Command and Control). Il sistema effettua richieste ogni 5 secondi verso endpoint specifici, ricevendo codice dinamico da eseguire in tempo reale. Questa architettura modulare permette agli attaccanti di aggiornare il comportamento del malware senza reinstallarlo, adattando le operazioni in base agli obiettivi o alle difese incontrate. Un secondo componente replica il polling su endpoint alternativi, garantendo ridondanza e continuità operativa. L’utilizzo di infrastrutture cloud come Vercel per ospitare i server C2 aggiunge un ulteriore livello di stealth, rendendo più complesso il blocco delle comunicazioni malevole.
Il modulo Stealer estrae credenziali da browser e sistemi macOS
Il componente Stealer è progettato per raccogliere informazioni sensibili. Il malware estrae credenziali da browser basati su Chromium e Firefox, inclusi login salvati e dati delle estensioni. Su sistemi macOS, StoatWaffle accede direttamente al database della Keychain, ottenendo accesso a password e certificati. Il malware esegue anche un inventario completo del software installato e raccoglie file sensibili, archiviandoli in directory temporanee prima dell’esfiltrazione. I dati vengono inviati al server C2 tramite endpoint dedicati, consentendo agli attaccanti di ottenere una visione dettagliata dell’ambiente compromesso. Il supporto per ambienti WSL (Windows Subsystem for Linux) dimostra un’attenzione particolare agli ambienti di sviluppo ibridi.
Il modulo RAT consente controllo remoto persistente
Oltre al furto di dati, StoatWaffle include un modulo RAT (Remote Access Trojan) che permette agli attaccanti di mantenere il controllo a lungo termine del sistema infetto. Il malware riceve comandi dal server C2, li esegue e invia i risultati in tempo reale. Questa capacità consente operazioni avanzate come esecuzione di codice arbitrario, movimento laterale nella rete e raccolta di informazioni aggiuntive. La combinazione di Stealer e RAT rende StoatWaffle uno strumento completo per operazioni di cyber espionage e attacchi mirati.
Indicatori di compromissione e raccomandazioni per la difesa
Gli esperti di sicurezza hanno identificato diversi indirizzi IP associati ai server C2, tra cui 185.163.125.196, 147.124.202.208, 163.245.194.216, 66.235.168.136 e 87.236.177.9. Il monitoraggio e il blocco di queste destinazioni rappresentano una prima linea di difesa. Le organizzazioni dovrebbero inoltre controllare attività sospette legate a VSCode, esecuzione automatica di task e installazioni non autorizzate di Node.js. L’analisi dei log e l’adozione di strumenti EDR possono aiutare a individuare comportamenti anomali. La formazione degli sviluppatori resta fondamentale. Verificare l’origine dei repository, evitare codice non verificato e limitare l’esecuzione automatica di task sono pratiche essenziali per ridurre il rischio.
Malware Node.js e supply chain segnano una nuova fase del cybercrime
StoatWaffle evidenzia una tendenza crescente: l’uso di linguaggi e strumenti comuni agli sviluppatori per costruire malware avanzati. L’adozione di Node.js permette agli attaccanti di operare in ambienti familiari, riducendo le barriere tecniche e aumentando l’efficacia degli attacchi. La combinazione di social engineering, supply chain compromise e infrastrutture cloud rende questi attacchi particolarmente difficili da individuare e contrastare. Il caso WaterPlum dimostra come i gruppi avanzati continuino a innovare rapidamente, adattandosi alle difese e sfruttando nuove superfici di attacco. Per aziende e sviluppatori, la sicurezza deve evolvere di pari passo, con un focus crescente sulla verifica del codice, sulla gestione degli accessi e sulla protezione degli ambienti di sviluppo.
Iscriviti alla Newsletter
Non perdere le analisi settimanali: Entra nella Matrice Digitale.
Matrice Digitale partecipa al Programma Affiliazione Amazon EU. In qualità di Affiliato Amazon, ricevo un guadagno dagli acquisti idonei. Questo non influenza i prezzi per te.









