Zurück zur Startseite

Angriff auf litellm: Credentials-Diebstahl in PyPI

Kompromiss von litellm-Versionen 1.82.7 und 1.82.8 auf PyPI umfasst Sammlung und Exfiltration von Credentials über .pth-Dateien und K8s-Pods. Mechanismen, IoC und Remediation-Schritte beschrieben. Angriff mit TeamPCP-Kampagne verknüpft.

litellm unter Angriff: Stealer in PyPI-Versionen
Advertisement 728x90

Kompromittierung von litellm 1.82.7/1.82.8: Mechanismus zum Diebstahl von Zugangsdaten via PyPI

Die litellm-Bibliothek in den Versionen 1.82.7 und 1.82.8 auf PyPI enthält bösartigen Code, der SSH-Schlüssel, Cloud-Zugangsdaten, Kubernetes-Geheimnisse und API-Schlüssel stiehlt. Der Angriff nutzt die Lieferkette und löst sich automatisch aus, wenn der Python-Interpreter gestartet oder das Modul importiert wird. Betroffene Systeme umfassen solche mit transitiven Abhängigkeiten, wie z. B. die MCP-Plugins von Cursor.

Erkennung des Vorfalls

Der Angriff wurde durch eine Fork-Bombe in einer .pth-Datei sichtbar, die die Ressourcen des Hosts erschöpft hat. Ohne diesen Bug hätte die Malware unbemerkt operieren können. Die Versionen wurden am 24. März 2026 zwischen 10:39–10:52 UTC veröffentlicht, ohne jegliche GitHub-Updates – der bösartige Code wurde nur in PyPI-Artefakten injiziert und umging so die Code-Überprüfung.

Forscher von FutureSearch stellten das Fehlen von Release-Tags fest. Das Repository ist sauber, was typisch für Supply-Chain-Angriffe ist.

Google AdInline article slot

Technische Details der Malware

Stufe 1: Datensammlung

Payload extrahiert:

  • SSH-Schlüssel und -Konfigurationen.
  • .env-Dateien.
  • AWS-, GCP-, Azure-Zugangsdaten.
  • Kubeconfig und Kubernetes-Geheimnisse.
  • Datenbankpasswörter.
  • Shell-Verlauf.
  • Crypto-Wallet-Dateien.
  • Umgebungsvariablen.

Abfragen werden an die IMDS-Endpunkte der Cloud-Provider gesendet.

Stufe 2: Exfiltration

Die Daten werden mit AES-256-CBC verschlüsselt (unter Verwendung eines hartcodierten RSA-4096-Öffentlichen Schlüssels) und an models.litellm[.]cloud gesendet – eine inoffizielle Domain.

Google AdInline article slot

Stufe 3: Persistenz

In Kubernetes unternimmt die Malware:

  • Liest alle Cluster-Geheimnisse über den Service-Account-Token aus.
  • Erstellt privilegierte alpine:latest-Pods im kube-system mit gemountetem Host-FS.
  • Installiert den Backdoor ~/.config/sysmon/sysmon.py.
  • Registriert einen systemd-User-Service, der auf allen Knoten läuft.

Version 1.82.8 verwendet litellm_init.pth (34.628 Bytes), das automatisch von Python ausgeführt wird. 1.82.7 enthält obfuskiereten Code in proxy/proxy_server.py.

Erkennung und Behebung

Überprüfen Sie Systeme mit diesen Befehlen:

Google AdInline article slot
# litellm-Version
pip show litellm

# Spuren im uv-Cache
find ~/.cache/uv -name "litellm_init.pth"

# Backdoor
ls ~/.config/sysmon/sysmon.py
ls ~/.config/systemd/user/sysmon.service

In Kubernetes: kubectl get pods -n kube-system | grep node-setup-.

Falls Versionen 1.82.7/1.82.8 installiert sind:

pip uninstall litellm
rm -rf ~/.cache/uv
# Oder: pip cache purge

Rollback auf 1.82.6 (22. März, sauber nach Endor Labs). Rotieren Sie alle Zugangsdaten: SSH-Schlüssel, Cloud-Token, kubeconfig, API-Schlüssel, DB-Passwörter. Überprüfen Sie CI/CD-Pipelines und Docker-Images der letzten 24–48 Stunden.

Kontext der TeamPCP-Kampagne

Der Angriff ist Teil der TeamPCP-Kampagne (seit Dezember 2025):

  • März: Trivy (75/76 Tags von trivy-action).
  • 21.–23. März: KICS/Checkmarx, OpenVSX, CanisterWorm in npm (64+ Pakete).
  • März: litellm.

Gemeinsame Marker: AES-256 + RSA-4096, ein öffentlicher Schlüssel. Das GitHub-Issue #24512 in litellm wurde als „not planned“ mit verdächtigen Kommentaren geschlossen – mögliche Konto-Kompromittierung.

Indikatoren für Kompromittierung

  • C2-Domain: models.litellm[.]cloud.
  • Datei: litellm_init.pth.
  • SHA-256: ceNa7wMJnNHy1kRnNCcwJaFjWX3pORLfMh7xGL8TUjg.
  • Backdoor: ~/.config/sysmon/sysmon.py.
  • K8s: Pods node-setup-* im kube-system.

Wichtige Punkte

  • Bösartiger Code in .pth löst sich ohne import aus und betrifft alle Python-Prozesse.
  • Exfiltration ist verschlüsselt; C2 ist eine gefälschte litellm-Domain.
  • Kubernetes-Exploit ermöglicht vollen Cluster-Zugriff über privilegierte Pods.
  • Teil der TeamPCP-Kette: Überwachen Sie Trivy, KICS, npm-Pakete.
  • Rollback auf 1.82.6 + vollständige Rotation der Zugangsdaten ist zwingend erforderlich.

— Editorial Team

Advertisement 728x90

Weiterlesen