Socket ordnet Hades nicht als eigenständigen Python-Malwarefall ein, sondern als PyPI-Ableger derselben Mini-Shai-Hulud-/Miasma-Linie. Der grundsätzliche Ablauf bleibe gleich: Vertrauenswürdige Paketkanäle missbrauchen, Code vor der normalen Paketnutzung ausführen, eine JavaScript-Nutzlast über Bun bereitstellen und anschließend Entwickler- sowie CI/CD-Zugangsdaten entwenden. Auch die Exfiltration und weitere Verbreitung orientieren sich laut Socket an GitHub.

Der technische Kern der neuen Welle ist die Verwendung einer *-setup.pth-Datei. Diese wird vom Python-Modul „site“ beim Start des Interpreters verarbeitet. Dadurch kann die schädliche Nutzlast nach der Installation anlaufen, ohne dass das betroffene Paket aktiv eingebunden werden muss. Anschließend lädt der Code Bun von GitHub herunter und startet den Stealer. Vorher prüft die Malware laut Bericht, ob das System auf ein russisches Gebietsschema eingestellt ist.

Socket beschreibt das als Python-Variante desselben Problems, das Shai-Hulud und Miasma im npm-Umfeld wiederholt ausgenutzt haben: Schon die Installation einer Abhängigkeit schafft einen Ausführungspfad, bevor Anwendungscode geprüft oder überhaupt aufgerufen wird. In dieser Hades-Welle wurde zudem ein Paket-Cluster aus dem Umfeld von Computerbiologie, Bioinformatik und Genotyp-Phänotyp-Analyse kompromittiert. Dort liegt der Einstiegspunkt laut Bericht nicht in einer .pth-Datei, sondern als verschleierter einzeiliger Import-Hook in der Datei „init.py“. Das Ergebnis bleibt jedoch identisch: Bun wird nachgeladen und die JavaScript-Nutzlast ausgeführt.

StepSecurity hebt hervor, dass Bun in der Kampagne eine konstante Rolle spielt. Der Download als eigenständige ZIP-Datei ermögliche es der Malware, komplexe JavaScript-Aufgaben auch dort auszuführen, wo Node.js nicht installiert ist. Dadurch würden klassische Kontrollen über Paketmanager und Netzwerk-Proxy-Protokolle umgangen. Zusätzlich setzt die Schadsoftware laut Bericht eine neuartige Technik zur Umgehung von KI-Analysen ein: eine Prompt-Injection in Klartext, die LLM-basierte Werkzeuge zur Paketprüfung dazu verleiten soll, das Paket als unbedenklich einzustufen.

Hinzu kommen weitere Mechanismen zur Nachladung von Code über GitHub. Die Malware durchsucht dem Bericht zufolge Commits nach dem Schlüsselwort „TheBeautifulSnadsOfTime“, um daraus eine Base64-kodierte Zeichenkette mit JavaScript-Nutzlast zu extrahieren. Außerdem fragt sie GitHub nach Commits mit dem Begriff „firedalazer“ ab, um einen Python-basierten Dropper zu beziehen und auszuführen.

Der Sicherheitsforscher Rohan Prabhu verweist auf eine weitere Fähigkeit des Miasma-Akteurs: das Auslesen des Prozessspeichers des GitHub-Actions-Runners, konkret des Prozesses „Runner.Worker“, um Geheimnisse zu extrahieren. In früheren Kampagnen sei das auf Linux-Systeme über „/proc/{pid}/mem“ beschränkt gewesen. Hades ergänze nun speziell angepasste Speicher-Scraper für macOS und Windows.

Parallel dazu berichtete StepSecurity über einen weiteren Vorfall im Umfeld derselben Angriffslinie. Ein unbekannter Angreifer habe das GitHub-Konto „LeonOstrez“ kompromittiert, das mit „Pythagora-io/gpt-pilot“ verknüpft ist, und eine Variante des zugangsdatenstehlenden Wurms Shai-Hulud per erzwungenem Push in den Hauptzweig eingebracht. Laut Ashish Kurmi, Mitgründer und Technikchef von StepSecurity, scheiterte der Angreifer jedoch zweimal an der CI-Pipeline, weil die eingeschleuste Python-Datei nicht den Formatierungs- und Linting-Regeln des Projekts entsprach.

Snyk beschreibt die Vorfälle ebenfalls als Teil der Shai-Hulud-/Miasma-Linie. Jede Welle kombiniere einen über Bun gestarteten, verschleierten Stealer mit neuen Persistenzmethoden, neuen Exfiltrationswegen und neuen Wegen, Code automatisch zur Installations- oder Build-Zeit auszuführen. Cloudsmith zieht daraus den Schluss, dass signierte Schlüssel und authentifizierte Maintainer-Konten allein keine absolute Sicherheit mehr garantieren, wenn Upstream-Registries und Repositories kompromittiert werden.