TeamPCP compromette il pacchetto LiteLLM su PyPI e ruba le credenziali dello sviluppatore

LiteLLM - @thecybersecurityhub

LiteLLM - @thecybersecurityhub

Il gruppo di hacker noto come TeamPCP ha compromesso il pacchetto LiteLLM nel repository PyPI e negli ultimi giorni ha pubblicato versioni dannose. La libreria Python, che funge da unificatore di accesso a diversi grandi fornitori di modelli linguistici attraverso un’unica API, ha registrato più di 95 milioni di download nell’ultimo mese e supera i 3,4 milioni di download giornalieri. Le versioni 1.82.7 e 1.82.8 contenevano codice dannoso in grado di raccogliere credenziali sensibili e installare meccanismi di persistenza negli ambienti interessati. Especialistas ha identificato l’incidente il 24 marzo 2026 e le versioni compromesse sono state rapidamente rimosse da PyPI.

LiteLLM funge da gateway comune per l’integrazione dei servizi di intelligenza artificiale nei progetti di sviluppo. L’importazione Qualquer del modulo interessato ha attivato il payload nascosto. Endor Labs ha spiegato che il codice dannoso è stato iniettato in file specifici all’interno del pacchetto, inclusi proxy_server.py e un file .pth che viene eseguito automaticamente all’avvio dell’interprete Python.

  • Verifica immediata delle installazioni delle versioni 1.82.7 o 1.82.8 in ambienti on-premise e pipeline CI/CD.
  • Rotazione urgente di tutte le chiavi SSH, i token cloud e i segreti esposti.
  • Ispezione di artefatti come file .pth sospetti e servizi systemd mascherati.

Meccanismo di iniezione di codice dannoso

Gli autori malintenzionati hanno inserito il payload con codifica base64 nel file litellm/proxy/proxy_server.py nelle versioni compromesse. Il payload Essa viene decodificato ed eseguito ogni volta che il modulo viene importato. La versione 1.82.8 ha aggiunto anche un file litellm_init.pth che garantisce l’esecuzione automatica ogni volta che viene avviato l’ambiente Python, ampliando la portata dell’attacco anche senza l’utilizzo diretto della libreria.

Il carico utile segue una sequenza di tre fasi ben definita. Primeiro, esegue il riconoscimento del sistema con comandi come hostname, whoami, uname e ip addr. Raccoglie quindi credenziali varie, tra cui chiavi SSH, configurazioni cloud per AWS, GCP e Azure, token di servizio Kubernetes, file .env, credenziali del database, chiavi TLS private e dati del portafoglio di criptovaluta. Infine, tenta il movimento laterale sui cluster Kubernetes distribuendo pod privilegiati su ciascun nodo.

Dettagli credenziali e segreti del furto

La variante TeamPCP Cloud Stealer raggruppa i dati in un file tpcp.tar.gz crittografato. Il file Esse viene inviato all’infrastruttura controllata dall’aggressore nel dominio models.litellm.cloud. Un servizio systemd mascherato da “Telemetria Sistema Service” mantiene contatti periodici con checkmarx.zone per scaricare payload aggiuntivi e garantire la persistenza.

Gli sviluppatori che utilizzano LiteLLM in pipeline di intelligenza artificiale o applicazioni che accedono a più fornitori LLM corrono un rischio elevato di esposizione. L’attacco eredita somiglianze tecniche con la precedente compromissione dello scanner Aqua Security di Trivy, anch’esso attribuito allo stesso gruppo. Relatos indicano che si sono verificate centinaia di migliaia di estrazioni di dati, sebbene i numeri esatti siano ancora oggetto di verifica indipendente.

Precedenti attacchi da parte del gruppo TeamPCP

TeamPCP aveva già impegnato il progetto Trivy e i relativi componenti di Aqua Security nel prossimo futuro. La sequenza di incidenti Essa dimostra un’attenzione agli strumenti ampiamente adottati nella catena di sviluppo del software, in particolare quelli integrati con flussi CI/CD e ambienti nativi del cloud. Il gruppo ha inoltre esplorato i cluster Kubernetes con script che differenziano i comportamenti in base alla regione geografica.

La persistenza installata include una backdoor systemd che recupera automaticamente file binari aggiuntivi. Analistas hanno osservato tentativi di cancellazione completa dei sistemi in specifiche configurazioni rilevate, mentre in altri casi l’attenzione rimane sulla raccolta silenziosa di segreti.

Misure raccomandate per le organizzazioni interessate

Le organizzazioni dovrebbero controllare i registri di installazione e aggiornare immediatamente alla versione 1.82.6 o successiva, che è considerata pulita. La rotazione di tutti i segreti e i token presenti sui dispositivi potenzialmente interessati è un’azione prioritaria per limitare i danni. Busca per file sospetti come ~/.config/sysmon/sysmon.py, /tmp/pglog e pod non autorizzati nello spazio dei nomi kube-system aiuta a identificare le compromissioni residue.

Il monitoraggio del traffico in uscita verso i domini associati agli aggressori integra le azioni iniziali. Especialistas ribadiscono che la rotazione regolare delle credenziali riduce significativamente il rischio di attacchi a cascata nella catena di fornitura del software. Il personale di sicurezza Equipes deve ispezionare gli ambienti Kubernetes per rilevare eventuali movimenti laterali non autorizzati.

Analisi tecnica del carico utile persistente

La backdoor installata come servizio utente systemd mantiene la comunicazione con il server remoto per ricevere ulteriori istruzioni. L’architettura Essa consente agli aggressori di espandere nel tempo il controllo sui sistemi infetti. Il meccanismo di esfiltrazione crittografa i dati prima dell’invio, rendendone difficile il rilevamento durante il transito.

Gli sviluppatori che mantengono le dipendenze Python in ambienti o contenitori condivisi devono controllare la cronologia di installazione recente. La popolarità di LiteLLM nei progetti di intelligenza artificiale aumenta la portata potenziale dell’incidente nei moderni ecosistemi di sviluppo.

Aggiornamenti sulla rimozione delle versioni dannose

Le versioni 1.82.7 e 1.82.8 sono state ritirate da PyPI dopo l’identificazione del problema. Mantenedores del progetto ha emesso avvisi di sicurezza e indicazioni per gli utenti. La comunità della sicurezza sta seguendo il caso per mappare i possibili impatti sui repository che dipendono transitivamente da LiteLLM.

I ricercatori continuano ad analizzare campioni del malware per identificare nuove varianti o comportamenti aggiuntivi. Usuários che ha installato le versioni interessate deve considerare tutte le credenziali presenti sui propri sistemi come potenzialmente esposte.

Vedi anche