Die Entwickler der Python-Bibliothek LiteLLM, die monatlich 95 Millionen Downloads verzeichnet und in den letzten 24 Stunden 3,5 Millionen Downloads hatte, haben von einer Kompromittierung des Projekts berichtet. Angreifer konnten die Zugangsdaten des Betreuers abfangen und zwei schĂ€dliche Versionen (1.82.7 und 1.82.8) im PyPI veröffentlichen, die Code zum Stehlen von SchlĂŒsseln und Passwörtern von Benutzersystemen enthielten. Die schĂ€dlichen Versionen wurden mittlerweile aus dem PyPI entfernt, und das Projekt wurde vorĂŒbergehend bis zur KlĂ€rung des Vorfalls eingefroren.
Das Zugangs-Token fĂŒr das LiteLLM-Konto im PyPI gelangte in die HĂ€nde der Angreifer aufgrund der Verwendung eines Sicherheits-Scanners fĂŒr AbhĂ€ngigkeiten namens Trivy im kontinuierlichen Integrationssystem. Zuvor konnten die Angreifer Ende Februar Zugriff auf die Infrastruktur des Trivy-Projekts erhalten, indem sie eine Schwachstelle im Handler pull_request_target ausnutzten, der im Trivy-ci-System ausgefĂŒhrt wird. Nach der Kompromittierung veröffentlichten die Angreifer die schĂ€dlichen Versionen Trivy 0.69-0.69, manipulierten den GitHub Action-Handler trivy-action und veröffentlichten ein modifiziertes Docker-Image mit Trivy.
Am 24. MĂ€rz um 11:30 Uhr (MSK) wurden die Verpflichtungsdaten des LiteLLM-Begleiters (krrishdholakia) verwendet, um bösartige Veröffentlichungen der Versionen LiteLLM 1.82.7 und 1.82.8 direkt in PyPI zu veröffentlichen und dabei die offizielle GitHub CI/CD zu umgehen. Das Projekt-Repository auf GitHub blieb unberĂŒhrt â bösartige AktivitĂ€ten wurden nur in PyPI beobachtet. In der Version LiteLLM 1.82.7 wurde schadhafter Code in die Datei litellm/proxy/proxy_server.py integriert, der bei dem Import von litellm.proxy aktiviert wurde. In der Version 1.82.8 wurde die Datei site-packages/litellm_init.pth hinzugefĂŒgt, wĂ€hrend ein Handler im proxy_server.py im base64-Format verpackt wurde, der bei jedem Start aktiviert wurde.
Der hinzugefĂŒgte bösartige Code fĂŒhrte Scans durch und sendete vertrauliche Daten. Es wurden SSH- und SSL/TLS-SchlĂŒssel, Inhalte von Umgebungsvariablen, Zugangsdaten zu AWS, GCP, Azure und K8s, SchlĂŒssel von Kryptowallets, Datenbankpasswörter, Befehlsinterpreter-Protokolle, Konfigurationsdateien von Git, CI/CD, Paketmanagern und Docker gefunden. Die entdeckten Daten wurden mit den Algorithmen AES-256-CBC + RSA-4096 verschlĂŒsselt und per HTTP POST-Request an die Website "https://models.litellm.cloud/" gesendet.Domain litellm.cloud wurde einige Stunden vor der Veröffentlichung bösartiger Releases registriert.
LiteLLM-Nutzern wird empfohlen, sicherzustellen, dass sich im Verzeichnis site-packages keine Datei litellm_init.pth befindet, alle SchlĂŒssel und Zugangsdaten bei der Installation der Versionen 1.82.7 oder 1.82.8 zu aktualisieren, bestimmte Versionen von LiteLLM in den AbhĂ€ngigkeitseinstellungen zu fixieren und die verwendeten Releases von LiteLLM mit dem Code der Releases auf GitHub abzugleichen.
Quelle: opennet.ru
