Immagine illustrativa generata con AI
LiteLLM, compromissione della supply chain espone segreti di 434.000 pipeline CI/CD
Pacchetti malevoli su PyPI per LiteLLM hanno esposto segreti di 434.000 pipeline CI/CD, riguardanti oltre 2.500 organizzazioni.
Testo generato da intelligenza artificiale, pubblicato senza revisione umana. Trasparenza IA
Pacchetti malevoli pubblicati su PyPI
CloudSEK e Hudson Rock hanno reso pubblica, martedì e mercoledì, una compromissione della supply chain di LiteLLM, strumento open source per lo sviluppo di applicazioni basate sull’intelligenza artificiale.
L’attacco ha interessato le versioni 1.82.7 e 1.82.8, distribuite dalla pagina ufficiale del progetto sul repository Python Package Index (PyPI). Durante una finestra di 40 minuti in marzo, chi ha installato quei pacchetti ha potenzialmente esposto i segreti disponibili nell’ambiente di esecuzione.
Il codice malevolo leggeva la memoria dei sistemi infetti, ne estraeva i contenuti e trasferiva i dati attraverso un canale controllato dall’attaccante. Non è stato reso noto un identificativo CVE né un punteggio CVSS.
Credenziali sottratte da pipeline e ambienti cloud
L’analisi di Hudson Rock ha individuato i dati all’interno di un file da 195 TB, la cui origine non è stata attribuita. Le informazioni riguarderebbero circa 434.000 pipeline CI/CD che avevano eseguito le versioni compromesse.
Secondo le stime, i dati potrebbero consentire l’accesso a oltre 2.500 organizzazioni. Tra i segreti raccolti figurano:
- chiavi cloud e credenziali per Microsoft Azure;
- token per repository e chiavi SSH;
- segreti Kubernetes;
- credenziali per pubblicare pacchetti;
- variabili d’ambiente;
- chiavi di provider IA;
- password di database;
- chiavi API di servizi terzi.
Sono stati osservati anche identificativi come SALESFORCE_CLIENT_SECRET e SLACK_SIGNING_SECRET.
Le credenziali possono ancora essere attive. Inoltre, molte non contengono domini, nomi host o altri elementi sufficienti per risalire subito all’organizzazione proprietaria. Un indirizzo @siriusxm.com, per esempio, è stato associato all’infrastruttura della controllata AdsWizz e non costituisce di per sé prova di una violazione diretta di SiriusXM.
Un attacco collegato a Trivy, KICS e Telnyx
Il caso LiteLLM è collegato a un precedente attacco alla supply chain contro Trivy, scanner di vulnerabilità. La stessa campagna ha coinvolto anche KICS e il Telnyx Python SDK.
Il gruppo TeamPCP, descritto come composto in larga parte da adolescenti ma con capacità operative elevate, ha rivendicato l’operazione. I ricercatori hanno considerato in larga misura credibile la rivendicazione, mentre il ricercatore indipendente Kevin Beaumont ha verificato l’autenticità dei dati relativi a più organizzazioni.
Tra le aziende per le quali è stata dichiarata un’elevata confidenza nell’esposizione figurano Nvidia, AWS, Samsung, Salesforce, Cisco, Roche, ServiceNow, Siemens, S&P Global, Airbus US Space & Defense, John Deere, Regeneron, LSEG, Thomson Reuters, FedEx, Volkswagen, Deloitte, Thales, X, Zscaler, Epic Games, Orange, HP, Philips, Vodafone, Deutsche Bahn, BT e NGINX.
Cosa devono fare le organizzazioni
Chi ha utilizzato LiteLLM deve verificare immediatamente la presenza delle versioni 1.82.7 e 1.82.8, includendo ambienti downstream, proxy IA e strumenti integrati nelle pipeline CI/CD.
Ogni segreto accessibile al pacchetto durante la finestra dell’attacco va considerato compromesso. Occorre quindi:
- revocare e rigenerare chiavi cloud, token, chiavi SSH e segreti Kubernetes;
- cambiare password di database e chiavi API;
- sostituire credenziali di pubblicazione e variabili d’ambiente;
- analizzare log, pipeline, repository e ambienti cloud;
- cercare accessi anomali e possibili canali di esfiltrazione;
- verificare eventuali abusi su piattaforme SaaS, infrastrutture IA e sistemi di build.
L’esposizione non riguarda soltanto le organizzazioni riconoscibili nel dump: i dati privi di identificativi aziendali possono appartenere a molte altre realtà.
Fonti
Questo articolo è una rielaborazione originale basata sulle fonti seguenti.
