Il malware npm di Tensorlake ruba segreti e sopravvive alla rimozione
Immagine generata con IA

Il malware npm di Tensorlake ruba segreti e sopravvive alla rimozione

La versione 0.5.144 di Tensorlake su npm conteneva un worm ruba-credenziali capace di mantenere l'accesso anche dopo la rimozione, mettendo a rischio i segreti degli sviluppatori e dei servizi cloud.

La versione 0.5.144 di Tensorlake su npm è stata compromessa per rubare credenziali e mantenere l'accesso ai computer colpiti, secondo la società di sicurezza Socket. Il pacchetto, distribuito tramite npm, un registro di pacchetti software JavaScript, è un kit di sviluppo software TypeScript che aiuta gli sviluppatori a creare applicazioni utilizzando le applicazioni, le sandbox e i servizi cloud di Tensorlake. La versione malevola non è più disponibile su npm, ma la rimozione di una copia installata potrebbe non eliminare l'accesso dell'attaccante.

The Hacker News riferisce che la compromissione rientra nell'attacco alla catena di fornitura del software ChainDrop / Shai-Hulud, che diffonde codice malevolo attraverso software da cui dipendono altri sviluppatori. Socket ha individuato nella versione codice deliberatamente offuscato che raccoglie segreti, li invia all'esterno dell'ambiente della vittima ed esegue istruzioni fornite da remoto. Per le aziende e i gestori di siti web, il rischio non riguarda semplicemente il pacchetto in sé, ma gli accessi a disposizione del computer o del processo automatizzato di compilazione che lo ha eseguito.

Secondo StepSecurity, i file malevoli sono entrati nel ramo di sviluppo principale del repository tensorlakeai/tensorlake, l'archivio condiviso del suo codice sorgente, sotto il nome di un manutentore. Il primo commit malevolo, ossia una modifica registrata del codice, risale al 7 ottobre 2026 alle 01:20 UTC. Il flusso di lavoro automatizzato per i rilasci del repository ha pubblicato la versione 0.5.144 su npm il giorno successivo. L'attribuzione delle modifiche al nome di un manutentore non dimostra, di per sé, chi le abbia effettivamente apportate.

Il processo di installazione spiega come la versione di Tensorlake su npm potesse eseguire il proprio codice malevolo. L'analisi di Socket ha rilevato un preinstall hook, un'istruzione eseguita prima dell'installazione del pacchetto, che avvia package/lib/setup.mjs. Questo file JavaScript nasconde il proprio scopo mediante l'offuscamento, una tecnica che rende il codice difficile da comprendere. Utilizza poi Bun, un programma per eseguire JavaScript, per avviare package/lib/Math_Symbol.js, il worm principale incaricato di rubare segreti. Un worm è un malware capace di diffondersi senza che qualcuno debba copiarlo manualmente su ogni nuova vittima.

La raccolta prende di mira file locali, sistemi di integrazione continua (CI) che automatizzano la compilazione e i test del software, sistemi Kubernetes che gestiscono le applicazioni e HashiCorp Vault, un servizio per conservare segreti. Socket elenca token di accesso npm e GitHub, credenziali e segreti di Amazon Web Services (AWS), credenziali Kubernetes, chiavi SSH utilizzate per l'accesso remoto e file .env che contengono comunemente impostazioni e segreti delle applicazioni. Tra gli obiettivi figurano anche portafogli di criptovalute e dati delle app di messaggistica, insieme a file di configurazione e file Model Context Protocol (MCP) associati ad Anthropic Claude, Cursor, Kiro, Windsurf e Zed. MCP collega gli strumenti di intelligenza artificiale ad altri software e fonti di dati.

Il malware installa inoltre sul computer colpito lo strumento di estrazione dati HackBrowserData. Socket afferma che la combinazione di furto, esecuzione di codice da remoto e persistenza, ossia meccanismi che consentono al codice malevolo di restare attivo, crea un'esposizione che va oltre una singola chiave API compromessa, un segreto utilizzato per accedere a un servizio. Qualsiasi segreto leggibile dal processo in esecuzione può essere a rischio. Per un team IT, questo significa valutare le autorizzazioni e le credenziali memorizzate nell'ambiente colpito, anziché presumere che occorra occuparsi solo degli accessi legati a Tensorlake.

Per diffondersi, il worm individua i pacchetti collegati all'account di pubblicazione della vittima e ne ripubblica versioni infette, riferisce Socket. Genera anche attestazioni di provenienza Sigstore, registrazioni pensate per documentare come è stato prodotto il software. I riferimenti nel codice a un falso flusso di lavoro Copilot/Dependabot suggeriscono che inserisca anche flussi di lavoro GitHub Actions, attività automatizzate ospitate su GitHub. Questa scoperta relativa ai flussi di lavoro è un'indicazione ricavata dal codice, non un resoconto confermato di ogni azione compiuta sui sistemi colpiti.

