Sicurezza informatica

Come quaranta minuti di codice AI compromesso hanno svuotato i caveau digitali dei giganti tecnologici

Un'autopsia dell'attacco alla supply-chain di LiteLLM che ha causato la fuga di terabyte di credenziali da 2.500 organizzazioni, tra cui Microsoft, AWS e Samsung.
Come quaranta minuti di codice AI compromesso hanno svuotato i caveau digitali dei giganti tecnologici

Uno stack di sicurezza aziendale moderno costa milioni di dollari in licenze e spese per il personale. Queste organizzazioni distribuiscono scanner di vulnerabilità di alto livello e rigorosi controlli di accesso per mantenere un perimetro robusto. Eppure, una finestra di quaranta minuti a marzo ha dimostrato che una singola dipendenza malevola in un popolare strumento di IA è sufficiente per aggirare completamente queste difese. L'attacco alla supply-chain di LiteLLM ha portato all'esfiltrazione di terabyte di credenziali sensibili da alcuni degli ambienti più sicuri del pianeta, inclusi quelli gestiti da Microsoft, Amazon e Samsung.

Da una prospettiva di rischio, questo incidente rivela un fallimento sistemico nel modo in cui vagliamo gli strumenti utilizzati per costruire software basato sull'IA. La violazione non è avvenuta a causa di un difetto nell'intelligenza artificiale stessa. È avvenuta perché l'infrastruttura DevOps che usiamo per distribuire l'IA è fragile. Quando gli sviluppatori di 2.500 organizzazioni hanno scaricato le versioni 1.82.7 e 1.82.8 di LiteLLM dal Python Package Index, hanno inavvertitamente invitato un cavallo di Troia digitale nei loro sistemi più sensibili.

Il paradosso dello scanner sicuro

L'aspetto più sconcertante di questa violazione è la sua origine. L'infezione è iniziata con un attacco alla supply-chain su Trivy, uno scanner di vulnerabilità open source ampiamente rispettato. Le organizzazioni usano Trivy specificamente per trovare falle di sicurezza. Infettando lo strumento destinato a fornire sicurezza, gli attaccanti hanno guadagnato una posizione di assoluta fiducia. Dietro le quinte, gli aggressori hanno sfruttato una svista nel modo in cui gli sviluppatori di Trivy gestivano i loro token di automazione. Sebbene il team abbia tentato di ruotare un token compromesso, non è riuscito a revocarlo completamente per venti giorni. Questa svista ha offerto agli attori della minaccia una finestra di tre settimane per forzare il caricamento di codice malevolo nelle build a valle.

Questa infezione si è diffusa ad altri pacchetti software, tra cui KICS e l'SDK Python di Telnyx, prima di approdare in LiteLLM. Ciò crea un paradosso architettonico in cui gli stessi strumenti progettati per blindare la superficie di attacco diventano il vettore primario per lo sfruttamento. Nella mia esperienza di auditing degli ambienti cloud, trovo spesso che i team si fidino implicitamente dei loro strumenti di sicurezza. Presumono che se uno scanner è ufficiale e popolare, la sua integrità sia garantita. Questo incidente dimostra che tale presupposto è una vulnerabilità critica.

Una finestra di quaranta minuti nel cuore del cloud

La finestra effettiva di infezione attiva per LiteLLM è stata straordinariamente breve. Per soli quaranta minuti, le versioni compromesse sono state disponibili sul repository ufficiale Python Package Index (PyPI). In quel breve lasso di tempo, le pipeline CI/CD automatizzate e gli sviluppatori di tutto il mondo hanno scaricato il codice malevolo. La velocità della moderna distribuzione del software significa che quaranta minuti sono più che sufficienti per infettare centinaia di migliaia di sistemi.

Le società di sicurezza CloudSEK e Hudson Rock hanno analizzato le conseguenze dopo aver ottenuto un file da 195 TB contenente i dati rubati. Il volume di informazioni è impressionante. Il dump include chiavi cloud, token di repository, chiavi SSH e segreti Kubernetes. Queste sono le chiavi universali del regno digitale. Parlando in modo proattivo, il fatto che una finestra di quaranta minuti possa produrre terabyte di dati suggerisce che il codice infetto fosse altamente efficiente nell'identificare ed esfiltrare segreti di alto valore.

Il memory scraping e l'asset tossico delle segrete archiviate

Il meccanismo dell'attacco è stato allo stesso tempo semplice e devastante. Le versioni compromesse di LiteLLM contenevano codice progettato per accedere alla memoria della macchina infetta. La maggior parte degli sviluppatori crede che se un segreto non è salvato in un file di testo, sia al sicuro. Questa è una falsità. Il codice malevolo ha raschiato il contenuto della memoria di sistema, cercando variabili d'ambiente e token di sessione attivi.

I dati sono un asset tossico quando vengono gestiti in modo improprio. In questo caso, i "dati" consistevano nelle credenziali necessarie per gestire 434.000 pipeline CI/CD. Queste pipeline sono le catene di montaggio dello sviluppo software. Se un attaccante possiede le credenziali di una pipeline, può iniettare il proprio codice in ogni futuro aggiornamento che l'azienda rilascia ai propri clienti. I ricercatori hanno notato che molte di queste credenziali erano variabili in testo semplice presenti in memoria, completamente non protette. I dati raccolti includono password di database attive e chiavi API di terze parti prive di qualsiasi informazione identificativa, rendendo difficile per i ricercatori persino notificare le vittime corrette.

