Powrót do strony głównej

Stealer w LiteLLM: kradzież kluczy przy uruchomieniu Python

W pakietach LiteLLM 1.82.7 i 1.82.8 wykryto stealer danych uwierzytelniających, aktywujący się przy uruchomieniu Python. Atak TeamPCP dotknął tysiące deweloperów. Konieczna wymiana wszystkich kluczy i audyt CI/CD.

LiteLLM pod atakiem: stealer kradnie klucze LLM
Advertisement 728x90

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.

Google AdInline article slot

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.

Google AdInline article slot

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 litellm bez 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

Advertisement 728x90

Czytaj dalej