Die Entwickler der Python-Bibliothek LiteLLM, die monatlich 95 Millionen Downloads und in den letzten 24 Stunden 3,5 Millionen Downloads verzeichnete, haben von einer Kompromittierung des Projekts berichtet. Angreifer konnten die Anmeldedaten des Betreuers abfangen und zwei bösartige Releases - 1.82.7 und 1.82.8 - in PyPI veröffentlichen, die Code zum Stehlen von SchlĂŒsseln und Passwörtern aus den Systemen der Benutzer enthielten. Die bösartigen Versionen sind inzwischen aus PyPI entfernt worden, und das Projekt ist vorĂŒbergehend eingestellt, bis die Angelegenheit geklĂ€rt ist.
Das Zugriffs-Tokens fĂŒr das LiteLLM-Konto in PyPI gelangte durch die Verwendung eines Sicherheits-Scanners fĂŒr AbhĂ€ngigkeiten, trivvy, in die HĂ€nde der Angreifer. Zuvor konnten die Angreifer Ende Februar Zugriff auf die Infrastruktur des Projekts Trivy erlangen, indem sie eine Schwachstelle im Handler pull_request_target ausnutzten, der im Continuous Integration-System von Trivy ausgefĂŒhrt wird. Nach der Kompromittierung veröffentlichten die Angreifer bösartige Releases von Trivy 0.69-0.69, ersetzten den GitHub Action Handler trivy-action und stellten ein modifiziertes Docker-Image mit Trivy zur VerfĂŒgung.
Am 24. MĂ€rz um 11:30 Uhr (MSK) wurden die abgefangenen Anmeldedaten des Betreuers LiteLLM (krrishdholakia) genutzt, um bösartige Releases von LiteLLM 1.82.7 und 1.82.8 direkt in PyPI zu veröffentlichen, um die offizielle GitHub CI/CD zu umgehen. Das Repository des Projekts auf GitHub blieb unversehrt - bösartige AktivitĂ€ten wurden nur in PyPI beobachtet. Im Release von LiteLLM 1.82.7 war der bösartige Code in die Datei litellm/proxy/proxy_server.py integriert und wurde beim Import von litellm.proxy aktiviert. Im Release 1.82.8 wurde die Datei site-packages/litellm_init.pth hinzugefĂŒgt, und in die Datei proxy_server.py wurde ein Handler eingefĂŒgt, der im Base64-Format verpackt und bei jedem Start aktiviert wurde.
Der hinzugefĂŒgte bösartige Code fĂŒhrte Scans durch und ĂŒbermittelte vertrauliche Daten. Gefundene SSH- und SSL/TLS-SchlĂŒssel, Umgebungsvariablen, Anmeldedaten fĂŒr AWS, GCP, Azure und K8s, SchlĂŒssel von Kryptowallets, Passwörter fĂŒr Datenbankmanagementsysteme, die Historie von Befehlen im Interpreter, Konfigurationsdateien von Git, CI/CD, Paketmanagern und Docker wurden gesendet. Die gefundenen Daten wurden mit den Algorithmen AES-256-CBC + RSA-4096 verschlĂŒsselt und per HTTP POST-Anfrage an die Website "https://models.litellm.cloud/" gesendet.Domain haben litellm.cloud wurde einige Stunden vor der Veröffentlichung der bösartigen Releases registriert.
LiteLLM-Nutzern wird empfohlen, sicherzustellen, dass sich keine Datei litellm_init.pth im Katalog site-packages befindet, alle SchlĂŒssel und Anmeldedaten zu aktualisieren, falls die Version 1.82.7 oder 1.82.8 installiert wird, bestimmte Versionen von LiteLLM in den Ladeparametern fĂŒr AbhĂ€ngigkeiten festzulegen und die verwendeten LiteLLM-Versionen mit dem Release-Code auf GitHub abzugleichen.
Quelle: opennet.ru
