
L'attacco npm a TanStack ha esposto 170 repository di codice di CrowdSec
CrowdSec afferma che il token GitHub rubato a un ex dipendente ha permesso a un attaccante di copiare circa 170 repository privati dopo l'attacco npm a TanStack di maggio.
L'attacco npm a TanStack è stato collegato da CrowdSec alla copia di circa 170 dei suoi repository GitHub privati. In un rapporto pubblicato il 18 settembre, la società di sicurezza francese ha dichiarato che il codice è stato prelevato il 22 maggio attraverso l'account GitHub di un dipendente che aveva appena lasciato l'azienda, e che il materiale è apparso su un forum online il 16 settembre.
CrowdSec è una società di sicurezza il cui Security Engine open source monitora gli attacchi ai server. Coloro che condividono ciò che rileva ricevono una blocklist condivisa di indirizzi IP malevoli. L'evento a cui CrowdSec fa riferimento è iniziato l'11 maggio, quando, secondo l'advisory di TanStack, sono state pubblicate 84 versioni malevole di 42 pacchetti npm di TanStack. npm è una grande libreria pubblica di componenti software pronti all'uso che gli sviluppatori scaricano e integrano nei propri prodotti, ed è per questo che un singolo compromesso può raggiungere molte aziende contemporaneamente. CrowdSec descrive l'evento come un attacco alla supply chain, ovvero un attacco che raggiunge un'azienda attraverso software di cui si fida anziché direttamente. È tracciato come CVE-2026-45321, e l'installazione di una delle versioni interessate eseguiva codice che rubava credenziali dalla macchina, inclusi token GitHub, chiavi SSH (le chiavi digitali usate per accedere ai server senza digitare una password) e credenziali cloud.
CrowdSec afferma che la copia è stata effettuata 11 giorni dopo la pubblicazione dei pacchetti malevoli, utilizzando un token OAuth di GitHub, una chiave di accesso rilasciata affinché un'applicazione possa agire per conto di una persona, prelevato dall'account dell'ex dipendente. L'azienda aveva lasciato attivo il suo accesso a GitHub affinché potesse completare alcuni lavori. Ha rimosso il suo account dalla propria organizzazione GitHub il 25 maggio, tre giorni dopo la copia e mesi prima di venire a conoscenza della fuga di codice. I suoi altri accessi erano già stati revocati, il che secondo CrowdSec spiega perché non abbia visto nulla di sospetto nei suoi sistemi AWS. Il token non ha lasciato traccia nei log di GitHub che l'azienda poteva controllare, e non esisteva più nel momento in cui è stata scoperta la fuga. Secondo CrowdSec, il supporto di GitHub ha poi tracciato la cronologia del token e ha confermato il sospetto dell'azienda che TanStack fosse la fonte. CrowdSec non ha detto quale pacchetto malevolo abbia raggiunto il laptop dell'ex dipendente né quando, e il suo rapporto non contiene le conclusioni di GitHub. Afferma che le macchine dei suoi sviluppatori sono state controllate e sono risultate pulite.
La stessa campagna ha raggiunto altre organizzazioni. Mistral AI ha dichiarato che nel suo caso è stato coinvolto un dispositivo di uno sviluppatore, e OpenAI ha dichiarato che due dispositivi di dipendenti sono stati interessati, con accesso non autorizzato a un insieme limitato dei suoi repository di codice interni.
Il materiale trapelato proviene dai repository privati di CrowdSec e non dal Security Engine pubblico. Secondo l'azienda, include la console web, script e modelli di data science, script di automazione e l'algoritmo di consenso che decide quali indirizzi vengono aggiunti alle blocklist. CrowdSec afferma che il codice ha quasi quattro mesi e che da allora è cambiato molto. La fuga ha anche rivelato le soglie con cui lavora l'algoritmo di consenso, come il numero di rilevamenti richiesti prima che un indirizzo venga aggiunto a una blocklist. Quei numeri non erano pubblici prima. Per quanto ne sa l'azienda, la blocklist non può ancora essere avvelenata, cioè indotta con l'inganno a bloccare un indirizzo innocuo. Afferma che un attaccante avrebbe bisogno di decine di rilevamenti da decine di engine affidabili attraverso decine di reti separate, a un costo elevato, e aggiunge che può modificare le soglie, come fa spesso.
Sul fronte delle credenziali, CrowdSec afferma che l'unica utilizzabile nel codice trapelato era per il servizio di notifica SNS di AWS, e che poteva solo pubblicare messaggi su un singolo topic. Qualcuno ha provato a usarla il 17 agosto, un mese prima che il codice fosse pubblicato, ma non è andato oltre. Gli altri token erano già stati ruotati (sostituiti) o non potevano essere usati da internet, per quanto ne sa l'azienda. Anche i dati personali sono stati esposti. CrowdSec afferma di avere circa 150.000 utenti, e che il suo team di data science aveva conservato gli 83 indirizzi email esposti per studiare come le persone usavano il prodotto; l'azienda afferma che contatterà quegli utenti. I dettagli di 51 potenziali investitori del 2020 provenivano da un sistema che secondo CrowdSec non era mai stato pensato per essere pubblico. L'azienda afferma che segnalerà la fuga agli investitori e alle autorità, e il CEO Philippe Humeau ha scritto agli investitori nel rapporto che "per questo mi scuso personalmente". CrowdSec ha ruotato le credenziali esposte il 16 e 17 settembre. All'epoca non richiedeva software di endpoint protection, gli strumenti che monitorano un laptop per attività malevole, sulle macchine degli sviluppatori, ma ora esegue tale software sui laptop del personale che lavora con il suo codice o i suoi sistemi. Né il rapporto né la sua prima dichiarazione chiedono agli utenti di intraprendere alcuna azione.
Il rapporto del 18 settembre differisce dalla dichiarazione pubblicata da CrowdSec un giorno prima. In quella prima dichiarazione l'azienda affermava che "Nessun dato dei clienti, login/password, nome, organizzazione o qualsiasi altra cosa è stato divulgato", e che l'impatto era limitato all'azienda stessa. Indicava anche la compromissione di TanStack come fonte molto probabile, affermando che un componente usato all'interno di CrowdSec a maggio sembrava essere stato backdorato per rubare una chiave API in grado di leggere il codice privato. Il rapporto del 18 settembre afferma che nessuna delle versioni malevole di TanStack è stata trovata nel codice di CrowdSec, e indica invece l'account dell'ex dipendente. Elenca anche i nomi degli investitori, che la prima dichiarazione diceva non essere trapelati, insieme agli indirizzi email degli 83 utenti.
Per i proprietari di siti web e i team IT, il punto pratico nel resoconto di CrowdSec è l'accesso che sopravvive al lavoro. Un account lasciato aperto per un collega in partenza, più un token prelevato silenziosamente da un laptop da un pacchetto installato più di una settimana prima, hanno insieme aperto una porta che nessuno stava sorvegliando. Dettagli di accesso rubati e usati in seguito e in silenzio sono una via familiare verso siti web e account di hosting, ed è per questo che vale la pena rivedere chi può raggiungere i vostri sistemi, da quale dispositivo e per quanto tempo. I team che desiderano assistenza per esaminare come vengono gestiti accessi, laptop e codice sorgente possono rivolgersi ad AEU-I, che fornisce IT, infrastruttura e consulenza all'insegna della sicurezza.
Come Proteggerti
- Attiva la verifica in due passaggi per gli account che usi per lavoro, soprattutto se accedi con GitHub o Google, così una password rubata da sola non basta a qualcuno per entrare.
- Quando un collega o un membro del team se ne va, cambia le password che conosceva e rimuovi il suo accesso lo stesso giorno su ogni servizio, non solo sulla email.
- Apri le impostazioni del tuo account GitHub o Google e rimuovi qualsiasi app o componente aggiuntivo che non usi più, perché ognuno conserva ancora una chiave per il tuo account.
- Installa gli aggiornamenti per il software del tuo sito web, le app e il telefono non appena vengono offerti, dato che gli attaccanti contano sul fatto che le persone li rimandino.
- Controlla quali computer usa il personale per lavoro e assicurati che eseguano qualsiasi antivirus o software di sicurezza tu abbia, perché in questo caso una chiave di accesso è stata presa da un laptop.
- Se il tuo sito web o account di hosting conserva un elenco di persone che possono accedere, guardalo ora e rimuovi chiunque non dovrebbe più avere accesso.
Vulnerabilità e Soluzioni
- CVE-2026-45321 The tracking identifier for the May 11 compromise in which 84 malicious versions of 42 TanStack npm packages were published and stole credentials from developers' machines; the source says CrowdSec found none of those versions in its own code. Vedi la soluzione e i dettagli →
I Termini Spiegati
- npm Una grande libreria pubblica di componenti software pronti all'uso che gli sviluppatori scaricano e integrano nei propri prodotti.
- supply chain attack Un attacco che raggiunge un'azienda attraverso software o un fornitore di cui si fida, invece di attaccarla direttamente.
- OAuth token Una chiave digitale che consente a un'app o a un servizio di agire per tuo conto su un altro sito web, ad esempio per leggere il tuo codice.
- credential Un dato di accesso come una password, una chiave o un token che un computer usa per dimostrare chi è.
- CVE Common Vulnerabilities and Exposures, un sistema di numerazione pubblico che assegna a ogni vulnerabilità di sicurezza nota un proprio riferimento, così tutti possono parlare della stessa.
- blocklist Un elenco di elementi, qui indirizzi internet, che un sistema rifiuta di gestire o decide di bloccare.
- endpoint protection Software installato su un laptop o un computer desktop che sorveglia le attività malevole e le blocca.