Een LiteLLM compromis is gemeld waarbij aanvallers via de software supply chain een schadelijke variant van het populaire Python-pakket verspreidden. Het incident draait om een combinatie van een credential stealer en een backdoor, gericht op het buitmaken van cloud- en ontwikkelgegevens.
Meerdere partijen, waaronder SafeDep, Socket, StepSecurity en Upwind, melden dat de manipulatie invloed had op de versie 1.107.0, die beschikbaar was via zowel PyPI-wheels als Docker images. PyPI heeft het pakket inmiddels in quarantaine geplaatst en de kwaadaardige Docker images zijn verwijderd.
Wat er is gebeurd bij het LiteLLM compromis
De kern van de aanval is dat een geïnfecteerde release via de normale distributieketen is terechtgekomen. Volgens de onderzoekers werden de acties uitgevoerd via GitHub accounts, waarbij (waarschijnlijk) gestolen GitHub CLI OAuth-tokens zijn gebruikt om publicatie- en goedkeuringsstappen te triggeren.
LiteLLM geeft aan dat de betrokken tokens inmiddels zijn ingetrokken (revoked). Daarnaast wordt er nog onderzocht hoe de aanvallers aan de tokens zijn gekomen, waardoor niet kan worden uitgesloten dat er meer toegang nodig was geweest. Als tijdelijke beperking heeft LiteLLM daarom alle gebruikers behalve één verwijderd uit de GitHub organisatie.
Welke onderdelen zijn geraakt: PyPI en Docker
De gemelde impact concentreert zich op LiteLLM 1.107.0. Die versie is getroffen in meerdere distributievormen: diverse wheel-bestanden voor verschillende besturingssystemen/architecturen en daarnaast ook een tar.gz-archief.
De volgende bestanden worden expliciet genoemd als beïnvloed:
- litellm-1.107.0-cp310-abi3-macosx_10_12_x86_64.whl
- litellm-1.107.0-cp310-abi3-macosx_11_0_arm64.whl
- litellm-1.107.0-cp310-abi3-manylinux_2_28_aarch64.whl
- litellm-1.107.0-cp310-abi3-manylinux_2_28_x86_64.whl
- litellm-1.107.0-cp310-abi3-musllinux_1_2_aarch64.whl
- litellm-1.107.0-cp310-abi3-musllinux_1_2_x86_64.whl
- litellm-1.107.0-cp310-abi3-win_amd64.whl
- litellm-1.107.0.tar.gz (geen payloadbestanden, maar wel een gemanipuleerde pyproject.toml)
Daarnaast zijn de kwaadaardige Docker images verwijderd en is het Python pakket op PyPI in quarantaine gezet.
Hoe de malware werkt: credential stealer en backdoor
De analyse laat zien dat de schadelijke code is ontworpen om direct actief te worden, ook nog voordat LiteLLM überhaupt geïmporteerd wordt. Dat gebeurt via een mechanisme dat bekendstaat om zijn “vroeg starten”: de malware maakt gebruik van een padbestand (cook.pth) dat automatisch code laat draaien zodra de Python interpreter opstart.
In de beschreven aanpak staat in cook.pth één regel: import cook. Die import activeert vervolgens de payload.
Payload 1: privcollect en het verzamelen van data
Het eerste deel functioneert als credential collector. Volgens de rapportage probeert de malware onder meer:
- cloud credentials en tokens
- private keys
- authenticatiebestanden die relevant zijn voor AI-ontwikkeltools
- ontwikkelaar-gerelateerde accounts
- browserdata gekoppeld aan Chromium en Firefox
- environment variables
Verder kan de malware ook gericht zijn op bestaande LiteLLM deployments om proxy- en configuratiegegevens te verzamelen.
Payload 2: daemon die opdrachten ophaalt
Het tweede onderdeel zet een achtergrondservice op die elk uur een “dead drop” controleert in een GitHub-omgeving en vervolgens draait wat de aanvaller aanbiedt. In de samenvatting van de onderzoekers wordt dit concreet gekoppeld aan het uitvoeren van Python die door de aanvaller wordt geserveerd.
Het verzamelde materiaal wordt bovendien verpakt in een GZIP-compressed TAR-archief en verstuurd via een HTTP POST naar litellm[.]dev/healthcheck.
Er is daarnaast een extra route beschreven waarbij de malware een tekstbestand domain.txt leest uit een GitHub repository (github[.]com/letters9813). Als daar een domein in staat, wordt opnieuw dezelfde stealer aangeroepen en volgt een HTTP GET naar <domain>/codepy, waarna de reactie wordt uitgevoerd. De repository geeft momenteel een 404 terug.
Waarom dit extra risicovol is voor ontwikkelteams
Supply chain aanvallen werken vaak omdat organisaties vertrouwen op bestaande dependencies en geautomatiseerde build-/deployprocessen. Bij dit LiteLLM compromis gaat het niet om een “onschuldige” manipulatie van code. De payload is expliciet bedoeld om credentials en authenticatiebestanden te verzamelen.
Daarbij is het zorgwekkend dat de malware al start via cook.pth. Dat betekent dat het risico niet beperkt blijft tot situaties waarin LiteLLM direct wordt gebruikt; de code kan al vroeg in het Python-opstartproces actief worden.
Wat je nu moet doen als je LiteLLM gebruikte
De onderzoekers adviseren gebruikers die de getroffen versie hebben gedownload om te handelen. Concreet:
- Revok e en vervang blootgestelde credentials in een schone omgeving.
- Pin je afhankelijkheid naar versie 1.106.2 met een digest, zodat je niet per ongeluk terugvalt op een gemanipuleerde release.
Ook helpt het om je omgeving te screenen: kijk welke machines, containers of CI-runs een install van 1.107.0 bevatten. Als je gebruikt maakt van Docker, controleer dan of er images draaien die uit die periode dateren.
Wil je dit breder aanpakken, dan sluit het aan bij eerdere advisering over patchen en het beperken van risico’s rond gelekte of misbruikbare softwareonderdelen. Bijvoorbeeld: PHP-kwetsbaarheden: bereid je voor op patchen.
Praktische supply chain hygiëne (bovenop patchen)
Naast het direct vervangen van de getroffen versie is het verstandig om je proces te verstevigen. Denk aan:
- Werk met vastgelegde dependencyversies (bij voorkeur met checksums/digests).
- Gebruik private registries waar je eigen governance op hebt.
- Beperk tokens en permissions voor automatisering (CI/CD en release accounts).
- Monitor op verdachte install- en buildstappen, vooral rond releases en package publicatie.
Als je organisatie ook met AI-agenten of automatiseringsketens werkt, is het extra nuttig om te kijken naar governance- en reactiepraktijken. Eerder behandelde onderwerpen zoals rogue AI-agenten: zo reageer je snel en goed kunnen helpen om je incidentrespons te structureren, ook al gaat dat over een andere dreiging.
Conclusie
Het LiteLLM compromis toont opnieuw hoe een supply chain aanval moderne ontwikkelomgevingen kan raken. De gemelde schadelijke versie 1.107.0 combineert credential diefstal met een mechanisme dat op de achtergrond commando’s kan ophalen en uitvoeren.
De grote boodschap is helder: check of je getroffen versies hebt geïnstalleerd, revok e en vervang alle mogelijk blootgestelde credentials, en pin naar een veilige versie met digest. Daarmee beperk je de impact en verklein je de kans dat je team opnieuw slachtoffer wordt van vergelijkbare aanvallen.
Bron: https://thehackernews.com/2026/10/litellm-compromised-in-supply-chain.html
