Nach Angaben von Lightning AI in einer Sicherheitsmitteilung enthielt die als py3-none-any-Wheel auf PyPI veröffentlichte Version 2.6.3 eine versteckte Ausführungskette, die beim “import lightning” automatisch anspringt und unbemerkt einen Hintergrundprozess startet. Dieser Prozess lädt eine JavaScript-Laufzeitumgebung – konkret “Bun v1.3.13” – von GitHub herunter und führt anschließend ein 11,4 MB großes, stark verschleiertes JavaScript-Payload namens “router_runtime.js” aus.

PyTorch Lightning ist ein populäres Framework: Im vergangenen Monat wurde es mehr als 11 Millionen Mal heruntergeladen. Das Paket dient dem Vortrainieren und Feinabstimmen von KI-Modellen, was den potenziellen Wirkungskreis der Manipulation erheblich vergrößert.

Microsoft Threat Intelligence erklärte in einem Beitrag über ein Wochenende, dass Defender die Schadroutine in Kundenumgebungen erkannt und verhindert sowie den Paket-Maintainer informiert habe. Defender stuft das Payload als “ShaiWorm” ein – eine Schadsoftware zum Datendiebstahl, die es auf .env-Dateien, API-Schlüssel, Geheimnisse, GitHub-Token sowie Daten in den Browsern Chrome, Firefox und Brave abgesehen hat. Zudem greift sie auf die APIs der Cloud-Dienste AWS, Azure und GCP zu, um dort Zugangsdaten zu entwenden, und ermöglicht die Ausführung beliebiger Systembefehle.

Laut der Telemetrie von Microsoft betraf die schädliche Aktivität nur “eine kleine Zahl von Geräten” und blieb offenbar “auf einen engen Kreis von Umgebungen beschränkt”.

Lightning AI warnt, dass bei Nutzern, die mit Version 2.6.3 ein “import lightning” ausgeführt haben, Geheimnisse, Schlüssel und Token kompromittiert worden sein könnten. In diesem Fall wird dringend empfohlen, sämtliche Geheimnisse umgehend zu erneuern. Auf PyPI wurde das Paket inzwischen auf Version 2.6.1 zurückgesetzt, deren Nutzung als unbedenklich gilt.

Wie es zu dem Lieferketten-Angriff kam, ist bislang unklar. Die Verantwortlichen des Pakets untersuchen derzeit, wie ihre Build- und Release-Pipeline kompromittiert wurde. Darüber hinaus sollen alle weiteren jüngsten Versionen auf ähnliche Payloads geprüft und die Nutzer über alle verfügbaren Kanäle informiert werden.