Zahlreiche npm-Pakete aus dem Namespace @redhat-cloud-services sind im Rahmen einer Kampagne kompromittiert worden, die den Codenamen Miasma erhalten hat. Nach Angaben von Forschern von Socket, Wiz, JFrog und mehreren weiteren Unternehmen wurde der Schadcode über einen verschleierten preinstall-Hook eingeschleust und zielt auf den Diebstahl von GitHub Actions Secrets, npm-Tokens, Cloud-Credentials, SSH-Schlüsseln sowie Kubernetes- und Vault-Materialien von Entwicklerrechnern ab. Die Malware weist Eigenschaften eines sich selbst verbreitenden Wurms auf, der in der Lage ist, nachgelagerte Teile der Software-Supply-Chain zu vergiften. Organisationen, die betroffene Pakete einsetzen, müssen kompromittierte Hosts umgehend isolieren und sämtliche potenziell offengelegten Zugangsdaten rotieren.
Betroffene Pakete und Angriffsmechanismus
Laut Berichten sind die folgenden Pakete kompromittiert:
- @redhat-cloud-services/vulnerabilities-client
- @redhat-cloud-services/tsc-transform-imports
- @redhat-cloud-services/topological-inventory-client
- @redhat-cloud-services/sources-client
- @redhat-cloud-services/rule-components
- @redhat-cloud-services/remediations-client
- @redhat-cloud-services/rbac-client
Die Kampagne wird als Variante von Mini Shai-Hulud klassifiziert – einer Reihe von Supply-Chain-Angriffen, die Codeausführung während der Paketinstallation, das Sammeln von Credentials, die Kompromittierung von CI/CD-Pipelines, verschlüsselte Exfiltration und die Ausbreitung auf nachgelagerte Abhängigkeiten nutzen. Die Attribution der Kampagne ist zum jetzigen Zeitpunkt nicht geklärt.
Technische Details des schädlichen Verhaltens
Datensammlung und Exfiltration
Der schädliche preinstall-Hook sammelt ein breites Spektrum an Secrets: GitHub Actions Tokens, npm-Tokens, Cloud-Credentials, Kubernetes- und HashiCorp Vault-Materialien, SSH-Schlüssel und Git-Konfigurationen. Nach Angaben von Wiz wurden in dieser Variante neue Collector-Komponenten hinzugefügt, die auf Cloud-Identitäten in GCP und Azure ausgerichtet sind. Das weist darauf hin, dass der Fokus der Angreifer sich stärker auf den direkten Zugriff auf Cloud-Infrastrukturen als solche verlagert, und nicht nur auf die Extraktion von Secrets daraus.
Die verschlüsselten Daten werden an die Adresse api.anthropic.com:443/v1/api übertragen, und als alternativer Exfiltrationskanal dienen öffentliche GitHub-Repositories mit der Beschreibung «Miasma: The Spreading Blight». Laut SafeDep ruft die Malware in der npm-Umgebung OIDC-Token-Exchange- und whoami-Endpunkte auf, packt das Tarball-Archiv (package-updated.tgz) neu und signiert das Artefakt über Sigstore, um ihm den Anschein von Legitimität zu verleihen.
Ein charakteristisches Detail: Beim Commit über die GitHub API kann die Commit-Message die Zeile IfYouInvalidateThisTokenItWillNukeTheComputerOfTheOwner:<token> enthalten – offenbar ein Element sozialer Manipulation, das Administratoren davon abhalten soll, kompromittierte Tokens zu widerrufen.
Verbreitung über CI/CD
Die Malware listet GitHub-Repositories auf, für die das gestohlene Token Schreibrechte besitzt, liest über GraphQL die Dateien action.yml/action.yaml aus und erzeugt über die Mutation createCommitOnBranch einen Commit für einen Workflow. Das Ergebnis erscheint als verifizierte, signierte Änderung, was die Entdeckung im Rahmen von Code-Reviews erheblich erschwert.
Umgehung von Erkennung und Privilegienerweiterung
Vor der Ausführung der primären schädlichen Aktionen prüft die Malware, ob Endpoint-Schutzlösungen wie CrowdStrike, SentinelOne, Carbon Black und StepSecurity Harden-Runner vorhanden sind. Zur Privilegienerweiterung wird versucht, einen Container zu starten, der das Host-Verzeichnis /etc/sudoers.d einbindet und damit dem CI-Runner passwortlosen sudo-Zugriff verschafft.
Besonders hervorgehoben wird, dass die Malware nicht auf Systemen mit russischsprachiger Locale ausgeführt wird – ein Muster, das zuvor bereits in GlassWorm-Kampagnen beobachtet wurde.
Persistenzmechanismen
Die Malware verankert sich in Entwicklerwerkzeugen auf zwei Arten:
- Einfügen eines SessionStart-Hooks in die Konfiguration von Anthropic Claude Code (
~/.claude/settings.json) - Hinzufügen einer Task in
.vscode/tasks.jsonmit dem Parameter"runOn": "folderOpen"für Visual Studio Code-Projekte, wodurch bei jedem Öffnen eines Projektordners eine automatische Ausführung erfolgt
Darüber hinaus erzeugt jede Infektion mutmaßlich eine eindeutig verschlüsselte Payload, was die signaturbasierte Erkennung und die Nachverfolgung von Malware-Versionen erheblich erschwert.
Chronologie und Kontext
Nach Angaben von OX Security datiert der erste Commit mit der Zeichenfolge „Miasma: The Spreading Blight“ vom 29. Mai 2026. Das deutet entweder auf den Beginn der aktiven Phase der Kampagne oder auf den Zeitraum hin, in dem der Angreifer seine Infrastruktur getestet hat. Der Vorfall wird von zahlreichen unabhängigen Forschungsteams bestätigt, darunter Aikido Security, StepSecurity und Microsoft Threat Intelligence. Ein offizieller Incident-Report von Red Hat liegt zum Zeitpunkt der Veröffentlichung jedoch nicht vor.
Auswirkungsanalyse
Pakete aus dem Namespace @redhat-cloud-services werden in der Red Hat Insights-Ökosystem – einer Plattform für Monitoring und Management von Red Hat Enterprise Linux-Infrastrukturen – breit eingesetzt. Die Kompromittierung betrifft in erster Linie:
- Entwicklungsteams, die mit Cloud-Services von Red Hat arbeiten und diese Pakete als Abhängigkeiten verwenden
- CI/CD-Pipelines, in denen die Installation kompromittierter Pakete zu Secret-Leaks und potenzieller Infektion von Build-Artefakten führt
- Cloud-Infrastrukturen von Organisationen, deren GCP-, Azure- und AWS-Identitäten möglicherweise entwendet wurden
Der sich selbst verbreitende Charakter der Malware bedeutet, dass eine einzige kompromittierte Entwicklungsumgebung zum Einstiegspunkt für die Infektion zahlreicher nachgelagerter Repositories und Artefakte werden kann.
Empfehlungen für die Reaktion
Das bloße Entfernen des npm-Pakets oder des node_modules-Verzeichnisses ist keine ausreichende Bereinigungsmaßnahme, da die Malware Hintergrundausführung und Persistenzmechanismen in Entwicklerwerkzeugen beinhaltet.
- Isolieren Sie alle Hosts, auf denen betroffene Paketversionen installiert wurden
- Rotieren Sie alle potenziell offengelegten Zugangsdaten: npm-Tokens, GitHub-Tokens, SSH-Schlüssel, Cloud-Credentials, Kubernetes- und Vault-Secrets
- Überprüfen Sie das Vorhandensein von Persistenz-Artefakten in folgenden Dateien:
~/.claude/settings.json.vscode/tasks.json.github/workflows/codeql.yml.github/setup.js
- Prüfen Sie die GitHub-Aktivität auf verdächtige Commits, insbesondere solche, die über createCommitOnBranch signiert wurden, sowie auf npm-Veröffentlichungen im Expositionszeitraum
- Für CI/CD: Setzen Sie betroffene Workflows aus, invalidieren Sie alle Build-Artefakte, die im Expositionszeitraum erstellt wurden, und überprüfen Sie jedes Container-Image, npm-Paket und jedes Deployment-Artefakt, das nach der Installation des bösartigen Pakets veröffentlicht wurde
- Verstärken Sie die Zugriffskontrollen: Führen Sie obligatorische Reviews für Änderungen an GitHub Actions Workflows ein und beschränken Sie Token-Berechtigungen strikt nach dem Prinzip der geringsten Privilegien
Die Miasma-Kampagne demonstriert ein ausgereiftes Modell von Supply-Chain-Angriffen, das Secret-Diebstahl, den Missbrauch des Vertrauens in signierte Artefakte und die automatische Verbreitung über CI/CD kombiniert. Organisationen, die beliebige Pakete aus dem Namespace @redhat-cloud-services einsetzen, sollten umgehend einen Dependency-Audit durchführen, eine vollständige Secret-Rotation vornehmen und alle Build-Artefakte überprüfen, die seit Ende Mai 2026 erstellt wurden – und zwar bis zu dem Zeitpunkt, an dem Red Hat offiziell bestätigt, dass die Bedrohung vollständig beseitigt ist.