Aikido

Red Hat-npm-Pakete wurden kompromittiert, um einen Wurm zur Erlangung von Zugangsdaten zu verbreiten

Verfasst von
Ilyas Makari

Am 1. Juni 2026 haben wir mehrere offizielle Pakete von der @redhat-cloud-services-Bereich auf npm wurden durch einen Wurm kompromittiert, der Zugangsdaten stiehlt. Über 30 Pakete scheinen betroffen zu sein. Die Malware ähnelt der Mini-Shai-Hulud-Malware das kürzlich von TeamPCP als Open Source veröffentlicht wurde. Seitdem die Tools öffentlich zugänglich sind, haben auch andere Angreifer Zugriff auf dieselben Techniken und können diese nachahmen oder anpassen. Die Pakete wurden über GitHub Actions OIDC veröffentlicht, was darauf hindeutet, dass die CI/CD-Pipeline kompromittiert wurde und nicht ein npm-Token. Wenn Sie seit dem 1. Juni 2026 betroffene Paketversionen installiert haben, betrachten Sie alle secrets, Cloud-Anmeldedaten, SSH-Schlüssel und npm-Token als kompromittiert und ändern Sie diese unverzüglich.

Zeitleiste der „Mini Shai-Hulud“-Kampagne

Miasma: Ist Shai-Hulud zurück?

Die in den betroffenen Paketen eingebettete Schadsoftware weist starke Ähnlichkeiten mit „Mini Shai-Hulud“ auf, der von TeamPCP als Open-Source-Software veröffentlichten Supply-Chain-Malware. Interessanterweise nennt sich diese Version „Miasma“ und scheint die bekannten „Dune“-Anspielungen von Shai-Hulud durch Elemente der griechischen Mythologie ersetzt zu haben.

TeamPCP ist eine Gruppe von Angreifern, die Lieferkettenangriffe mehreren Monaten gezielte Lieferkettenangriffe durchführt. Ihre Malware „Mini Shai-Hulud“ ist ein ausgeklügelter Wurm zum Diebstahl von Anmeldedaten, der sich verbreitet, indem er mit Hintertüren versehene Versionen von Paketen erneut veröffentlicht, auf die das Opferkonto Zugriff hat. Wir haben bereits über Kompromittierungen berichtet, die Mistral und TanStack, Microsofts Durable Task, PyTorch Lightning, Bitwarden CLI und Intercom betrafen und alle auf dasselbe Tooling zurückgeführt werden konnten.

Als TeamPCP „Mini Shai-Hulud“ als Open-Source-Software veröffentlichte, ging die Bedrohung über einen einzelnen Akteur hinaus. Jede Gruppe kann das Framework nun nutzen, anpassen und gegen neue Ziele einsetzen.

Umgehung der vertrauenswürdigen Veröffentlichung

„Trusted Publishing“ ist ein von npm eingeführter Mechanismus, der darauf abzielt, langlebige Publish-Token aus CI/CD-Pipelines zu entfernen und sie durch kurzlebige OIDC-Token zu ersetzen, die von GitHub Actions ausgestellt werden. Das Verfahren wurde entwickelt, um die Sicherheit zu erhöhen, doch wie jüngste Angriffe zeigen, kann es umgangen werden, wenn ein Angreifer über eine Sicherheitslücke oder ein kompromittiertes Token Zugriff auf eine CI/CD-Pipeline erlangt.

Wir haben festgestellt, dass das GitHub-Konto eines Red-Hat-Mitarbeiters gehackt und dazu missbraucht wurde, bösartige, nicht zu einem Repository gehörende Commits direkt in mehrere Repositorys zu übertragen, wodurch die Codeüberprüfung vollständig umgangen wurde. Diese nicht zu einem Repository gehörenden Commits enthielten eine Workflow-Datei (ci.yaml) und ein Skript (_index.js).

Name: Veröffentlichung
am:
  Push:
    Zweige: ['*']
