5 Punkte von GN⁺ 2025-09-17 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Im NPM-Ökosystem kam es zu einem Supply-Chain-Angriff, bei dem in mehr als 40 Pakete, darunter das beliebte @ctrl/tinycolor, selbstverbreitende Malware eingeschleust wurde. Dadurch können Geheimnisse aus Entwicklungsumgebungen bis hin zu CI/CD-Zugangsdaten kaskadierend infiziert werden. Die infizierten Versionen wurden aus npm entfernt.
  • Die Angriffs-Payload führt während des npm-Installationsprozesses asynchron ein Webpack-Bundle (bundle.js, ~3,6 MB) aus und sammelt über Umgebungsvariablen, Dateisystem und Cloud-SDKs umfangreich Credentials.
  • Die bösartige Logik erzwingt über NpmModule.updatePackage das Patchen und Veröffentlichen anderer Pakete und sorgt so für eine kaskadierende Verbreitung. Zudem injiziert sie in GitHub Actions den Workflow shai-hulud und exfiltriert Organisations-Secret über toJSON(secrets).
  • Die gesammelten Daten werden durch das Anlegen des öffentlichen GitHub-Repositorys Shai-Hulud exfiltriert, getarnt als normale Entwicklungsaktivität und mit hoher Fähigkeit zur Umgehung von Erkennung.
  • Dies geschieht verdeckt über Zugriffe auf AWS/GCP/Azure/NPM/GitHub-Token und Metadata-Endpunkte sowie über Secret-Suche auf Basis von TruffleHog.
  • Erforderlich sind die sofortige Entfernung der Pakete, die Bereinigung der Repositories und der Austausch sämtlicher Credentials sowie die Prüfung von CloudTrail-/GCP-Audit-Logs, das Blockieren von Webhooks und die Einführung von Branch Protection / Secret Scanning / Cooldown-Richtlinien.

Affected Packages

  • Berichtet wurden insgesamt 195 Pakete/Versionen. Dazu zählen unter anderem @ctrl/tinycolor (4.1.1, 4.1.2), zahlreiche Pakete im Namespace @ctrl/, die Modulgruppe @crowdstrike/, ngx-bootstrap/ngx-toastr/ng2-file-upload/ngx-color und damit große Teile des Angular-/Web-UI-Ökosystems, außerdem der Mobile-Stack @nativescript-community/ und @nstudio/, die Life-Sciences-Toolchain teselagen/, ember-*, koa2-swagger-ui, pm2-gelf-json und wdio-web-reporter.
  • Die exakten Versionen je Paket sind der Tabelle im Original zu entnehmen; es ist eine präzise Querverifikation erforderlich, ob diese Versionen verwendet werden.
    • Beispiele: @ctrl/ngx-emoji-mart 9.2.1, 9.2.2, @ctrl/qbittorrent 9.7.1, 9.7.2, ngx-bootstrap 18.1.4, 19.0.3–20.0.5, ng2-file-upload 7.0.2–9.0.1 usw.

Immediate Actions Required

Identify and Remove Compromised Packages

  • Im Projekt prüfen, ob infizierte Pakete vorhanden sind: z. B. mit npm ls @ctrl/tinycolor
  • Infizierte Pakete sofort entfernen: z. B. mit npm uninstall @ctrl/tinycolor
  • Lokale Spuren durch Suche nach dem bekannten bundle.js-Hash prüfen: sha256sum | grep 46faab8a... verwenden

Clean Infected Repositories

  • Bösartigen GitHub-Actions-Workflow löschen: .github/workflows/shai-hulud-workflow.yml entfernen
  • Auf dem Remote erstellten Branch shai-hulud erkennen und löschen: nach git ls-remote ... | grep shai-hulud dann git push origin --delete shai-hulud ausführen

Rotate All Credentials Immediately

  • NPM-Token, GitHub-PATs/Actions-Secrets, SSH-Schlüssel, AWS/GCP/Azure-Zugangsdaten, DB-Connection-Strings, Third-Party-Token, CI/CD-Secrets usw. müssen vollständig ersetzt werden
  • Erforderlich ist eine vollständige Rotation, einschließlich aller Einträge in AWS Secrets Manager/GCP Secret Manager

Audit Cloud Infrastructure for Compromise

  • AWS: In CloudTrail Zeitpunkte und Muster von Aufrufen wie BatchGetSecretValue, ListSecrets, GetSecretValue prüfen; mit dem IAM Credential Report auf anomale Erstellung oder Nutzung von Schlüsseln untersuchen
  • GCP: In den Audit Logs die Zugriffe auf Secret Manager prüfen und kontrollieren, ob CreateServiceAccountKey-Ereignisse vorhanden sind

Noch keine Kommentare.

Noch keine Kommentare.