Perdita di S1ngularity: GitHub e NPM interessati 🚨
Recenti indagini sull'attacco alla supply chain denominato "s1ngularity" contro Nx rivelano un'enorme fuga di credenziali: migliaia di token di account e segreti di repository sono stati esposti, con ripercussioni su più fasi dell'incidente. Un rapporto post-incidente di Wiz documenta la portata e fornisce informazioni su come si è evoluta l'esfiltrazione e il suo impatto. 🚨📊
Secondo la valutazione pubblicata dai ricercatori di Wiz, la violazione ha portato all'esposizione di 2.180 account e 7.200 repository in tre fasi distinte, con molti segreti ancora validi e rischio di danni continuiIl white paper fornisce dettagli sulla cronologia, sulle tecniche dell'aggressore e sulla natura dei segreti trapelati. 🔍📈
L'attacco alla catena di fornitura Nx ⚠️🚀
Nx è un sistema di compilazione e gestione open source a repository singolo, ampiamente utilizzato negli ecosistemi JavaScript/TypeScript su scala aziendale. Con milioni di download settimanali sul registro NPM, un pacchetto compromesso ha un impatto di vasta portata su numerose integrazioni e pipeline di sviluppo. ⚙️
Vettore di compromesso e data dell'incidente 📅
Il 26 agosto 2025, l'aggressore ha sfruttato un flusso di lavoro vulnerabile di GitHub Actions nel repository Nx per pubblicare una versione dannosa del pacchetto su NPM. Il pacchetto includeva uno script di post-installazione dannoso denominato "telemetry.js" che fungeva da malware per l'estrazione delle credenziali sui sistemi interessati. 🔥
Come funziona il malware telemetry.js 🕵️♂️
Il malware telemetry.js ha agito come un ladro di credenziali su Linux e macOS, tentando di rubare token GitHub, token npm, chiavi SSH, file .env, wallet di criptovalute e altri segreti, per poi caricarli su repository GitHub pubblici denominati "s1ngularity-repository". Questo schema ha permesso all'aggressore di centralizzare ed esporre le informazioni rubate. 🔐

Fonte: Wiz
L'aggressore ha anche integrato strumenti da riga di comando per piattaforme di intelligenza artificiale (ad esempio, Claude, Q e Gemini) per automatizzare la ricerca e l'harvesting utilizzando prompt mirati. Wiz documenta l'evoluzione del prompt durante l'attacco, ottimizzando l'estrazione e aggirando i rigetti del modello per determinate istruzioni, a dimostrazione dell'attiva sintonizzazione dell'aggressore con le tecniche LLM. ✨💡
Raggio d'impatto: raggio di danno e fasi 📈🔥
L'incidente si è svolto in tre fasi. Nella prima, tra il 26 e il 27 agosto, versioni compromesse di Nx hanno colpito direttamente 1.700 utenti e hanno fatto trapelare oltre 2.000 segreti univoci, oltre a esporre circa 20.000 file provenienti da sistemi infetti. GitHub è intervenuto, ma gran parte dei dati era già stata duplicata.
- 🔹 Fase 1 (26-27 agosto): 1.700 utenti interessati, circa 2.000 segreti trapelati, 20.000 file compromessi.
- 🔸 Fase 2 (28-29 agosto): Utilizzo di token trapelati per convertire repository privati in repository pubblici; compromessi altri 480 account e 6.700 repository esposti.
- 🔹 Fase 3 (dal 31 agosto): attacco mirato a un'organizzazione vittima utilizzando account compromessi per pubblicare Altri 500 repository privati.
Nella seconda fase, gli aggressori hanno utilizzato token GitHub rubati per rendere pubblici repository privati e rinominarli con la stringa "s1ngularity", amplificando l'esposizione. Nella terza fase, un obiettivo specifico è stato sfruttato per pubblicare centinaia di repository privati aggiuntivi, dimostrando la persistenza e l'escalation dell'aggressore. 🎯

Fonte: Wiz
Risposta e mitigazione del progetto Nx 🔧✅
Il team di Nx ha pubblicato un'analisi delle cause principali su GitHub spiegando come un'iniezione nel titolo di una richiesta pull, combinata con un utilizzo non sicuro di pull_request_target, abbia consentito l'esecuzione di codice arbitrario con autorizzazioni elevate, attivando la pipeline di pubblicazione e facilitando l'esfiltrazione del token di pubblicazione npm. 🛠️
Le azioni implementate includevano la rimozione di pacchetti dannosi, la revoca e la rotazione dei token compromessi e l'obbligo dell'autenticazione a due fattori per tutti gli account degli editori. Inoltre, Nx ha adottato il modello Trusted Publisher di NPM e ha aggiunto l'approvazione manuale per i flussi di lavoro attivati dalle PR. 🔐📌
Suggerimenti rapidi e punti chiave ✏️
- ✅ Rivedere e ruotare immediatamente token e segreti se si sospetta una compromissione.
- 📌 Evita l'uso non sicuro di pull_request_target e applica le approvazioni manuali sui flussi sensibili.
- 🔧 Implementare l'autenticazione a più fattori e modelli di pubblicazione attendibili come Trusted Publisher.
- ⚡ Monitora i repository pubblici ed esegui ricerche segrete automatizzate per un rilevamento tempestivo.
Definizione di frammenti e FAQ ✨
Che cos'è telemetry.js?
telemetry.js è il nome dello script post-installazione dannoso incluso nella versione compromessa del pacchetto Nx; ha agito come un ladro di credenziali sui sistemi Linux e macOS per raccogliere ed esfiltrare segreti in repository pubblici controllati dall'aggressore. 🔍
Quanti account e repository sono stati interessati?
Secondo il rapporto di Wiz, l'attacco ha esposto 2.180 account e 7.200 repository nel corso delle tre fasi documentate dell'incidente, con molti segreti ancora validi e il rischio di un impatto continuo. 📊
461 ambienti TP3T presentavano password compromesse, quasi il doppio rispetto ai 251 TP3T dell'anno precedente. Scarica il Picus Blue Report 2025 per un'analisi completa della prevenzione, del rilevamento e delle tendenze dell'esfiltrazione di dati. 📈
Il rapporto fornisce parametri, raccomandazioni e casi di studio per rafforzare le difese e migliorare la risposta alle fughe di notizie segrete.