Die sich selbst replizierende Supply-Chain-Attacke Miasma hat Microsoft-Repositories auf GitHub betroffen — nach Angaben von Forschern wurden 73 Repositories in vier Organisationen kompromittiert: Azure, Azure-Samples, Microsoft und MicrosoftDocs. GitHub hat den Zugriff auf die betroffenen Repositories gesperrt. Der Vorfall verdeutlicht eine grundlegende Schwachstelle des Vertrauensmodells in Open-Source-Ökosystemen: Der Wurm agiert im Namen legitimer Maintainer, und die Plattformen sind nicht in der Lage, eine bösartige Veröffentlichung von einem regulären Update zu unterscheiden. Allen Organisationen, die die betroffenen Pakete und Repositories verwenden, wird dringend empfohlen, umgehend einen Audit ihrer Abhängigkeiten durchzuführen.
Umfang der Kompromittierung
Dem Bericht von OpenSourceMalware zufolge sind Repositories aus geschäftskritischen Microsoft-Projekten betroffen. Beim Versuch, auf das Repository Azure/azure-functions-host zuzugreifen, wird ein Hinweis angezeigt, dass es von GitHub Staff wegen eines Verstoßes gegen die Nutzungsbedingungen blockiert wurde. Zu den bestätigten betroffenen Repositories gehören:
- azure-search-openai-demo-purviewdatasecurity
- Connectors-NET-LSP und Connectors-NET-SDK
- durabletask und seine Implementierungen: durabletask-dotnet, durabletask-go, durabletask-js, durabletask-mssql
- functions-container-action und homebrew-functions
- llm-fine-tuning
- windows-driver-docs
Besondere Aufmerksamkeit verdient die erneute Kompromittierung des Pakets durabletask auf PyPI. Nach Angaben der Forscher war dieses Paket bereits einen Monat zuvor infiziert worden, um einen Infostealer auf Linux-Systeme zu bringen. Sicherheitsforscher Paul McCarty wies darauf hin, dass zusammen mit dem Hauptrepository Azure/durabletask alle zugehörigen Repositories des Durable-Task-Ökosystems entfernt wurden — Implementierungen für .NET, Go, Java, JS, MSSQL, Netherite und protobuf sowie das Monitoring für Durable Functions.
Angriffsmechanismus und Evolution des Wurms
Nach Einschätzung der Forscher ist Miasma eine Variante des Wurms Mini Shai-Hulud, den die Gruppierung TeamPCP Mitte Mai 2026 öffentlich veröffentlicht hat. Seit der Veröffentlichung mutiert der Wurm kontinuierlich und verfeinert seine Taktiken.
Die im Zuge der Verbreitung erzeugten bösartigen Repositories verwenden charakteristische Beschreibungen zur Identifizierung:
- „Miasma: The Spreading Blight“ (und Varianten mit unterschiedlichen Trennzeichen)
- „Hades – The End for the Damned“
Zum Zeitpunkt der Analyse wurden auf GitHub 13 Repositories mit der Beschreibung „Hades“ und 82 Repositories mit Varianten von „Miasma“ gefunden.
Direkte Einschleusung in den Quellcode
Ein prinzipiell neues Element ist die Umgehung des npm-Registers. Nach Angaben von SafeDep schleusten die Angreifer bösartigen Code direkt in Repositories ein, darunter icflorescu/mantine-datatable und vier zugehörige Projekte: mantine-contextmenu, next-server-actions-parallel, mantine-datatable-v6 und mantine-contextmenu-v6.
Der bösartige Commit fügte keine Abhängigkeiten hinzu. Stattdessen platzierte er eine 4,3 MB große Payload und konfigurierte deren automatische Ausführung über fünf Entwicklungswerkzeuge: Claude Code, Gemini CLI, Cursor, VS Code und das npm-Skript test. Der Angriff wird ausgelöst, wenn ein Entwickler das infizierte Repository klont und es in einem KI-Agenten zur Codeerstellung öffnet. SafeDep beschreibt den Loader als denselben mehrstufigen Bun-Loader, der umfunktioniert wurde, um sich in originären GitHub-Repositories zu verankern, anstatt Paketregister zu vergiften.
Warum traditionelle Schutzmechanismen nicht griffen
Das zentrale Merkmal von Miasma, das diese Kampagne von anderen Supply-Chain-Angriffen abhebt, ist die Ausnutzung des Vertrauensmodells, nicht technischer Schwachstellen. Wie Analysten von FalconFeeds.io anmerken, operiert der Wurm ausschließlich innerhalb legitimer Kanäle: Er nutzt keine Schwachstellen in npm oder GitHub aus. Er kompromittiert Signierschlüssel und Maintainer-Konten und agiert anschließend wie ein legitimer Publisher. Aus Sicht des Registers ist jedes bösartige Veröffentlichungsereignis von einem Routine-Update nicht zu unterscheiden.
Das erklärt die Fähigkeit des Wurms zu exponentieller Verbreitung: Jeder kompromittierte Entwickler wird zu einem neuen Infektionsvektor für alle Projekte, auf die er Zugriff hat. Nach Daten von OX Security infiziert die Kampagne weiterhin neue Pakete.
Einschätzung der Auswirkungen
Am stärksten gefährdet sind:
- Entwickler, die Azure-Services nutzen — zentrale Repositories von Azure Functions, Durable Task und Konnektoren sind betroffen
- Nutzer des PyPI-Pakets durabletask — die erneute Kompromittierung weist auf einen möglichen fortbestehenden Zugriff der Angreifer hin
- Entwickler, die KI-Agenten zum Coden verwenden — der neue Vektor über Konfigurationen von Claude Code, Gemini CLI, Cursor und VS Code schafft ein Risiko bereits beim einfachen Klonen eines infizierten Repositories
- Projekte mit Abhängigkeiten von mantine-datatable und den zugehörigen Bibliotheken
Wichtiger Hinweis: Die genannte Zahl von 73 betroffenen Repositories basiert auf den Daten einer einzigen Forschungsquelle. Zum Zeitpunkt der Veröffentlichung lag keine offizielle Erklärung von Microsoft oder GitHub zum vollen Ausmaß des Vorfalls vor. Die Zuordnung zu TeamPCP stützt sich ebenfalls auf Einschätzungen von Forschern und nicht auf bestätigte Primärdaten.
Empfehlungen zum Schutz
- Audit der Abhängigkeiten: Prüfen Sie, ob Ihre Projekte eines der genannten betroffenen Repositories und Pakete verwenden. Besonderes Augenmerk sollte auf dem Paket durabletask auf PyPI und dem Durable-Task-Ökosystem liegen.
- Überprüfung der KI-Agenten-Konfigurationen: Wenn Sie Claude Code, Gemini CLI, Cursor oder VS Code mit KI-Assistenzfunktionen nutzen, prüfen Sie die Konfigurationsdateien in kürzlich geklonten Repositories auf verdächtige Autostart-Skripte.
- Rotation von Secrets: Wenn Ihre Projekte mit betroffenen Repositories interagiert haben, rotieren Sie alle Tokens, API-Schlüssel und Zugangsdaten, die in der Entwicklungsumgebung zugänglich gewesen sein könnten.
- Monitoring der Repositories: Überwachen Sie das Auftauchen von Repositories mit den Beschreibungen „Miasma: The Spreading Blight“ und „Hades – The End for the Damned“ in den Abhängigkeiten Ihrer Projekte.
- Verifizierung von Commits: Führen Sie verpflichtende Commit-Signaturen (GPG/SSH) und Reviews aller Änderungen ein, selbst von vertrauenswürdigen Maintainern. Richten Sie Alarme für das Hinzufügen großer Binärdateien in Repositories ein.
- Einschränkung automatischer Ausführung: Deaktivieren Sie den automatischen Start von Skripten beim Klonen von Repositories. Prüfen Sie den Inhalt von npm-Skripten (preinstall, postinstall, test), bevor Sie sie ausführen.
Die Miasma-Kampagne verdeutlicht ein systemisches Problem: Das Vertrauensmodell offener Ökosysteme, in denen ein authentifizierter Maintainer standardmäßig als sicher gilt, hält Angriffen mit kompromittierten Zugangsdaten nicht stand. Vorrangige Maßnahmen für Entwicklungsteams sind ein sofortiger Audit der Abhängigkeiten von den betroffenen Microsoft-Repositories und PyPI-/npm-Paketen, die Rotation aller zugehörigen Secrets sowie die Einführung von Richtlinien, die die automatische Codeausführung beim Klonen externer Repositories untersagen.