- Il 21 ottobre LiteLLM 1.107.0 è rimasto su PyPI dalle 11:39 alle 13:23 UTC: circa 49.000 download secondo Wiz.
- Rubava credenziali cloud, chiavi dei servizi AI, chiavi SSH e sessioni degli strumenti di sviluppo. Le prime credenziali rubate sono state usate circa 4,5 ore dopo.
- Nello stesso mese un malware su npm scriveva configurazioni per Claude Code e VS Code nei repository, per ripartire a ogni apertura del progetto.
- Il perimetro non è più la rete: è il punto in cui si decide cosa entra nel software, a quale versione e con quali chiavi.
- Sei domande da fare al team, e una risposta da avere pronta: in quanto tempo sostituiamo una chiave rubata.
Due ore, migliaia di installazioni
LiteLLM è una libreria che fa da centralino tra il software di un’azienda e i modelli AI: OpenAI, Anthropic, Google e gli altri passano da lì, con le loro chiavi. È gratuita, secondo Datadog ha circa 23 milioni di download a settimana, e mercoledì 21 ottobre ne è uscita una versione avvelenata. Secondo l’analisi della stessa LiteLLM la 1.107.0 è stata su PyPI, il registro pubblico dei pacchetti Python, dalle 11:39 alle 13:23 UTC, e nelle immagini Docker ufficiali fino alle 14:20.
In quella finestra, secondo Wiz, è stata scaricata circa 49.000 volte. Download di questo tipo arrivano spesso da sistemi automatici che si aggiornano da soli: è il loro mestiere. La versione conteneva un programma che partiva a ogni avvio di Python e raccoglieva tutto quello che trovava: credenziali di AWS, Google Cloud e Azure, chiavi di OpenAI e Anthropic, chiavi SSH, e le sessioni di Claude, Codex, Cursor e Copilot.
Vedi i dati in tabella
| Evento | Dalle | Alle |
|---|---|---|
| LiteLLM 1.107.0 su PyPI | 11:39 | 13:23 |
| Immagini Docker ufficiali | 11:46 | 14:20 |
| Credenziali rubate in uso | 16:20 | 17:01 |
| Circa 4,5 ore per sostituire le chiavi | 11:39 | 16:20 |
Per LiteLLM è il secondo attacco di questo tipo nel 2026: il primo era a marzo. La causa, secondo l’azienda, sono credenziali GitHub di tre sviluppatori finite nelle mani sbagliate, una delle quali apparteneva a uno dei due proprietari dell’organizzazione. Il modo in cui sono uscite è ancora un’ipotesi.
…identified a supply-chain attack involving malicious code in the LiteLLM 1.107.0 PyPI release.
Traduzione · …ha individuato un attacco alla filiera: codice malevolo nella versione 1.107.0 di LiteLLM su PyPI.
Il perimetro si è spostato
Per vent’anni la sicurezza è stata una questione di muri: firewall, accessi remoti, password dei dipendenti. Gli attacchi di ottobre non hanno toccato nessun muro. Sono entrati con il software che le aziende installano ogni giorno, e hanno lavorato con le chiavi dell’azienda.
Lo stesso mese, StepSecurity ha ricostruito il caso di tensorlake, un pacchetto npm: il malware usava i token GitHub rubati per scrivere file di configurazione per Claude Code e VS Code nei repository raggiungibili. Ogni volta che uno sviluppatore apriva il progetto, il suo agente di coding rieseguiva il malware. E se qualcuno revocava il token rubato, il programma cancellava la cartella dell’utente.
Il 13 ottobre è diventata pubblica una falla nella pubblicazione dei pacchetti npm: oltre 1.500 pacchetti, con più di 10 milioni di download, potevano essere pubblicati da chiunque registrasse di nuovo il nome di un repository abbandonato. GitHub l’aveva chiusa il 2 ottobre. Chi l’ha trovata dice di non averla vista sfruttare.
- 13 ottFalla nella pubblicazione npm: oltre 1.500 pacchetti pubblicabili da chi riprende il nome di un repository abbandonato.Registri pubblici di pacchetti
PyPI, npm: da qui arriva gran parte del codice che il vostro software esegue.
- Repository e contributi
Codice, configurazioni e istruzioni che entrano con una pull request o un aggiornamento automatico.
Cosa entra, a quale versione, con quali permessi, e chi lo approva. È l’unico punto in cui decide una persona.
- 8 ottPacchetto tensorlake: il malware scriveva configurazioni per Claude Code e VS Code nei repository.Agenti di coding e loro configurazioni
Eseguono comandi con l’identità di chi sviluppa.
- 21 ottLiteLLM 1.107.0 compromesso, online per circa due ore.Gateway LLM
Un solo servizio che tiene le chiavi di tutti i modelli AI.
- 21 ottLe credenziali rubate a LiteLLM usate dagli attaccanti circa 4,5 ore dopo.Chiavi di cloud e servizi AI
Quello che il malware cerca per primo.
- Dati e sistemi dell’azienda
Clienti, ordini, documenti, posta. La fine della catena.
La mappa ha un punto solo in cui decide una persona: il cancello, dove si stabilisce cosa entra, a quale versione e con quali permessi. Tutto quello che viene dopo lavora da solo, con le vostre chiavi. È lì che conviene guardare.
tensorlake 0.5.144 is compromised on NPM
Traduzione · tensorlake 0.5.144 è compromesso su npm.
Aggiornare o no: la risposta sbagliata è «sempre»
La reazione istintiva a un attacco del genere è «aggiorniamo tutto, subito». È esattamente il comportamento che LiteLLM 1.107.0 ha sfruttato: i sistemi che installano sempre l’ultima versione l’hanno presa per primi. La reazione opposta, non aggiornare mai, lascia aperte le falle che le correzioni chiudono.
La risposta è una regola, non un riflesso. Le versioni si bloccano e si cambiano quando lo decide qualcuno, dopo un controllo. Le correzioni di sicurezza hanno una corsia veloce, con un tempo massimo scritto. E le chiavi più preziose non stanno mai dove gira codice appena scaricato.
Oh, you aren’t updating your dependencies every hour? Well, too bad, you are vulnerable…
Traduzione · Non aggiorni le dipendenze ogni ora? Peccato, sei vulnerabile…
Sei domande per il team, lunedì mattina
Non servono competenze tecniche per farle. Servono risposte con un nome e una data.
- 01
Usiamo LiteLLM o un altro gateway per i modelli AI? Quale versione, e chi l’ha installata?
Se la risposta è «non lo so», è già una risposta: nessuno ha l’elenco di quello che gira.
- 02
Le versioni delle librerie sono bloccate, o si aggiornano da sole?
Bloccate vuol dire che cambiano solo quando qualcuno lo decide e lo registra.
- 03
Dove stanno le chiavi dei servizi AI e del cloud, e chi può leggerle?
Un archivio dedicato, accessi limitati, chiavi diverse per ambienti diversi. Mai nel codice, mai nei log.
- 04
Quali configurazioni degli agenti di coding sono nel repository, e chi le approva?
File come .claude/settings.json o .vscode/tasks.json eseguono comandi. Vanno trattati come codice.
- 05
Se domani ci rubano una chiave, in quanto tempo la sostituiamo?
A ottobre le prime credenziali rubate sono state usate circa quattro ore e mezza dopo il furto.
- 06
Chi ci avvisa quando un componente che usiamo viene compromesso?
Serve una persona o un servizio che lo segua. Saperlo dai giornali il giorno dopo è tardi.
Domande frequenti
Non usiamo LiteLLM. Ci riguarda?
Sì, perché il meccanismo è lo stesso per qualsiasi libreria che il vostro software scarica da un registro pubblico. LiteLLM è l’esempio di ottobre; a marzo era stata un’altra versione della stessa libreria, a ottobre anche un pacchetto npm. La domanda è come entrano le librerie, non quali.
Cos’è la filiera AI di un’azienda?
L’insieme di strumenti AI intorno al software: le chiavi dei servizi AI, i gateway come LiteLLM, gli agenti di coding e le loro configurazioni, i server MCP, le librerie AI. Sono entrati in quasi tutte le aziende in due anni, spesso senza che nessuno li abbia messi in un elenco.
Cosa doveva fare chi aveva installato LiteLLM 1.107.0?
LiteLLM consiglia di dare per rubate tutte le credenziali presenti su qualsiasi macchina collegata a internet dove è stata installata, di sostituirle tutte e di tornare alla versione 1.106.2. Per il malware di tensorlake gli analisti raccomandano di rimuovere il programma di controllo prima di revocare i token.
Come si controlla la filiera AI di un progetto?
Si parte da un elenco: chiavi, gateway, librerie AI, configurazioni degli agenti, server MCP. Poi si guarda chi può cambiare ognuno di questi elementi e cosa succede se lo fa. Yempik Security Audit fa questo controllo in automatico, insieme al resto dell’audit di sicurezza del codice.
Fonti
- [1]LiteLLM: Contained, Oct 21, 2026 LiteLLM release v1.107.0 Compromised. docs.litellm.ai
- [2]Wiz Research: LiteLLM compromised, steals credentials (21 ottobre 2026). www.wiz.io
- [3]Datadog Security Labs: LiteLLM supply chain compromise (21 ottobre 2026). securitylabs.datadoghq.com
- [4]StepSecurity: tensorlake npm compromised (8 ottobre 2026). www.stepsecurity.io
- [5]Help Net Security: SlugFest, falla in npm Trusted Publishing (13 ottobre 2026). www.helpnetsecurity.com
- [6]GitHub Changelog: unvalidated npm trusted publishing configurations now expire (2 ottobre 2026). github.blog
Yempik usa librerie AI e agenti di coding nel proprio lavoro e ha reso pubblico lo strumento di audit citato. Gli orari sono quelli dichiarati da LiteLLM; il numero di download e l’uso delle credenziali sono misure di Wiz.
Sapete cosa c’è nella vostra filiera AI?
Yempik Security Audit controlla chiavi, gateway, configurazioni degli agenti e dipendenze, insieme al resto del codice.
Scopri l’audit