// 3 CRITICAL · 2 ZERO-DAY · 6 CVE · 4 EXPLOIT · 1 ADVISORY NELLE ULTIME 24H
TeamPCP ha compromesso le pipeline CI/CD di Trivy e LiteLLM tra il 19 e il 24 marzo 2026. Sei breach confermati tra istituzioni europee e Fortune 500, con oltre 4TB

Il 19 marzo 2026 TeamPCP ha forzato il rilascio di Trivy v0.69.4 con codice malevolo, aprendo una breccia nelle pipeline CI/CD che ha permesso la compromissione di LiteLLM cinque giorni dopo e l'esposizione potenziale di oltre 2.100 organizzazioni. Sei breach di alto profilo sono già confermati — tra cui la Commissione Europea, Cisco e S&P Global — con esfiltrazioni che superano i 4TB di dati, codice sorgente e credenziali. La campagna dimostra che la fiducia nei tool di sicurezza stessi è diventata il punto cieco più pericoloso dell'infrastruttura cloud-native.

Punti chiave
  • Il 19 marzo 2026 TeamPCP ha forzato 76 tag su 77 di trivy-action e tutti i 7 tag di setup-trivy verso commit malevoli che raccoglievano credenziali.
  • Il 24 marzo 2026 le versioni 1.82.7 e 1.82.8 di LiteLLM sono rimaste su PyPI per circa 40 minuti con payload che eseguiva all'avvio di Python tramite file .pth, non al momento dell'import.
  • La Commissione Europea ha confermato l'esfiltrazione di 91,7 GB compressi (340 GB non compressi) dal proprio account AWS, con attribuzione a TeamPCP a "alta confidenza" secondo CERT-EU.
  • CloudSEK ha mappato un dataset di circa 434.000 file legati a potenziale esposizione di 2.500+ organizzazioni, esplicitando che la cifra non equivale a un conteggio di vittime confermate.

Il meccanismo della compromissione: rotazione non atomica e finestra di esposizione

Il punto di ingresso è stato il repository GitHub di Trivy, scanner open source di vulnerabilità container ampiamente adottato nelle pipeline CI/CD. Secondo l'advisory GHSA-69fq-xp46-6x23, tra le 18:22 e le 21:42 UTC del 19 marzo 2026 gli attaccanti hanno forzato la pubblicazione di 76 tag su 77 del repository trivy-action e di tutti i 7 tag del repository setup-trivy. I tag puntavano a commit contenenti malware raccoglitore di credenziali.

Il meccanismo critico che ha amplificato l'impatto è stata la non atomicità della rotazione dei segreti. Dopo la disclosure iniziale del primo marzo, molte organizzazioni hanno avviato procedure di rotazione che hanno lasciato token validi esposti durante la finestra di transizione. TeamPCP ha sfruttato questa finestra per acquisire credenziali ancora funzionanti, poi riutilizzate per il force-push del 19 marzo.

Il payload nel repository Trivy operava su percorsi filesystem e memoria di processo. L'advisory GitHub documenta l'accesso a /proc/<pid>/mem e a oltre 50 percorsi filesystem, con crittografia ibrida AES-256-CBC e RSA-4096. Il canale di esfiltrazione primario era diretto; come fallback, i dati venivano caricati su repository GitHub controllati dall'attore con il prefisso tpcp-docs.

LiteLLM e l'esecuzione al di fuori dell'import: il payload nascosto

La compromissione di LiteLLM, gateway AI open source per l'orchestrazione di modelli linguistici, ha mostrato una tecnica di persistenza più insidiosa. Le versioni malevole 1.82.7 e 1.82.8, pubblicate su PyPI il 24 marzo 2026 dalle 10:39 alle 16:00 UTC — circa 40 minuti di esposizione — contenevano un file litellm_init.pth. Questo file sfruttava il meccanismo standard di Python per l'esecuzione automatica all'avvio dell'interprete, non al momento dell'import del modulo.

La distinzione è tecnicamente significativa: l'esecuzione all'avvio di Python significa che il payload si attiva in qualsiasi processo che lanci l'interprete, indipendentemente dal fatto che il codice importi esplicitamente LiteLLM. Questo include dipendenze transitive, script di avvio dell'ambiente e tool di sistema che condividono l'interprete Python. Secondo l'analisi di Endor Labs citata da The Hacker News, il payload operava in tre stadi con raccolta credenziali dall'ambiente LiteLLM.

L'advisory PyPA ha formulato l'avvertimento in termini netti: "Chiunque abbia installato ed eseguito il progetto deve presumere che qualsiasi credenziale disponibile nell'ambiente litellm possa essere stata esposta".

Le sei vittime confermate: da istituzioni governative a Fortune 500

