LiteLLM infetto su PyPI: supply chain attack ruba credenziali e apre backdoor persistente nei cluster Kubernetes
Featured

LiteLLM infetto su PyPI: supply chain attack ruba credenziali e apre backdoor persistente nei cluster Kubernetes

Un attacco alla supply chain open source ha colpito LiteLLM, un popolare pacchetto Python distribuito su PyPI e spesso utilizzato in ambienti cloud e AI. Le versioni LiteLLM 1.82.7 e 1.82.8 sono risultate malevole e sono state rimosse, ma il rischio resta elevato per chi le ha installate durante la finestra di compromissione.

La catena di infezione sembra collegata a una compromissione nella pipeline CI/CD tramite l’uso di Trivy nei workflow di sicurezza, dimostrando come strumenti pensati per proteggere possano diventare vettori di attacco.

Payload e catena di infezione: attacco in tre fasi
Fase 1: raccolta credenziali (credential harvester)

La prima fase è un credential harvester che cerca e raccoglie chiavi SSH, credenziali cloud, segreti Kubernetes, file .env e anche dati legati a wallet di criptovalute. Le informazioni rubate vengono impacchettate in un archivio cifrato e inviate tramite richiesta HTTPS POST a un dominio di comando e controllo, con un’esfiltrazione progettata per ridurre la visibilità nei log.

Fase 2: movimento laterale in Kubernetes

La seconda fase abilita il movimento laterale in Kubernetes. Se è presente un token di service account, il malware enumera i nodi del cluster e distribuisce pod privilegiati su ciascun nodo. Questi pod possono accedere al file system dell’host e preparare il terreno per la persistenza, trasformando una semplice dipendenza Python compromessa in un problema esteso a tutto il cluster.

Fase 3: backdoor persistente e kill switch

La terza fase introduce una backdoor persistente tramite un servizio systemd con un nome che imita componenti legittimi. Il servizio avvia periodicamente uno script Python che contatta un dominio remoto per ottenere indicazioni su ulteriori payload. È presente anche un meccanismo di kill switch che interrompe l’esecuzione se vengono rilevati indicatori specifici, segnale di una campagna coordinata e riutilizzabile.

Perché LiteLLM 1.82.8 è considerata più pericolosa

La versione 1.82.8 è considerata più pericolosa perché utilizza un file .pth posizionato nel site-packages, eseguito automaticamente all’avvio di ogni processo Python anche senza import esplicito di LiteLLM. Inoltre, l’esecuzione in background tramite subprocess rende più difficile accorgersi dell’attività malevola.

Azioni consigliate

Le azioni consigliate includono:

  • Individuare e rimuovere LiteLLM 1.82.7 e 1.82.8.
  • Isolare gli host potenzialmente compromessi.
  • Cercare pod sospetti e verificare eventuali distribuzioni anomale di pod privilegiati nel cluster.
  • Verificare il traffico in uscita verso i domini coinvolti e possibili endpoint di comando e controllo.
  • Eliminare la persistenza (ad esempio servizi systemd sospetti e script associati).
  • Revocare e ruotare tutte le credenziali potenzialmente esposte, incluse quelle presenti come variabili d’ambiente o in file di configurazione.
We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.