Kompromitace litellm 1.82.7/1.82.8: mechanismus krádeže credentials přes PyPI
Knihovna litellm ve verzích 1.82.7 a 1.82.8 na PyPI obsahuje škodlivý kód, který krade SSH klíče, cloudové credentials, Kubernetes tajnosti a API klíče. Útok využívá řetězec dodávek, spouští se automaticky při spuštění Python interpretu nebo importu modulu. Postihnuté jsou systémy s tranzitivními závislostmi, včetně MCP pluginů Cursor.
Objevení incidentu
Útok se projevila fork bombou v .pth souboru, která vyčerpala zdroje hostitele. Bez tohoto bugu by malware mohl fungovat skrytě. Verze byly zveřejněny 24. března 2026 v 10:39–10:52 UTC bez aktualizací na GitHub — škodlivý kód byl vložen pouze do PyPI artefaktů a obešel code review.
Výzkumníci FutureSearch si všimli absence tagů vydání. Repozitář je čistý, což je typické pro útoky na řetězec dodávek.
Technické detaily malwaru
Fáze 1: Sběr dat
Payload extrahuje:
- SSH klíče a konfigurace.
.envsoubory.- Credentials AWS, GCP, Azure.
- Kubeconfig a tajnosti Kubernetes.
- Hesla databází.
- Historii shellu.
- Soubory kryptoměnových peněženek.
- Proměnné prostředí.
Provádějí se dotazy na IMDS endpoints cloudových poskytovatelů.
Fáze 2: Exfiltrace
Data se šifrují AES-256-CBC s RSA-4096 (hardcoded veřejný klíč) a odesílají na models.litellm[.]cloud — neoficiální doménu.
Fáze 3: Persistace
V Kubernetes malware:
- Čte všechny tajnosti klastru prostřednictvím service account tokenu.
- Vytváří privilegované pody
alpine:latestvkube-systems montováním host FS. - Instaluje backdoor
~/.config/sysmon/sysmon.py. - Registruje systemd user service pro spuštění na všech nodech.
Verze 1.82.8 používá litellm_init.pth (34 628 bajtů), spustitelný Pythonem automaticky. 1.82.7 — obfuskovaný kód v proxy/proxy_server.py.
Kontrola a oprava
Zkontrolujte systémy příkazy:
# Verze litellm
pip show litellm
# Stopy v uv cache
find ~/.cache/uv -name "litellm_init.pth"
# Backdoor
ls ~/.config/sysmon/sysmon.py
ls ~/.config/systemd/user/sysmon.service
V Kubernetes: kubectl get pods -n kube-system | grep node-setup-.
Pokud jsou nainstalovány verze 1.82.7/1.82.8:
pip uninstall litellm
rm -rf ~/.cache/uv
# Nebo: pip cache purge
Odejděte na 1.82.6 (22. března, čistá podle Endor Labs). Rotujte všechny credentials: SSH klíče, cloudové tokeny, kubeconfig, API klíče, hesla DB. Zkontrolujte CI/CD pipeline a Docker image za 24–48 hodin.
Kontext kampaně TeamPCP
Útok je součástí kampaně TeamPCP (od prosince 2025):
- března: Trivy (75/76 tagů
trivy-action). - 21.–23. března: KICS/Checkmarx, OpenVSX, CanisterWorm v npm (64+ balíčků).
- března: litellm.
Společné značky: AES-256 + RSA-4096, jeden veřejný klíč. GitHub Issue #24512 v litellm uzavřeno jako „not planned“ s podezřelými komentáři — možná kompromitace účtu.
Indikátory kompromitace
- Doména C2:
models.litellm[.]cloud. - Soubor:
litellm_init.pth. - SHA-256:
ceNa7wMJnNHy1kRnNCcwJaFjWX3pORLfMh7xGL8TUjg. - Backdoor:
~/.config/sysmon/sysmon.py. - K8s: pody
node-setup-*vkube-system.
Co je důležité
- Škodlivý kód v
.pthse spustí bezimport, postihuje všechny Python procesy. - Exfiltrace je šifrovaná, C2 — falešná doména litellm.
- Kubernetes exploit poskytuje plný přístup k clusteru přes privilegované pody.
- Součást řetězce TeamPCP: monitorujte Trivy, KICS, npm balíčky.
- Návrat na 1.82.6 + úplná rotace credentials jsou povinné.
— Editorial Team
Zatím žádné komentáře.