// TOM'S HARDWARE ITALIA — CYBERSECURITY
Un malware già noto supera i controlli introdotti da npm
I ricercatori di Aikido Security hanno individuato il ritorno di un payload del worm Shai-Hulud in quattro pubblicazioni di pacchetti su npm, caricate nell’arco di un’ora dopo una pausa di 111 giorni. Il codice malevolo ha superato i controlli introdotti dal registro per intercettare le minacce prima che i pacchetti diventino installabili, nonostante fosse già stato documentato nella precedente campagna.
L’episodio precedente risale a maggio, quando un account di manutenzione compromesso aveva pubblicato 639 versioni malevole di pacchetti @antv in una sola ora. Quell’attacco era stato fermato rapidamente. Il collegamento con la nuova attività riguarda direttamente il codice distribuito: l’analisi ha identificato lo stesso payload dell’ondata @antv, senza modifiche rispetto all’esemplare già noto.
Nel frattempo, npm ha introdotto la scansione alla pubblicazione: ogni pacchetto viene trattenuto per un intervallo compreso tra cinque e 15 minuti, durante il quale un sistema automatico lo esamina prima di renderlo disponibile per l’installazione. Le quattro pubblicazioni hanno attraversato questa barriera, passando attraverso la coda di valutazione senza che il payload conosciuto venisse bloccato.
Il riscontro tecnico centrale è l’identità dell’hash, l’impronta digitale del file utilizzata per riconoscere un artefatto. Il valore coincide con quello registrato a maggio: il malware non era stato riconfezionato né leggermente modificato per eludere il confronto con le firme note. Una verifica di questo tipo richiede una ricerca di corrispondenza, senza dover ricostruire il comportamento del programma o interpretare codice offuscato; il payload disponeva inoltre di mesi di documentazione e copertura da parte dei fornitori di sicurezza.
Tra gli elementi tecnici individuati figura il file index.js nella directory principale del pacchetto, avviato dal comando bun run index.js attraverso lo script preinstall. L’esecuzione si inserisce quindi nella fase di installazione della dipendenza. Sono indicati anche due file associati alla persistenza, .vscode/tasks.json e claude/settings.json, che ampliano gli elementi utili a riconoscere la compromissione oltre al solo pacchetto scaricato.
Il comportamento del worm comprende richieste al registro npm per verificare la validità dei token rubati, seguite dal download degli archivi dei pacchetti, dall’iniezione del payload, dall’incremento della versione e dalla ripubblicazione. Questo ciclo consente al codice malevolo di propagarsi attraverso ulteriori pubblicazioni. Un altro segnale è la creazione massiva di repository su GitHub, con nomi ispirati a Dune e descrizioni contenenti la stringa Shai-Hulud scritta al contrario.
Fra gli indicatori di compromissione resta anche t[.]m-kosche[.]com, il dominio di comando e controllo associato alla campagna di maggio. Il dominio si aggiunge all’impronta del payload, ai file di persistenza e alle attività di ripubblicazione osservate. Al momento della pubblicazione della segnalazione non risultava disponibile una risposta di npm alla richiesta di commento sui controlli superati.
Aggiungi Tom's Hardware alle tue fonti preferite su Google