La minaccia degli adolescenti e la realtà della miopia DevOps

La responsabilità dell'attacco ricade su TeamPCP, un gruppo composto in gran parte da adolescenti. Sebbene i loro metodi possano non aver coinvolto exploit zero-day di alta complessità, il loro successo è innegabile. Il ricercatore di sicurezza indipendente Kevin Beaumont ha osservato che questi aggressori stanno superando organizzazioni che sono attualmente ossessionate dal lanciare frettolosamente prodotti IA sul mercato.

Questa fretta crea una miopia DevOps. Le organizzazioni danno priorità alla velocità di integrazione dell'IA rispetto all'igiene di base della sicurezza della supply chain del software. Quando comunico con hacker white-hat attraverso canali criptati, il consenso è sempre lo stesso: non serve un exploit sofisticato se il bersaglio lascia la porta aperta. Concentrandosi sulla "prossima grande novità" nell'IA, molte aziende hanno ignorato il requisito fondamentale di verificare l'integrità delle proprie dipendenze.

Il fallimento della rotazione incompleta delle credenziali

Forse la parte più preoccupante di questa storia è l'atteggiamento reattivo delle organizzazioni colpite. Dopo che la violazione è stata resa nota, diverse grandi aziende tecnologiche hanno affermato di aver già ruotato le proprie chiavi e che l'incidente era un "nulla di fatto". Tuttavia, gli sforzi di verifica da parte della comunità della sicurezza hanno raccontato una storia diversa.

Kevin Beaumont ha riferito che dopo che una delle principali società tecnologiche statunitensi ha dichiarato che tutte le credenziali erano state ruotate, ha testato le chiavi trapelate contro la loro infrastruttura pubblica. Quasi ogni chiave funzionava ancora. Ciò suggerisce un approccio superficiale alla risposta agli incidenti. Ruotare una chiave non equivale a revocarla. Se la vecchia chiave è ancora valida in un sistema secondario o in un ambiente legacy, la violazione rimane attiva. In caso di una violazione di questa portata, un'organizzazione deve presumere che ogni segreto accessibile all'ambiente infetto sia compromesso. Una rotazione parziale è essenzialmente una mancata rotazione.

Passaggi pratici per la resilienza della supply chain

Se la tua organizzazione utilizza LiteLLM, Trivy o qualsiasi infrastruttura proxy AI, il tempo per una risposta passiva è terminato. Valutare la superficie di attacco richiede un audit granulare di ogni credenziale passata attraverso le tue pipeline CI/CD negli ultimi sei mesi.

Checklist di mitigazione immediata:

  • Verifica delle versioni: Controlla il tuo ambiente per le versioni di LiteLLM 1.82.7 e 1.82.8. Anche se da allora hai aggiornato, i dati sono stati probabilmente esfiltrati durante la finestra in cui quelle versioni erano attive.
  • Revoca aggressiva delle credenziali: Non limitarti ad aggiornare le password. Invalida e ruota ogni chiave cloud (AWS/Azure/GCP), token dell'account di servizio Kubernetes e Personal Access Token (PAT) di Git che era presente nelle variabili d'ambiente.
  • Audit dei log e del traffico in uscita: Cerca traffico in uscita insolito verso indirizzi IP sconosciuti durante il mese di marzo. L'esfiltrazione di terabyte di dati avrebbe dovuto attivare avvisi di filtraggio del traffico in uscita, se configurati correttamente.
  • Implementa Pinning e Hashing: In futuro, non permettere alle tue pipeline CI/CD di scaricare l'ultima versione ("latest") di un pacchetto. Usa il pinning delle dipendenze e verifica gli hash SHA-256 di ogni libreria esterna prima che entri nel tuo ambiente di build.

La portata di questo attacco spinge il settore verso una nuova realtà. Il perimetro di rete è un fossato del castello obsoleto in un'era in cui scarichiamo volontariamente codice da Internet ogni pochi minuti. Come contromisura, le organizzazioni devono trattare ogni dipendenza esterna come potenzialmente malevola fino a prova contraria. La sicurezza non è una lista di controllo da completare una volta all'anno; è un processo continuo di verifica.

Fonti:

  • CloudSEK Threat Intelligence Report on LiteLLM Supply Chain Attack
  • Hudson Rock Analysis of TeamPCP Data Dump
  • MITRE ATT&CK Framework: Supply Chain Compromise (T1195)
  • NIST Software Supply Chain Security Guidance

Disclaimer: Questo articolo è solo a scopo informativo ed educativo e non sostituisce un audit professionale di cybersicurezza o un servizio di risposta agli incidenti.

bg
bg
bg

Ci vediamo dall'altra parte.

La nostra soluzione di archiviazione e-mail crittografata end-to-end fornisce i mezzi più potenti per lo scambio sicuro dei dati, garantendo la sicurezza e la privacy dei tuoi dati.

/ Creare un account gratuito