Utoljára frissült: 43 perce·Ma: 47 cikk feldolgozva
Biztonság

46 perc alatt 47 000 letöltés: a LiteLLM supply chain támadás, ami az egész Python AI-ökoszisztémát megrázta

Két rosszindulatú csomagverzió SSH-kulcsokat, AWS-hitelesítőket és kriptotárcákat lopott — és a függő csomagok 88%-a nem volt védett.

46 perc alatt 47 000 letöltés: a LiteLLM supply chain támadás, ami az egész Python AI-ökoszisztémát megrázta
Unsplash / Glen Carrie
Forrás: Simon Willison / FutureSearchSzerző: AI Forradalom szerk.

Március 24-én reggel 10:39-kor (UTC) valaki feltöltötte a LiteLLM 1.82.7-es verzióját a PyPI-ra — a népszerű Python AI-könyvtár csomagjába rejtett malware-rel. 13 perccel később jött az 1.82.8-as is, még agresszívabb támadókóddal. A PyPI 46 perc alatt karanténba helyezte mindkettőt — de addigra már közel 47 000 letöltés történt.

A támadás módszere különösen aljas volt. Az 1.82.8-as verzió egy .pth fájlt használt, ami a Python interpreter indulásakor fut le — vagyis már a pip install parancs végrehajtásakor aktiválódott, még mielőtt bárki egy sort is futtatott volna a kódból. A korábbi 1.82.7-es a proxy_server.py fájlba rejtette a payloadot.

Mindkét verzió ugyanazt célozta: SSH-kulcsok, AWS/GCP/Azure hitelesítők, .env fájlok, Kubernetes konfigurációk és kriptotárcák ellopását. Gyakorlatilag minden, amire egy fejlesztői gépen szükség van egy teljes infrastruktúra átvételéhez.

A BigQuery PyPI adatbázis elemzése szerint az 1.82.8-as verzió 32 464 letöltést produkált (ebből 23 142-t pip-pel, 8 901-et uv-vel), az 1.82.7-es pedig 14 532-t. A LiteLLM-től 2 337 PyPI csomag függ közvetlenül — és ezek 88 százaléka nem rögzítette a verziót úgy, hogy kizárta volna a kompromittált kiadásokat.

A tanulság brutálisan egyszerű: egyetlen npm/pip csomag kompromittálása percek alatt tízezreket érinthet. A dependency cooldown — vagyis az a gyakorlat, hogy új verziókat csak néhány nap várakozás után telepítünk — már nem luxus, hanem túlélési stratégia.