Per le comunicazioni, il malware utilizza un contratto Ethereum, codice memorizzato su quella blockchain, per individuare il proprio endpoint di comando e controllo all'indirizzo iseekaigogo[.]com. Questo endpoint è l'indirizzo attraverso cui gli attaccanti coordinano il malware. GitHub offre un canale alternativo: le informazioni rubate e cifrate possono essere depositate in un repository pubblico la cui descrizione è "Shai-Hulud: Here We Go Again."

Un meccanismo separato di "token in ostaggio" rende il ripristino più delicato. Un programma di monitoraggio scritto in PowerShell, l'ambiente di comando e automazione di Microsoft, interroga ripetutamente api.github.com/user con un token GitHub rubato per verificare se funzioni ancora. Se la vittima revoca quel token, il programma di monitoraggio esegue una routine fornita dall'attaccante tramite Invoke-Expression, un comando che esegue codice PowerShell. La fonte descrive questo meccanismo come probabilmente finalizzato ad attivare comportamenti distruttivi, in linea con una tattica osservata nelle precedenti ondate di Shai-Hulud; non dimostra che in questo incidente si siano verificate azioni distruttive.

Il ricercatore di StepSecurity Ashish Kurmi ha individuato un altro modo in cui il malware può tornare in azione. Scrive i file .claude/settings.json e .vscode/tasks.json nei repository a cui può accedere, così da potersi eseguire nuovamente quando una persona apre il progetto in Claude Code o VS Code. Queste modifiche aiutano a spiegare perché la sola disinstallazione della dipendenza non costituisca una risposta completa: le impostazioni del progetto possono fornire un percorso separato per l'esecuzione.

ChainDrop è stato documentato per la prima volta all'inizio di agosto 2026, dopo la compromissione di centinaia di pacchetti npm, tra cui Keyv e Cacheable. Quei pacchetti contenevano una variante Mini Shai-Hulud, che utilizzava anch'essa codice malevolo JavaScript offuscato ed eseguito tramite Bun per rubare credenziali e propagarsi. La compromissione di Tensorlake estende questa attività alle infrastrutture degli agenti di intelligenza artificiale (AI), software utilizzato dai sistemi di AI che svolgono compiti, dove gli strumenti di sviluppo possono avere accesso a segreti aziendali.

Per i lettori che cercano aiuto nel valutare questo tipo di esposizione degli ambienti di sviluppo, AEU-I offre servizi IT, infrastrutturali e di consulenza che mettono la sicurezza al primo posto: una fonte di supporto pertinente, non una promessa di protezione contro questo specifico worm. La fonte consiglia a chiunque abbia installato la versione 0.5.144 di Tensorlake di rimuoverla immediatamente e sostituire le credenziali esposte. Considerati i comportamenti di persistenza e monitoraggio dei token segnalati, le aziende colpite dovrebbero affidare al proprio team IT il coordinamento di queste attività insieme ai controlli per individuare impostazioni di progetto e flussi di lavoro malevoli, anziché considerare la rimozione del pacchetto una prova dell'avvenuto ripristino.

Come Proteggerti

  1. Chiedi allo sviluppatore del tuo sito web o al tuo fornitore IT di verificare se la versione 0.5.144 di Tensorlake è stata installata su un computer o un sistema utilizzato per realizzare il tuo sito.
  2. Se viene trovata quella versione, chiedi al tuo fornitore IT di rimuoverla e di verificare la presenza di impostazioni di progetto dannose prima che qualcuno riapra i progetti interessati.
  3. Chiedi al tuo fornitore IT di coordinare la sostituzione delle chiavi di accesso e dei token degli account esposti, perché questo malware potrebbe reagire quando viene revocato l'accesso a GitHub rubato.
  4. Chiedi alla persona che gestisce il tuo account GitHub di controllare le modifiche recenti al codice e le attività automatiche per individuare quelle che non ha autorizzato.

I Termini Spiegati

  • npm Un registro che gli sviluppatori utilizzano per ottenere e pubblicare pacchetti software JavaScript riutilizzabili.
  • supply chain attack Un attacco che compromette software di cui le persone si fidano per raggiungere le persone o le aziende che lo utilizzano.
  • preinstall hook Un'istruzione che viene eseguita automaticamente prima dell'installazione di un pacchetto software.
  • continuous integration (CI) Un processo automatico che compila e verifica il software quando gli sviluppatori lo modificano.
  • persistence I modi in cui un software dannoso mantiene la capacità di essere eseguito dopo l'infezione iniziale.
  • access tokens Segreti digitali che consentono a un software di utilizzare un account senza inserire ogni volta la password.
  • command-and-control Il sistema di comunicazione che gli attaccanti utilizzano per impartire istruzioni al software dannoso.

Servizi AEU correlati

  • AEU-I Consulenza IT e sicurezza
  • AEU Data Infrastruttura cloud e dati