Jobs:
  Release:
    läuft auf: ubuntu-latest
    Berechtigungen:
      ID-Token: Schreiben
      Inhalt: lesen
    Schritte:
      - Verwendet: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
      - Verwendet: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6
      - name: vorbereiten
        Ausführung: bun Ausführen _index.js
        Umgebung:
          OIDC_PACKAGES: "@redhat-cloud-services/frontend-components-advisor-components, @redhat-cloud-services/chrome, @redhat-cloud-services/frontend-components, @redhat-cloud-services/frontend-components-config-utilities, @redhat-cloud-services/frontend-components-config, @redhat-cloud-services/eslint-config-redhat-cloud-services, @redhat-cloud-services/frontend-components-notifications, @redhat-cloud-services/frontend-components-remediations, @redhat-cloud-services/rule-components, @redhat-cloud-services/frontend-components-testing, @redhat-cloud-services/frontend-components-translations, @redhat-cloud-services/tsc-transform-imports, @redhat-cloud-services/types, @redhat-cloud-services/frontend-components-utilities"
          WORKFLOW_ID: "ci.yaml"
          REPO_ID_SUFFIX: "RedHatInsights/frontend-components"

Wenn der Workflow ausgeführt wird, installiert er Bun und führt _index.js, wobei ihm eine Liste der Zielpakete über die OIDC_PAKETE Umgebungsvariable. Das Skript verwendet die id-token: schreiben die Berechtigung, ein kurzlebiges OIDC-Token von GitHub anzufordern, und nutzt dieses Token anschließend, um sich direkt beim vertrauenswürdigen Veröffentlichungsendpunkt von npm zu authentifizieren und mit Hintertüren versehene Versionen aller Pakete in der Liste zu veröffentlichen.

Hier zeigt sich dasselbe grundlegende Muster wie bei den Sicherheitsverletzungen bei TanStack und Bitwarden: Die CI/CD-Pipeline selbst wird zur Angriffsfläche, während die auf OIDC basierende vertrauenswürdige Veröffentlichung – die eigentlich dazu dient, langlebige Token zu vermeiden – zu einem irreführenden Vertrauenssignal wird.

Das Vorinstallationsskript

Jedes kompromittierte Paket enthält in seiner `package.json`-Datei ein Vorinstallationsskript, das bei jedem `npm install` automatisch `node index.js` ausführt – noch bevor der Anwendungscode ausgeführt wird und noch bevor der Entwickler bemerkt, dass etwas nicht stimmt.

"scripts": {
  "preinstall": "node index.js"
}

Die Datei „index.js“ ist eine 4,2 MB große Nutzlast, die hinter mehreren Verschleierungsschichten verborgen ist.

Was es stiehlt

Wie bei früheren Mini-Shai-Hulud-Angriffen führt die Schadsoftware eine umfassende Suche nach Anmeldedaten bei Cloud-Anbietern, in CI/CD-Umgebungen und bei Entwicklertools durch. Im Bereich CI zielt sie auf secrets von GitHub Actions ab secrets GITHUB_TOKEN und ACTIONS_RUNTIME_TOKEN. Bei Cloud-Anmeldedaten erfasst es AWS-Zugriffsschlüssel und Sitzungstoken, GCP-Standardanmeldedaten für Anwendungen und Schlüsseldateien für Dienstkonten sowie Anmeldedaten für Azure-Dienstprinzipale und Token für verwaltete Identitäten. Außerdem sucht es nach HashiCorp-Vault-Token, Kubernetes-Dienstkontotoken und kubeconfig-Dateien, npm- und PyPI-Veröffentlichungstoken, privaten SSH-Schlüsseln, Anmeldedaten für Docker-Registries, GPG-Schlüsseln und allen .env-Dateien, die es im Dateisystem finden kann.

Wie Aikido dies erkennt

Wenn Sie ein Aikido-Benutzer sind, überprüfen Sie Ihren zentralen Feed und filtern Sie nach Malware-Problemen. Dies wird als kritisches Problem mit 100/100 angezeigt. Aikido führt nächtliche Rescans durch, aber wir empfehlen, jetzt einen manuellen Rescan auszulösen.

Wenn Sie noch kein Aikido-Benutzer sind, können Sie ein Konto erstellen und Ihre Repos verbinden. Unsere Malware-Abdeckung ist im kostenlosen Plan enthalten, keine Kreditkarte erforderlich.

Für einen umfassenden Schutz Ihres gesamten Teams bietet Ihnen der Geräteschutz Aikido Aikido Transparenz und Kontrolle über die auf den Geräten Ihres Teams installierten Softwarepakete. Er deckt Browser-Erweiterungen, Code-Bibliotheken, IDE-Plugins und Build-Abhängigkeiten ab – alles an einem Ort. Stoppen Sie Malware, bevor sie installiert wird.

