- Eine
.pth-Datei, die beim Start des Python-Interpreters automatisch ausgeführt wird, ist enthalten und sammelt sensible Informationen wie API-Schlüssel, SSH-Schlüssel und Cloud-Tokens und überträgt sie nach außen
- Das bösartige Skript ist durch doppelte Base64-Codierung verborgen und sendet die gesammelten Daten, nach AES-256-Verschlüsselung und Absicherung mit einem RSA-Public-Key, an
litellm.cloud
- Bei einer Infektion können Zugangsdaten aus lokalen Umgebungen, CI/CD und Produktionsservern vollständig offengelegt werden
- Es wurde berichtet, dass auch Version 1.82.7 bösartigen Code enthält, womit beide Versionen riskant sind
- Die Security-Community empfiehlt dringend das Entfernen des Pakets, die Rotation aller Zugangsdaten und eine Stärkung der Supply-Chain-Sicherheit
Sicherheitsvorfall durch die bösartige Datei litellm_init.pth im PyPI-Paket von litellm 1.82.8
- Im PyPI-Wheel-Paket von litellm 1.82.8 ist eine bösartige
.pth-Datei (litellm_init.pth) enthalten, wodurch bei jedem Start des Python-Interpreters automatisch ein Skript zum Diebstahl von Zugangsdaten ausgeführt wird
- Die Datei wird auch ohne den Befehl
import litellm ausgeführt; der Vorfall wurde als Supply-Chain-Angriff bestätigt
- Die bösartige Datei ist in der
RECORD-Datei des Pakets aufgeführt
-
Analyse des bösartigen Verhaltens
- Die
.pth-Datei nutzt die Eigenschaft, beim Start des Python-Interpreters automatisch ausgeführt zu werden
- Das bösartige Skript ist durch doppelte Base64-Codierung verborgen und führt nach dem Decodieren die folgenden Schritte aus
-
Schritt 1: Informationssammlung
- Systeminformationen:
hostname, whoami, uname -a, ip addr, ip route
- Umgebungsvariablen: Sammlung von API-Schlüsseln, Secrets und Tokens über
printenv
- SSH-Schlüssel: wichtige Schlüsseldateien und Konfigurationsdateien in
~/.ssh/
- Git-Zugangsdaten:
~/.gitconfig, ~/.git-credentials
- Cloud-Zugangsdaten: Konfigurationsdateien und Tokens für AWS, GCP und Azure
- Kubernetes-Konfiguration:
/etc/kubernetes/, ~/.kube/config usw.
- Docker-Konfiguration:
~/.docker/config.json usw.
- Konfigurationen von Paketmanagern:
.npmrc, .netrc, .vault-token usw.
- Shell-Historie:
.bash_history, .zsh_history usw.
- Kryptowallets:
~/.bitcoin/, ~/.ethereum/keystore/ usw.
- SSL/TLS-Private-Keys:
/etc/ssl/private/, .pem-, .key-Dateien
- CI/CD-Secrets:
terraform.tfvars, .gitlab-ci.yml, Jenkinsfile usw.
- Datenbank-Zugangsdaten: Konfigurationsdateien für PostgreSQL, MySQL, Redis usw.
- Webhook-URLs: Suche nach URLs von Slack, Discord usw.
-
Schritt 2: Verschlüsselung und Exfiltration
- Die gesammelten Daten werden in einer temporären Datei gespeichert
- Mit
openssl rand wird ein 32-Byte-AES-256-Session-Key erzeugt
- Mit
openssl enc -aes-256-cbc -pbkdf2 werden die Daten verschlüsselt
- Der Session-Key wird mit einem hartkodierten 4096-Bit-RSA-Public-Key verschlüsselt
- Beide Dateien werden zu
tpcp.tar.gz gebündelt und übertragen
- Ziel der Übertragung:
https://models.litellm.cloud/ (anders als die offizielle Domain litellm.ai)
-
Technische Details
- Die
.pth-Datei befindet sich in Python-site-packages/ und wird beim Start des Interpreters automatisch ausgeführt
- Die Payload ist durch doppelte Base64-Codierung verborgen, um Erkennung zu umgehen
- Die Angreifer betreiben unter der Domain
litellm.cloud einen Server zur Datenexfiltration
- Beginn des RSA-Public-Keys:
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvahaZDo8mucujrT15ry+...
-
Auswirkungen
- Bei Installation von
litellm==1.82.8 können alle geheimen Informationen wie Umgebungsvariablen, SSH-Schlüssel und Cloud-Zugangsdaten abfließen
- Betroffene Umgebungen:
- lokale Entwicklungsumgebungen
- CI/CD-Pipelines
- Docker-Container
- Produktionsserver
- Zusätzlich wurde berichtet, dass auch Version 1.82.7 bösartigen Code in
proxy/proxy_server.py enthält
-
Empfohlene Maßnahmen
-
- PyPI:
litellm 1.82.8 sofort entfernen oder yanken
-
- Nutzer:
- Prüfen, ob
litellm_init.pth in site-packages/ vorhanden ist
- Alle Zugangsdaten auf Systemen mit dieser Version rotieren
-
- BerriAI: Sicherheitsprüfung der PyPI-Distributionszugangsdaten und der CI/CD-Pipeline erforderlich
-
Fundumgebung
- OS: Ubuntu 24.04 (Docker-Container)
- Python: 3.13
- Installationsquelle: PyPI
- Zeitpunkt der Entdeckung: 24. März 2026
-
Reaktionen der Community und weitere Diskussionen
- Mehrere Entwickler erwähnten, dass möglicherweise bereits Tausende infiziert wurden
- Einige Nutzer bestätigten, dass auch Version 1.82.7 betroffen sei
- Security-Experten betonten die Notwendigkeit von Dependency-Pinning und einer Stärkung der Supply-Chain-Sicherheit
agnosticlines und andere wiesen auf Schwachstellen in GitHub Actions und das wiederholte Auftreten von Supply-Chain-Angriffen hin
MountainGod2 warnte: „Abhängigkeiten sollten auf Commit-Hashes festgelegt werden, und neue Releases sollten erst nach Verifikation verwendet werden“
- Mehrere Projekte (
mlflow, home-assistant, morphik-core usw.) haben die litellm-Version fixiert oder das Paket entfernt
Noch keine Kommentare.