Die Supply-Chain-Kampagne Mini Shai-Hulud erreicht den Python Package Index. Manipulierte Wheels aktivieren über .pth-Dateien bei jedem Python-Start einen Bun-basierten Stealer, der Entwickler- und Cloud-Zugangsdaten abgreift. Die Gesamtkampagne umfasst 448 Artefakte über npm und PyPI, eine ähnliche Welle traf 73 Microsoft-Repositories auf GitHub.
Die Mini-Shai-Hulud-Kampagne erreicht mit der Miasma-Welle den Python Package Index. Manipulierte Wheels stehlen bei jedem Python-Start Cloud- und Entwicklerzugangsdaten.
(Bild: Gemini / KI-generiert)
Am 07.06.2026 dokumentiert das Sicherheitsunternehmen Socket eine neue Angriffswelle innerhalb der Kampagne Mini Shai-Hulud, intern auch als Miasma geführt. Der Schwerpunkt verlagert sich auf den Python Package Index. 37 bösartige Wheels über 19 Projekte kommen hinzu, womit die Gesamtkampagne 448 Artefakte über npm und PyPI umfasst. Davon zählen 411 Artefakte über 106 npm-Pakete. Die kompromittierten Releases stammen aus der Übernahme eines einzelnen Maintainer-Kontos, das aufeinanderfolgende Patch-Versionen quer durch sein Portfolio massenhaft veröffentlichte. Die größte Reichweite haben etablierte Bioinformatik-Tools wie dynamo-release, spateo-release und coolbox, dazu kommen die Spot-Detection-Pakete ufish und napari-ufish sowie kleinere Bibliotheken zur Task-Ausführung.
.pth-Zeilen lösen die Ausführung beim Python-Start aus
Das site-Modul von Python verarbeitet .pth-Dateien bei jedem Start des Interpreters. Beginnt eine Zeile mit dem Schlüsselwort import, führt der Interpreter sie aus. Die manipulierten Wheels legen eine Datei mit der Endung .pth ab, deren einzige Zeile beim nächsten Aufruf von Python, pip, einem Notebook-Kernel oder einem CI-Job aktiv wird. Eine Installation genügt, ein expliziter Import des Pakets ist nicht notwendig.
Die Startzeile prüft auf eine Markierungsdatei im temporären Verzeichnis. Fehlt diese Markierung, lokalisiert der Code die Datei "_index.js", lädt bei Bedarf die Bun-Runtime von GitHub herunter und startet den Schadcode über den Befehl "bun run". Eine angelegte Markierungsdatei verhindert eine wiederholte Ausführung. Python dient damit als Transportweg, der ausgeführte Stealer arbeitet unter Bun in stark obfuskiertem JavaScript. Die Schadroutine bringt die Bun-Runtime selbst mit und bleibt dadurch unabhängig von der lokal installierten Laufzeit.
Bun führt einen mehrschichtig verschlüsselten Stealer aus
Der entpackte Schadcode zeigt mehrere Schichten. Ein eval-Wrapper dekodiert ein langes Zeichencode-Array und wendet eine ROT-Substitution an. Die erste Stufe entschlüsselt zwei eingebettete AES-128-GCM-Blöcke und schreibt den Hauptcode in eine zufällig benannte Datei unter /tmp. Der Hauptcode arbeitet mit einer rotierten String-Tabelle, einem eigenen Decoder auf Basis von PBKDF2 und SHA256 sowie einer zusätzlichen Schicht aus AES-256-GCM und gzip.
Das Zielspektrum reicht von Anmeldedaten für GitHub, npm, PyPI, RubyGems und JFrog bis zu Tokens für CircleCI und Anthropic. Im Cloud-Bereich erfasst die Routine Zugangsdaten für Kubernetes-Service-Accounts, für AWS samt STS-Identität, SSM Parameter Store und Secrets Manager sowie Material aus dem GCP Secret Manager und dem Azure Key Vault. Auch Vault-Tokens, SSH-Schlüssel, Docker-Konfigurationen, Shell-Verläufe und lokale Dateien, darunter ".env", ".npmrc" und ".pypirc", gehören dazu. Hervorzuheben sind Konfigurationen für Claude und MCP, ein Hinweis auf die Ausweitung in KI-gestützte Entwicklungsumgebungen.
Für den Abfluss der Daten kombiniert der Schadcode mehrere Wege. Bestätigter Kanal ist GitHub. Der Code legt öffentliche Repositories über den Endpunkt "POST /user/repos" an und committet verschlüsselte Datenpakete unter Pfaden nach dem Muster "results/results-*.json". Parallel schreibt eine eingebettete Workflow-Logik Secrets in eine Datei und lädt ein Artefakt mit dem Namen "format-results" hoch, der zugehörige Workflow heißt "Run Copilot".
Daneben enthält der Schadcode einen direkten HTTPS-Sender an api.anthropic.com/v1/api. Der Endpunkt liefert sowohl bei GET als auch bei POST den Standard-404 von Anthropic und nimmt keine Daten an. Eine Kompromittierung von Anthropic-Systemen liegt nicht vor. Der Weg dient als Tarnung, denn Verkehr zu einem verbreiteten KI-Anbieter fällt im Netzwerk-Protokoll wenig auf. Die aktuelle Welle führt neue thematische Marker ein. Erzeugte Repositories erhalten die Beschreibung "Hades - The End for the Damned", der Commit-Marker lautet "IfYouYankThisTokenItWillNukeTheComputerOfTheOwnerFully". Generierte Repository-Namen greifen auf Begriffe der griechischen Unterwelt zurück, darunter "cerberus", "charon" und "styx".
Die PyPI-Welle ordnet sich in eine breitere Bewegung ein. Den Ausgangspunkt bildete Anfang Juni eine kompromittierte Sammlung von npm-Paketen aus dem Umfeld der Red Hat Cloud Services. Die Akteursgruppe TeamPCP setzt durchgängig auf dasselbe Vorgehen, das aus Installation und Start eine Stufe zur Codeausführung macht. Die Tragweite zeigt ein Vorfall vom 05.06.2026. Ein selbstreplizierender Wurm infizierte 73 GitHub-Repositories von Microsoft, unter anderem Bestände zu Azure und Azure-Samples. Ein manipulierter Commit im Repository Azure/durabletask wurde aktiv, sobald ein KI-gestütztes Entwicklungstool ihn öffnete. GitHub nahm die betroffenen Bestände binnen 105 Sekunden vom Netz, der Wurm zielte auf Cloud-Zugangsdaten für Kubernetes, AWS und GCP.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Die Hades-Welle verschiebt das Muster der Shai-Hulud-Familie vom npm-Installationshaken auf die Startmechanik von Python. Code-Ausführung zum Installations- und Startzeitpunkt bildet das gemeinsame Merkmal über npm, PyPI, Packagist und GitHub-Workflows hinweg. Die Indikatoren reichen von Dateinamen und Loader-Strings bis zu den GitHub-Markern der Kampagne.