Für zukünftigen Schutz sollten Sie Aikido Safe Chain (Open Source) in Betracht ziehen. Safe Chain integriert sich in Ihren bestehenden Workflow, indem es npm-, npx-, yarn-, pnpm- und pnpx-Befehle abfängt und Pakete vor der Installation gegen Aikido Intel prüft.

Indicators of Compromise

Falls Sie eine der folgenden Paketversionen installiert haben, betrachten Sie alle CI secrets, Cloud-Anmeldedaten, SSH-Schlüssel und npm-Token als kompromittiert und ändern Sie diese unverzüglich:

  • @redhat-cloud-services/chrome (2.3.1, 2.3.2)
  • compliance (4.0.3, 4.0.4)
  • @redhat-cloud-services/config-manager-client (5.0.4, 5.0.5)
  • @redhat-cloud-services/entitlements-client (4.0.11, 4.0.12)
  • @redhat-cloud-services/eslint-config-redhat-cloud-services (3.2.1, 3.2.2)
  • @redhat-cloud-services/Frontend-Komponenten (7.7.2, 7.7.3)
  • @redhat-cloud-services/Frontend-Komponenten-Berater-Komponenten (3.8.2)
  • @redhat-cloud-services/frontend-components-config (6.11.3, 6.11.4)
  • @redhat-cloud-services/Frontend-Komponenten-Konfigurations-Dienstprogramme (4.11.2, 4.11.3)
  • @redhat-cloud-services/frontend-components-notifications (6.9.2, 6.9.3)
  • @redhat-cloud-services/Frontend-Komponenten-Korrekturmaßnahmen (4.9.2, 4.9.3)
  • @redhat-cloud-services/Frontend-Komponenten-Tests (1.2.1, 1.2.2)
  • @redhat-cloud-services/frontend-components-translations (4.4.1, 4.4.2)
  • @redhat-cloud-services/Frontend-Komponenten-Dienstprogramme (7.4.1, 7.4.2)
  • @redhat-cloud-services/hcc-feo-mcp (0.3.1, 0.3.2)
  • @redhat-cloud-services/hcc-kessel-mcp (0.3.1, 0.3.2)
  • @redhat-cloud-services/hcc-pf-mcp (0.6.1, 0.6.2)
  • @redhat-cloud-services/host-inventory-client (5.0.3, 5.0.4)
  • @redhat-cloud-services/insights-client (4.0.4, 4.0.5)
  • @redhat-cloud-services/integrations-client (6.0.4, 6.0.5)
  • @redhat-cloud-services/javascript-clients-shared (2.0.8, 2.0.9)
  • @redhat-cloud-services/notifications-client (6.1.4, 6.1.5)
  • @redhat-cloud-services/patch-client (4.0.4, 4.0.5)
  • @redhat-cloud-services/quickstarts-client (4.0.11, 4.0.12)
  • @redhat-cloud-services/rbac-client (9.0.3, 9.0.4)
  • @redhat-cloud-services/remediations-client (4.0.4, 4.0.5)
  • @redhat-cloud-services/Regelkomponenten (4.7.2, 4.7.3)
  • @redhat-cloud-services/sources-client (3.0.10, 3.0.11)
  • @redhat-cloud-services/topological-inventory-client (3.0.10, 3.0.11)
  • @redhat-cloud-services/tsc-transform-imports (1.2.2)
  • @redhat-cloud-services/Typen (3.6.1, 3.6.2, 3.6.4)
  • @redhat-cloud-services/Sicherheitslücken-Client (2.1.8, 2.1.9)
Teilen:

https://www.aikido.dev/blog/red-hat-npm-packages-compromised-credential-stealing-worm

Nachrichten abonnieren

4.7/5
Falschpositive Ergebnisse leid?

Probieren Sie Aikido, wie 100.000 andere.
Jetzt starten
Erhalten Sie eine personalisierte Führung

Von über 100.000 Teams vertraut

Jetzt buchen
Scannen Sie Ihre App nach IDORs und realen Angriffspfaden

Von über 100.000 Teams vertraut

Scan starten
Erfahren Sie, wie KI-Penetrationstests Ihre App testen

Von über 100.000 Teams vertraut

Testen starten

Sicherheit jetzt implementieren

Sichern Sie Ihren Code, Ihre Cloud und Ihre Laufzeit in einem zentralen System.
Finden und beheben Sie Schwachstellen schnell und automatisch.

Keine Kreditkarte erforderlich | Scan-Ergebnisse in 32 Sek.