Hades-Kampagne entfesselt neue Python Supply-Chain-Angriffe auf Entwicklergeheimnisse
Eine neue Welle von Supply-Chain-Angriffen, 'Hades' genannt, ist aus der 'Miasma'-Kampagne hervorgegangen und hat das Python Package Index (PyPI)-Registry infiltriert. Diese ausgeklügelte Operation nutzt 37 bösartige Wheel-Artefakte in 19 Paketen und setzt die 'Mini Shai-Hulud'-Angriffslinie fort, die darauf abzielt, sensible Entwickleranmeldeinformationen zu stehlen und sich netzwerkweit zu verbreiten.
Die **Miasma**-Supply-Chain-Kampagne hat mit einer neuen Angriffswelle namens **Hades** eskaliert und das **Python Package Index (PyPI)**-Registry beeinträchtigt. Diese neueste Iteration umfasst 37 bösartige Wheel-Artefakte in 19 Paketen, die die 'Mini Shai-Hulud'-artigen Angriffe weiter verfeinern, um spezifische Entwickler-Ökosysteme ins Visier zu nehmen.
Laut einer Analyse von **Socket** enthielten die kompromittierten Releases eine `*-setup.pth`-Datei. Diese Datei ist so konzipiert, dass sie beim Python-Start automatisch ausgeführt wird, die **Bun** JavaScript-Laufzeitumgebung herunterlädt und anschließend eine verschleierte JavaScript-Payload namens `_index.js` startet.
### Identifizierte bösartige Pakete
Die folgenden Pakete wurden als Teil der **Hades**-Kampagne identifiziert:
* bramin 0.0.2, 0.0.3, 0.0.4
* cmd2func 0.2.2, 0.2.3
* coolbox 0.4.1, 0.4.2
* dynamo-release 1.5.4
* executor-engine 0.3.4, 0.3.5
* executor-http 0.1.3, 0.1.4
* funcdesc 0.2.2, 0.2.3
* magique 0.6.8, 0.6.9
* magique-ai 0.4.4, 0.4.5
* mrbios 0.1.1, 0.1.2
* napari-ufish 0.0.2, 0.0.3
* nucbox 0.1.2, 0.1.3
* okite 0.0.7, 0.0.8
* pantheon-agents 0.6.1, 0.6.2
* pantheon-toolsets 0.5.5, 0.5.6
* spateo-release 1.1.2
* synago 0.1.1, 0.1.2
* ufish 0.1.2, 0.1.3
* uprobe 0.1.3, 0.1.4
### Sich entwickelnde Payload und Exfiltration
Im Einklang mit früheren **Shai-Hulud**- und **Miasma**-Kampagnen lädt die bösartige Payload die **Bun** JavaScript-Laufzeitumgebung herunter und installiert sie. Diese Laufzeitumgebung wird dann verwendet, um einen stark verschleierten JavaScript-Dieb auszuführen, der ein breites Spektrum von Daten von Entwicklersystemen exfiltrieren kann.
Die gestohlenen Daten umfassen Geheimnisse im Zusammenhang mit **GitHub**, **npm**, **PyPI**, **RubyGems**, **JFrog**, **CircleCI**, **Anthropic**, **AWS**, **GCP**, **Azure** und **Kubernetes**. Sie zielen auch auf **Docker**-Konfigurationen, **Vault**-Tokens, **SSH**-Schlüssel, Shell-Verläufe, `.env`-Dateien, `.npmrc`-Dateien, `.pypirc`-Dateien, **Claude**/**MCP**-Konfigurationen und andere lokal oder runner-zugängliche Anmeldeinformationen ab.
Eine wichtige Änderung in der **Hades**-Kampagne ist der Exfiltrationsmarker. Während frühere Iterationen **GitHub**-Repository-Beschreibungen wie "Miasma: The Spreading Blight" verwendeten, verwendet die neueste Welle "Hades - The End for the Damned" oder "Hades * The End for the Damned".
**Socket** erläutert, dass **Hades** ein direkter Zweig der **Mini Shai-Hulud** / **Miasma**-Linie ist, kein separates Ereignis. Die Kernmethodik bleibt bestehen: vertrauenswürdige Paketkanäle missbrauchen, vor der normalen Paketnutzung ausführen, eine **Bun**-gestützte JavaScript-Payload bereitstellen, Entwickler- und CI/CD-Anmeldeinformationen stehlen und **GitHub**-zentrierte Exfiltration und Verbreitung nutzen.
### Neuer Ausführungsvektor
Diesmal nutzen die Angreifer eine `*-setup.pth`-Datei, die vom Python-Modul `site` während des Interpreterstarts verarbeitet wird. Dies ermöglicht es der bösartigen Payload, unmittelbar nach der Installation ausgeführt zu werden, ohne dass das Opfer das vergiftete Paket explizit importieren muss. Die Payload lädt dann **Bun** von **GitHub** herunter und führt es aus, um den Dieb auszuführen, aber erst nachdem geprüft wurde, ob das Gebietsschema des Systems russisch ist.
**Socket** weist auf die Parallele zum `npm install-hook`-Problem hin, das in früheren **Shai-Hulud**- und **Miasma**-Angriffen ausgenutzt wurde, und betont, dass, obwohl die Syntax unterschiedlich ist, die Sicherheitsauswirkung – die Ausführung während der Abhängigkeitsinstallation vor der Codeüberprüfung – dieselbe bleibt.
### Hades-Cluster und KI-Umgehung
Die **Hades**-Kampagne kompromittierte auch Pakete innerhalb des Ökosystems für computergestützte Biologie, Bioinformatik und Genotyp-Phänotyp-Analyse, darunter:
* embiggen 0.11.97
* ensmallen 0.8.101
* gpsea 0.9.14
* mflux-streamlit 0.0.3, 0.0.4
* nhmpy 2.4.7
* ppkt2synergy 0.1.1
* pyphetools 0.9.120
Dieser Cluster verwendet einen anderen Ansatz, indem er den Einstiegspunkt als verschleierten Einzeiler-Import-Hook innerhalb der `__init__.py`-Datei des Pakets einbettet. Das Ergebnis ist jedoch identisch: Herunterladen und Ausführen der **Bun**-Laufzeitumgebung, gefolgt von der JavaScript-Payload.
**StepSecurity** betont die konsistente Verwendung der **Bun**-Laufzeitumgebung. Das Herunterladen von **Bun** als eigenständige ZIP-Datei ermöglicht es der Malware, komplexe JavaScript-Aufgaben in Umgebungen auszuführen, in denen keine **Node.js**-Installation vorhanden ist, und umgeht so traditionelle Paketmanager-Kontrollen und Netzwerk-Proxy-Protokolle.
In einer bemerkenswerten Entwicklung integriert die Malware eine neuartige KI-Abwehrtechnik zur Umgehung von Sicherheitsmaßnahmen. Sie enthält eine Klartext-Prompt-Injection, die darauf abzielt, Large Language Model (LLM)-basierte Paketanalysetools irrezuleiten und das Paket als sicher einzustufen.
Darüber hinaus fragt die Malware **GitHub**-Commits nach dem Schlüsselwort "TheBeautifulSnadsOfTime" ab, um eine Base64-codierte JavaScript-Payload zu extrahieren. Sie fragt auch **GitHub** nach Commits ab, die mit "firedalazer" übereinstimmen, um einen Python-basierten Dropper abzurufen und auszuführen.
### Hades-Malware-Fähigkeiten
Die **Hades**-Malware verfügt über mehrere fortschrittliche Funktionen:
* **Laterale Bewegung**: Repliziert und verbreitet sich über Entwicklernetzwerke mittels **SSH** oder **SCP**, indem sie trojanisierte **PyPI**-Pakete von kompromittierten Systemen pusht, indem sie die **OpenID Connect (OIDC)**-Vertragskonfigurationen von Entwicklern ausnutzt.
* **Targeting von GitHub-Repositories**: Extrahiert Organisationsgeheimnisse mithilfe von **GitHub Actions**-Runnern, wenn das geerntete **GitHub**-Token über entsprechende Schreibberechtigungen verfügt.
* **Backdooring von Arbeitsbereichen**: Backdoort lokale Arbeitsbereichsordner, um die Codeausführung auszulösen, wenn diese von KI-Assistenten analysiert oder in IDEs geöffnet werden. Zu den Zielen gehören **Anthropic Claude**, **OpenAI Codex**, **Google Gemini**, **Microsoft Copilot**, **Cline**, **Aider**, **Tabby**, **Amazon Q**, **Cody**, **Bolt** und **Continue**.
* **Wiper-Funktionalität**: Installiert einen Hintergrunddienst namens "gh-token-monitor", der als Wiper fungiert und alle Daten (`rm -rf ~/; rm -rf ~/Documents`) löscht, wenn das gestohlene **GitHub**-Token widerrufen wird.
Der Sicherheitsforscher **Rohan Prabhu** hebt eine Schlüssel Fähigkeit des **Miasma**-Akteurs hervor: das Lesen des Prozessspeichers des **GitHub Actions**-Runners (des `Runner.Worker`-Prozesses), um Geheimnisse zu extrahieren. Während dies anfangs auf Linux-Systeme beschränkt war, die `/proc/{pid}/mem` verwendeten, führt die **Hades**-Kampagne maßgeschneiderte **macOS**- und **Windows**-Speicherscraper ein.
### Shai-Hulud-Variante auf GitHub
Diese Entwicklung fällt mit der Enthüllung von **StepSecurity** zusammen, dass ein unbekannter Angreifer das **GitHub**-Konto ("LeonOstrez") kompromittiert hat, das mit **Pythagora-io/gpt-pilot** verbunden ist, einem beliebten Open-Source-KI-Entwicklertool. Der Angreifer hat eine Variante des **Shai-Hulud**-Credential-Stealing-Wurms auf den Hauptzweig gepusht. Diese Malware ist darauf ausgelegt, sich beim Ausführen des Projekts durch einen ahnungslosen Entwickler lautlos zu aktivieren, während Systeme mit russischem Gebietsschema vermieden werden.
**Ashish Kurmi**, Mitbegründer und CTO von **StepSecurity**, bemerkte, dass die Malware von **ruff**, einem Python-Code-Formatter, vereitelt wurde. Die Versuche des Angreifers, CI zu umgehen, scheiterten zweimal, da ihre injizierte Python-Datei die Formatierungs- und Linting-Regeln des Projekts verletzte.
**Snyk** beschreibt diese Angriffe als Teil der breiteren **Shai-Hulud** / **Miasma**-Linie, wobei jede Welle einen **Bun**-Runtime-verschleierten Dieb mit neuen Persistenzmechanismen, Exfiltrationsrouten und automatisierter Codeausführung bei der Installation oder beim Build-Prozess kombiniert.
**Cloudsmith** warnt, dass signierte Schlüssel und authentifizierte Maintainer-Konten keine absolute Sicherheit mehr garantieren. Wenn Upstream-Registries und Repositories kompromittiert werden, wird öffentlicher Code zu einem direkten und wirkungsvollen Vektor für Kompromittierung.