
SlowMist Chief Information Security Officer 23pds gab am 25. März bekannt, dass die Python AI-Gateway-Bibliothek LiteLLM mit über 97 Millionen Downloads pro Monat Opfer eines Supply-Chain-Angriffs auf PyPI wurde. Die kompromittierten Versionen 1.82.7 und 1.82.8 waren mindestens zwei Stunden auf der Plattform verfügbar. Angreifer konnten durch das Einfügen mehrerer schädlicher Programme sensible Daten wie Kryptowallet-Informationen stehlen.
LiteLLM fungiert im AI-Technologiestapel als einheitliche Schnittstelle, die die Nutzung von Modellen großer Anbieter wie OpenAI, Anthropic und Google unterstützt. Seine Architektur liegt direkt zwischen Anwendungen und mehreren AI-Dienstanbietern, wodurch es Zugriff auf zahlreiche API-Schlüssel, Umgebungsvariablen und sensible Konfigurationsdaten hat.
Das Überwinden solcher Zwischenlayer-Module ermöglicht es Angreifern, ohne direkten Angriff auf die Upstream-Dienste, sensible Anmeldeinformationen aus lokalen Entwicklungsumgebungen, CI/CD-Pipelines und Cloud-Infrastrukturen abzufangen. Derzeit bewerten Ermittler, ob dieser Angriff mit den Bedrohungsgruppen TeamPCP und LAPSUS$ in Verbindung steht; die Attribution ist noch im Gange. Der Vorfall wurde zunächst von einem GitHub-Nutzer öffentlich gemeldet und anschließend von externen Forschern bei Futuresearch analysiert.
Der in den kompromittierten Versionen eingebettete Schadcode nutzt eine dreischichtige Architektur, umgesetzt durch obfuskierte Base64-codierte Python-Programme:
Erste Schicht (Datenexfiltration): Sammelt lokale sensible Daten, verschlüsselt sie mit AES-256-CBC, verschlüsselt den Sitzungsschlüssel mit einem hartcodierten RSA-Öffnungsschlüssel, verpackt alles in tpcp.tar.gz und sendet es an einen vom Angreifer kontrollierten Remote-Endpunkt.
Zweite Schicht (Reconnaissance und Credential Collection): Enumeriert Systeminformationen, Umgebungsvariablen und extrahiert systematisch SSH-Schlüssel, Git-Zertifikate, Cloud-Zugangsdaten (AWS/GCP/Azure), Kubernetes-Konfigurationsdateien, Wallet-Daten und CI/CD-Konfigurationen. In einigen Fällen versucht der Schadcode aktiv, mit gestohlenen Credentials AWS API-Anfragen oder Kubernetes-Operationen durchzuführen.
Dritte Schicht (Persistenz und Remote-Control): Schreibt sysmon.py auf die Festplatte und richtet es als Systemdienst ein. Alle 50 Minuten kontaktiert es den vom Angreifer kontrollierten Endpunkt, um neue Schadfunktionen zu empfangen und auf das infizierte System zu übertragen.
Die verwendeten Domains für die Kommunikation sind models[.]litellm[.]cloud und checkmarx[.]zone.
Organisationen, die eine infizierte Version von LiteLLM (1.82.7 oder 1.82.8) installiert oder ausgeführt haben, sollten ihre Systeme als kompromittiert ansehen. Da der Schadcode persistent ist und möglicherweise zusätzliche Payloads bereits bereitgestellt wurden, reicht das einfache Entfernen des Pakets nicht aus.
Empfohlen wird sofortiges Handeln: Alle potenziell exponierten Credentials (einschließlich AWS/GCP/Azure-Keys, SSH-Schlüssel und API-Schlüssel) rotieren; die Logs auf verdächtige ausgehende Verbindungen zu den Domains models[.]litellm[.]cloud oder checkmarx[.]zone prüfen; bekannte schädliche Dateien wie tpcp.tar.gz, /tmp/pglog, /tmp/.pg_state sowie sysmon.py-bezogene Dienste entfernen; und, sofern möglich, das System aus einem bekannten sauberen Backup wiederherstellen.
Betroffen sind die Versionen 1.82.7 und 1.82.8. Der Schadcode ist in proxy_server.py (bei beiden Versionen betroffen) und litellm_init.pth (bei Version 1.82.8) eingebettet. Nutzer sollten ihre Versionen überprüfen und auf die neueste Sicherheitsversion aktualisieren.
Der Schadcode sammelt SSH-Schlüssel, Cloud-Zugangsdaten (AWS/GCP/Azure), Kubernetes-Konfigurationsdateien, Service-Account-Tokens, Git-Zertifikate, API-Schlüssel aus Umgebungsvariablen, Shell-Historie, Wallet-Daten und Datenbankpasswörter. Das Angriffsspektrum umfasst lokale Entwicklungsumgebungen, CI/CD-Pipelines und Cloud-Infrastrukturen.
Prüfen Sie auf Anzeichen wie das Vorhandensein der Dateien tpcp.tar.gz, /tmp/pglog oder /tmp/.pg_state sowie persistente Dienste im Zusammenhang mit sysmon.py. Überwachen Sie ausgehende Netzwerkverbindungen auf Kommunikation mit den oben genannten schädlichen Domains.