Sei breach sono documentati con dettagli specifici e fonti primarie o di intelligence diretta. La Commissione Europea è la vittima con attribuzione ufficiale più solida: CERT-EU ha confermato con "alta confidenza" che l'accesso iniziale è avvenuto tramite la supply chain Trivy, con acquisizione di segreti AWS il 19 marzo 2026 e esfiltrazione di 91,7 GB compressi, equivalenti a 340 GB non compressi. I dati sono stati pubblicati da ShinyHunters il 28 marzo 2026.

Cisco ha subito furto di codice sorgente da oltre 300 repository GitHub, incluso codice cliente e progetti di prodotti AI (AI Assistants, AI Defense), secondo fonti anonime citate da BleepingComputer. L'azienda ha proceduto a reimaging dei sistemi e rotazione credenziali.

Guesty ha registrato estorsione per 700 GB di dati inclusi 4 milioni di email e dati di integrazione con Airbnb e Booking.com. S&P Global ha subito esfiltrazione di 250 GB comprendenti migliaia di segreti, token GitHub, JWT e chiavi RSA private. Mercor ha subito l'estrazione più massiccia: circa 4 TB totali, di cui 939 GB di codice sorgente, con dati biometrici e SSN di oltre 40.000 contractor; Meta ha sospeso il contratto con l'azienda e sono state avviate azioni legali di classe. Lapsus$ ha rivendicuto la vendita dei dati a imprese cinesi, rivendicazione che rimane non verificata indipendentemente.

Telnyx ha pubblicato versioni malevole 4.87.1 e 4.87.2 del proprio SDK Python su PyPI il 27 marzo 2026, ma ha dichiarato che piattaforma, API e dati cliente non sono stati compromessi.

"These companies were built to protect your supply chains yet they can't even protect their own" — messaggio Telegram di TeamPCP

La rete di scoperta: CloudSEK, FBI e l'allarme sulla weaponization prolungata

CloudSEK ha acquisito un dataset di circa 434.000 file e log, mappando corrispondenze con potenziale esposizione per 2.500+ organizzazioni. L'azienda ha esplicitamente precisato che il numero riflette potenziale esposizione, non un conteggio di vittime confermate. The Hacker News ha riportato nel titolo la cifra di 2.100+ organizzazioni, che può rappresentare un sottoinsieme del dataset CloudSEK con maggiore confidenza di corrispondenza.

L'FBI ha emesso il FLASH-20260702-01 con avvertimento sulla weaponizzazione a lungo termine delle credenziali compromesse e raccomandazione di rotazione dei segreti CI/CD. L'avviso conferma che la campagna è valutata come attiva e in corso. Endor Labs ha concordato: "This campaign is almost certainly not over...each compromised environment yields credentials that unlock the next target".

Hudson Rock ha completato oltre 250 disclosure etiche, includendo oltre 30 aziende S&P 500 o Fortune 500, con evidenza dal portale Cavalier.

Cosa fare adesso

  • Verificare se tra il 19 e il 24 marzo 2026 sono state eseguite pipeline con Trivy v0.69.4, trivy-action o setup-trivy con tag forzati, o con LiteLLM 1.82.7/1.82.8 da PyPI.
  • Rotare tutte le credenziali esposte agli ambienti CI/CD interessati, includendo token GitHub, chiavi cloud e segreti applicativi, senza assumere che la rotazione iniziale post-1 marzo sia stata effettiva.
  • Ispezire la presenza di file .pth non autorizzati nelle installazioni Python, in particolare litellm_init.pth, che esegue all'avvio dell'interprete.
  • Monitorare la presenza di repository GitHub con prefisso tpcp-docs nella cronologia delle connessioni in uscita, indicatore del canale di fallback documentato nell'advisory.

Il collasso della catena di fiducia

La campagna TeamPCP non è una vulnerabilità di prodotto isolata: è la dimostrazione che la catena di fiducia nelle dipendenze open source si è trasformata in un sistema a rischio sistemico. Trivy era lo strumento che le organizzazioni usavano per scansionare vulnerabilità; la sua compromissione ha aperto un canale diretto nelle pipeline di compilazione e rilascio. LiteLLM era l'infrastruttura per gestire l'accesso a modelli AI; la sua compromissione ha esposto ambienti con privilegi elevati su servizi di inference.

Gal Nagli di Wiz ha sintetizzato la dinamica: "Trivy gets compromised → LiteLLM gets compromised → credentials from tens of thousands of environments end up in attacker hands → and those credentials lead to the next compromise. We are stuck in a loop". Il loop non si interrompe con patch puntuali, ma con un ripensamento dell'assunto di fiducia verso qualsiasi dipendenza con tag mutabili.

Le informazioni sono state verificate sulle fonti citate e aggiornate al momento della pubblicazione.

Fonti


Fonti e riferimenti
  1. infostealers.com
  2. hudsonrock.com
  3. thehackernews.com
  4. malware.news
  5. nvd.nist.gov
  6. github.com
  7. cert.europa.eu
  8. bleepingcomputer.com