Een kwaadaardige versie van het PyTorch Lightning-pakket, gepubliceerd op de Python Package Index (PyPI), bevat een credential-stealer die gericht is op browsers, omgevingsbestanden en cloudservices. De ontwikkelaar maakte de supply-chain aanval op 30 april bekend, waarbij versie 2.6.3 van het pakket een verborgen uitvoeringsketen bevatte die een JavaScript payload downloadt en uitvoert.

PyTorch Lightning is een deep learning-framework dat wordt gebruikt voor het pretrainen en finetunen van AI-modellen en is een populair pakket met meer dan 11 miljoen downloads in de afgelopen maand. Volgens de security advisory van de beheerder wordt de kwaadaardige code automatisch geactiveerd bij het importeren van het pakket en start deze stilletjes een achtergrondproces.

Dit proces downloadt een JavaScript-runtime (‘Bun v1.3.13’) van GitHub en voert een zwaar geobfusceerde JavaScript payload van 11,4 MB uit (‘router_runtime.js’). Microsoft Threat Intelligence meldt dat Defender de kwaadaardige routine detecteerde en blokkeerde in klantomgevingen en de pakketbeheerder hierover informeerde. De payload, door Defender gedetecteerd als “ShaiWorm”, is malware die informatie steelt uit .env-bestanden, API-sleutels, geheimen, GitHub-tokens en data opgeslagen in Chrome, Firefox en Brave browsers. Daarnaast communiceert de malware met cloud-API’s van AWS, Azure en GCP om credentials te stelen en ondersteunt het het uitvoeren van willekeurige systeemcommando’s.

Volgens Lightning AI bevat versie 2.6.3 van het pakket een verborgen keten die bij import stilletjes de JavaScript-runtime downloadt en de payload uitvoert, met credential-stealing functionaliteit gericht op cloudproviders, browsers en omgevingsbestanden. Microsoft-telemetrie geeft aan dat de kwaadaardige activiteit een beperkt aantal apparaten trof en zich lijkt te hebben beperkt tot een kleine set omgevingen. Gebruikers die versie 2.6.3 met ‘import lightning’ hebben uitgevoerd, wordt geadviseerd om direct alle geheimen, sleutels en tokens te roteren.

PyTorch Lightning is inmiddels teruggezet naar versie 2.6.1 op PyPI, die als veilig wordt beschouwd. Het is nog onduidelijk hoe de supply-chain compromittering precies heeft plaatsgevonden. De uitgevers van het pakket onderzoeken momenteel hoe de build- en releasepipeline is aangevallen. Tevens worden alle recente releases gecontroleerd op vergelijkbare payloads en worden gebruikers via alle beschikbare kanalen geïnformeerd.