Pubblicata su PyPI la release malevola di LiteLLM, poi rimossa
Testo scritto con l’intelligenza artificiale a partire da una fonte citata, senza revisione umana prima della pubblicazione.
La versione litellm==1.107.0, attiva il 21 ottobre 2026, conteneva un payload che cercava credenziali di tool AI e il codice dannoso era presente solo nelle wheel caricate su PyPI.
Il 21 ottobre 2026 è comparsa su PyPI la versione malevola litellm==1.107.0. PyPI l’ha rimossa. La 1.106.2 è indicata come sicura1.
LiteLLM può trovarsi nelle macchine degli sviluppatori anche senza installazione diretta. Molti agent e proxy lo usano per parlare con Claude, GPT e altri modelli tramite un’unica interfaccia1. Questo amplia l’impatto potenziale di una singola release compromessa.
Il payload cercava credenziali di strumenti usati per il coding con l’AI. Nelle stringhe compaiono nomi come Claude, Cursor, Copilot, Gemini CLI e Codex CLI1.
È la seconda compromissione del pacchetto nel 2026. Non è collegata all’incidente di marzo, secondo le informazioni disponibili1. L’autore della sintesi in inglese indica l’analisi di GMO Flatt Security, in giapponese, come la più dettagliata tra quelle pubbliche e la usa come base del riepilogo1.
Un dettaglio pratico è cruciale: il tag v1.107.0 su GitHub è pulito. I file malevoli compaiono solo nelle wheel caricate su PyPI. Leggere il sorgente non avrebbe aiutato a individuare la modifica1.
La ricostruzione temporale citata nel post si appoggia all’analisi di Flatt Security e ai metadati delle release PyPI. I tempi sono in UTC1. Il quadro collega la pubblicazione della versione compromessa e la successiva rimozione dal registro.
Il post aggiunge un’indicazione operativa: come configurare uv e pip per rifiutare release appena pubblicate. L’obiettivo è evitare l’adozione immediata di versioni compromesse e guadagnare tempo per le segnalazioni. L’autore parla di un’impostazione a riga singola che avrebbe fatto saltare l’installazione della 1.107.01.
L’effetto a catena nelle dipendenze è concreto. Se costruisci con LLM, è probabile che LiteLLM sia presente in qualche punto della toolchain, anche se non è elencato nei requisiti. Accade perché agent e proxy lo incorporano per uniformare le chiamate ai modelli1. Una release malevola può quindi entrare in ambienti di sviluppo tramite aggiornamenti ordinari.
Il caso mostra un vettore chiaro: artefatti di distribuzione alterati rispetto al repository del codice. La differenza tra il tag GitHub e le wheel PyPI è il punto che emerge dalle analisi citate1. In questo scenario, l’audit del sorgente non coincide con l’audit degli artefatti installati.
PyPI ha rimosso la 1.107.0. La 1.106.2 resta l’indicazione sicura per chi usa il pacchetto1. L’analisi più approfondita, a cura di Flatt Security, è in giapponese. La sintesi in inglese riporta i punti chiave e integra la contromisura per i gestori di pacchetti, centrata sul rifiuto automatico delle versioni “brand-new”1.
Dal titolo del post arriva una nota operativa sintetica: un controllo da cinque minuti per gli sviluppatori e una singola impostazione avrebbero evitato l’installazione della release compromessa. L’autore suggerisce di applicarla nei template di progetto e nelle configurazioni CI1.
Fonti
Come è nato questo articolo Scritto da un sistema di intelligenza artificiale, con controlli automatici
Millebit non ha giornalisti che scrivono gli articoli: li scrive un motore editoriale basato su modelli di intelligenza artificiale, a partire dalle fonti elencate qui sopra. Prima di uscire, ogni testo passa questi controlli:
- Fedeltà alle fonti. Un secondo passaggio toglie ogni affermazione che le fonti non sostengono. Valutazione su questo pezzo: 9/10.
- Anti-cliché. Un filtro scarta frasi fatte, enfasi e tic della prosa artificiale: superato.
- Giudizio editoriale. Un modello valuta il pezzo su sette criteri (apertura, chiarezza, economia, concretezza, voce, struttura, fedeltà) e sotto 7,8/10 non si pubblica. Questo articolo ha preso 7,9/10.
I controlli riducono gli errori ma non li eliminano: un modello può fraintendere una fonte. Per le decisioni importanti, risali alla fonte originale. Se trovi un errore, segnalacelo.
Il filo della storia
- LiteLLM 1.107.0 distribuita con malware che ruba credenziali
- Questo articolo
Per vedere Millebit nelle notizie principali di Google, aggiungilo alle tue fonti preferite. Oppure segui l’edizione di oggi, il feed RSS o La Sintesi.