
Un attacco alla supply chain ha permesso l'iniezione di codice malevolo nelle versioni ufficiali di LiteLLM, esponendo le credenziali di sviluppatori e infrastrutture cloud.
Il progetto open-source LiteLLM, ampiamente utilizzato per interfacciare diverse API di Large Language Models, è stato vittima di un sofisticato attacco alla supply chain che ha portato alla distribuzione di una versione compromessa del pacchetto software. Il 21 ottobre 2026, gli aggressori sono riusciti a manipolare la pipeline di rilascio, pubblicando la versione 1.107.0 su PyPI, Docker Hub e GHCR (GitHub Container Registry). Questa versione malevola è rimasta attiva per diverse ore, infettando gli utenti che hanno scaricato il pacchetto o le immagini container in quel lasso di tempo.
Il codice iniettato trasforma il pacchetto in un vero e proprio Remote Access Trojan (RAT). La minaccia utilizza una tecnica duale estremamente sofisticata per garantire l'esecuzione automatica: sfrutta file .pth (tramite il file cook.pth) e il modulo sitecustomize.py. Questa combinazione, mai documentata prima in natura, permette al malware di eseguire script Python arbitrari all'avvio dell'interprete.
Una volta attivo, il malware esegue una routine di esproprio dati denominata privcollect, progettata per sottrarre segreti di sistema, browser, strumenti di sviluppo e chiavi API legate ai servizi cloud e AI. I dati vengono esfiltrati tramite richieste HTTP POST verso un endpoint controllato dagli attaccanti. Inoltre, il malware installa un demone in background che, a intervalli orari, contatta un repository GitHub per scaricare e aggiornare il proprio payload di secondo stadio, mantenendo una persistenza costante sul sistema ospite.
L'indagine condotta dai ricercatori di Wiz e dai manutentori di LiteLLM ha rivelato che l'attacco è stato reso possibile da una serie di errori nella gestione delle credenziali. Gli aggressori hanno ottenuto l'accesso a tre set di token GitHub CLI appartenenti agli sviluppatori. La causa principale sembra risiedere nell'utilizzo di Claude Code, che in determinate circostanze inserisce i token OAuth nel corpo delle risposte; se tali risposte vengono salvate nei log di LiteLLM, i token diventano accessibili a chiunque abbia visibilità su quei log.
Sfruttando questi token, gli attaccanti hanno disabilitato le protezioni dei branch e forzato il push di codice malevolo, utilizzando un repository contraffatto (Berri-AI/litellm invece di BerriAI/litellm) per ingannare i processi di firma automatizzati. È stata inoltre identificata un'istanza interna di LiteLLM esposta pubblicamente, che ha funto da punto di ingresso per il reperimento dei log contenenti le credenziali.
Le conseguenze dell'attacco sono state immediate. Gli aggressori hanno utilizzato le credenziali sottratte per tentare il cosiddetto LLMjacking, ovvero l'abuso di risorse computazionali e modelli AI (in particolare AWS Bedrock) a spese delle vittime. Sono stati osservati tentativi di enumerazione di ruoli IAM, utenti e chiavi di accesso, suggerendo un tentativo di escalation dei privilegi all'interno delle infrastrutture cloud compromesse, come nodi Kubernetes e runner CI/CD.
LiteLLM ha risposto all'incidente rafforzando ulteriormente la propria pipeline di rilascio, nonostante avesse già implementato misure di sicurezza dopo un precedente attacco a marzo. Le nuove direttive includono l'uso di repository privati, l'immutabilità dei tag Docker e la firma rigorosa delle immagini. Gli utenti che hanno scaricato la versione 1.107.0 sono invitati a ruotare immediatamente tutte le chiavi API e le credenziali che potrebbero essere state esposte sul proprio ambiente di sviluppo o sui server di produzione.
Contenuto generato automaticamente da intelligenza artificiale a partire da fonti pubbliche. Non garantiamo l'accuratezza assoluta delle informazioni: consulta sempre la fonte originale. I diritti sui contenuti originali appartengono ai rispettivi editori.