Złośliwy kod w LiteLLM: stealer kluczy API aktywował się przy uruchomieniu Pythona
Kompromitacja pakietu LiteLLM w wersjach 1.82.7 i 1.82.8 zagroziła tysiącom deweloperów. Pakiet zainstalowany z PyPI (97 mln pobrań miesięcznie) zawierał stealera, który kradł klucze SSH, tokeny AWS, GCP, Azure, konfiguracje Kubernetes, portfele kryptowalut i wszystkie zmienne środowiskowe. To brama dla ponad 100 dostawców LLM, w tym OpenAI i Anthropic. Skompromitowane wersje zostały usunięte, bezpieczna to 1.82.6.
Mechanizm ataku
Złośliwy kod uruchamiał się automatycznie:
- Wersja 1.82.8: uruchamianie przy każdym starcie Pythona za pomocą plików .pth, niezależnie od importu biblioteki. Dowolny skrypt aktywował stealera.
- Wersja 1.82.7: aktywacja tylko przy imporcie LiteLLM w kodzie.
Zebrane dane były szyfrowane i wysyłane na models.litellm.cloud — domenę podszywającą się pod litellm.ai. W 1.82.8 błąd w malware powodował fork-bombę: tworzenie procesów potomnych przy każdym uruchomieniu Pythona, co doprowadziło do wyczerpania RAM i wykrycia.
Kompromitacja nastąpiła poprzez zależność transitivezną w wtyczce MCP do IDE Cursor. Bez tego błędu stealer działałby w ukryciu.
Atrybucja ataku
Atak przypisuje się grupie TeamPCP. W tygodniu marca 2026:
- Kompromitacja Trivy (Aqua Security).
- Checkmarx i KICS.
- LiteLLM (BerriAI).
Wzór: zhakowanie konta maintainer’a, publikacja złośliwej wersji, wieloetapowy stealer. W repozytorium BerriAI znajduje się commit „TeamPCP owns BerriAI”, issue #24512 zamknięte przez atakujących.
Zalecenia dotyczące weryfikacji i odzyskiwania
- Zastąpić wszystkie klucze: SSH, tokeny AWS/GCP/Azure, konfiguracje K8s, portfele kryptowalut, zmienne środowiskowe.
- Sprawdzić CI/CD: obecność
pip install litellmbez pinowania wersji mogła zainstalować złośliwą wersję. - Przeprowadzić audyt maszyn: tam, gdzie instalowano pakiet, nawet bez jego użycia.
- Monitorować: ruch sieciowy do models.litellm.cloud.
LiteLLM zarządza kluczami API do LLM, co czyniło go idealnym celem.
Co najważniejsze
- Kradł wszystkie zmienne środowiskowe przy uruchomieniu Pythona (1.82.8).
- 97 mln pobrań/miesiąc — skala zagrożenia.
- Automatyczna aktywacja bez importu biblioteki.
- Seria ataków TeamPCP na devtoole.
- Ironia: brama do kluczy LLM skompromitowana.
— Editorial Team
Brak komentarzy.