1 Punkte von GN⁺ 2025-11-25 | 1 Kommentare | Auf WhatsApp teilen
  • Shai Hulud 2.0 greift erneut das npm-Ökosystem an und infiziert Pakete wichtiger Projekte wie Zapier, ENS Domains, AsyncAPI, PostHog, Postman
  • Die Schadsoftware wird während des Installationsprozesses automatisch ausgeführt und stiehlt Geheimnisse aus Entwicklersystemen und Cloud-Umgebungen
  • Auf infizierten Systemen sucht sie mit TruffleHog nach API-Schlüsseln, Tokens und Passwörtern und lädt sie in öffentliche GitHub-Repositories hoch
  • Der Angriff ist gegenüber früheren Versionen ausgeweitet und umfasst bis zu 100 infizierte Pakete; bei Authentifizierungsfehlern enthält er zudem eine Funktion zum Löschen von Dateien im Home-Verzeichnis
  • Als groß angelegter Supply-Chain-Angriff bedroht er das Vertrauensmodell des npm-Ökosystems und unterstreicht die Notwendigkeit, Geheimnisse in allen Entwicklerteams zu prüfen und auszutauschen

Überblick über die Shai-Hulud-Kampagne

  • Shai-Hulud ist eine sich selbst replizierende wurmartige Schadsoftware im npm-Ökosystem, die sich über infizierte Entwicklungsumgebungen schnell verbreitet
    • Bei einer Infektion durchsucht sie mit TruffleHog offengelegte Geheimnisse wie API-Schlüssel und Tokens
    • Die gesammelten Informationen werden an öffentliche GitHub-Repositories gesendet; anschließend werden neue bösartige Pakete auf npm veröffentlicht, um die Verbreitung fortzusetzen
  • Die Angreifer bezeichneten diese Attacke als „Second Coming“
  • Der Angriff wurde erneut gestartet, passend zu dem Zeitpunkt, an dem npm die Abschaffung alter Tokens am 9. Dezember angekündigt hatte

Zeitlicher Ablauf des Angriffs

    1. August: Veröffentlichung des Berichts zur S1ngularity-Kampagne
    1. September: erster Shai-Hulud-Angriff
    1. September: Bericht zur technischen Analyse und zum Verhalten der Payload
    1. November: zweiter Angriff (Second Coming) kurz vor der Abschaffung der npm-Tokens

Veränderungen in der Angriffsmethode

  • Dieser Angriff installiert über die Datei setup_bun.js die Bun-Laufzeitumgebung und führt danach bun_environment.js aus
  • Er erstellt GitHub-Repositories mit zufälligen Namen, um exfiltrierte Daten hochzuladen
  • Die Zahl der infizierten Zielpakete stieg von 20 auf 100
  • Bei fehlgeschlagener GitHub- oder npm-Authentifizierung enthält er eine Funktion zum vollständigen Löschen des Home-Verzeichnisses des Benutzers

Infizierte Pakete

  • Insgesamt wurden 492 npm-Pakete infiziert, mit 132 Millionen monatlichen Downloads
  • Wichtige betroffene Projekte: Zapier, ENS Domains, AsyncAPI, PostHog, Postman, Browserbase
  • Beispielpakete: @zapier/zapier-sdk, @ensdomains/ensjs, @asyncapi/cli, posthog-js, @postman/pm-bin-linux-x64 u. a.

Abfluss von Geheimnissen

  • Die Schadsoftware lädt Geheimnisse in GitHub-Repositories hoch, deren Beschreibung „Sha1-Hulud: The Second Coming“ enthält
  • Bisher wurde bestätigt, dass mehr als 26.300 Repositories offengelegt wurden

Fehler der Angreifer

  • Einige Pakete enthielten nur setup_bun.js, während bun_environment.js fehlte, sodass der Wurm nicht vollständig ausgeführt wurde
  • Dadurch war die Ausbreitung des Angriffs eingeschränkt

Infektionsweg und erster Infektionspunkt

  • Die erste Infektion begann am 24. November 2025 um 03:16:26 GMT+0 in go-template und 36 AsyncAPI-bezogenen Paketen
  • Danach breitete sie sich auf PostHog (04:11:55) und anschließend Postman (05:09:25) aus
  • Im AsyncAPI-CLI-Repository wurde Code bestätigt, der nach Erstellung eines bösartigen Branches verteilt wurde

Potenzielle Auswirkungen

  • Die automatische Ausführung bei der Installation ermöglicht Zugriff auf lokale Entwicklerumgebungen, Build-Systeme und Cloud-Zugangsdaten
  • Mit den gestohlenen Geheimnissen sind weitere Kontoübernahmen und die Veröffentlichung bösartiger Pakete möglich
  • Dies stellt eine ernsthafte Bedrohung für die auf Vertrauen basierende Supply-Chain-Sicherheit des npm-Ökosystems dar

Empfohlene Sicherheitsmaßnahmen

  • Sämtliche npm-Abhängigkeiten von Zapier und ENS vollständig überprüfen
  • Geheimnisse für GitHub, npm, Cloud und CI/CD vollständig austauschen
  • Auf GitHub nach Repositories mit der Beschreibung „Sha1-Hulud: The Second Coming“ suchen
  • In CI-Umgebungen npm-postinstall-Skripte deaktivieren
  • Paketversionen fixieren und MFA aktivieren sowie mit Tools wie Safe-Chain bösartige Pakete blockieren

Fazit

  • Shai-Hulud 2.0 ist ein groß angelegter erneuter Angriff auf die npm-Supply-Chain, von dem
    Hunderte populäre Pakete und Tausende GitHub-Repositories betroffen sind
  • Alle Entwicklerteams sollten Abhängigkeiten überprüfen, Geheimnisse austauschen und automatische Installationsskripte sofort blockieren

1 Kommentare

 
GN⁺ 2025-11-25
Hacker-News-Kommentar
  • Bubblewrap (bwrap) ist erwähnenswert. Dieses Tool kann die meisten Angriffsvektoren beseitigen, die in der npm/node-Umgebung auftreten können, oder zumindest den Schaden bei beliebiger Codeausführung begrenzen
    Keine perfekte Lösung, aber mit einem einfachen Wrapper-Skript ist es meiner Meinung nach deutlich besser als ein rootloser Podman-Container
    Bubblewrap GitHub-Link

  • Es wurde ein in Python geschriebenes Skript geteilt. Dieses Skript prüft, ob in meinen Repositories beschädigte Pakete in pnpm- oder npm-Lockfiles enthalten sind
    Skript-Link

  • Zuerst wirkte es wie ein Duplikat (Dup), tatsächlich war es aber ein anderer Artikel
    Verwandter Link

    • Es wurde erklärt, dass die zugehörigen Kommentare zu einem zusammengeführt wurden. Auch wenn die Links unterschiedlich sind, entspricht das den Kriterien für eine Zusammenführung, wenn das Diskussionsthema im Wesentlichen gleich ist. Da der zweite Link zusätzliche Informationen enthält, wurde er oben im Original ebenfalls angezeigt
    • Es wird erwähnt, dass dieser Artikel ziemlich viele zusätzliche Informationen enthält
    • Es wurde vorgeschlagen, bei erneuten Einreichungen desselben Links „Dup“ zu verwenden und bei einem anderen Link zum selben Vorfall „See also“
    • Es wird betont, dass es kein Duplikat ist, sondern ein inhaltlich anderer Artikel zum selben Vorfall
    • Als Referenz wurde außerdem Shai-Hulud Returns: Over 300 NPM Packages Infected (helixguard.ai) genannt
  • Es wird darauf hingewiesen, dass die Duplikatdiskussion hier läuft

  • Es wird auf einen Tippfehler im Titel hingewiesen. Der aktuelle HN-Titel lautet

    SHA1-Hulud the Second Comming – Postman, Zapier, PostHog All Compromised via NPM
    die korrekte Schreibweise ist jedoch Shai-Hulud

    • Allerdings heißt das Repository, in das die Geheimnisse tatsächlich hochgeladen wurden, Sha1-Hulud: The Second Coming, was die Verwirrung wohl verursacht hat
    • Der Wurm selbst veröffentlicht Geheimnisse auf GitHub unter dem Namen sha1-hulud
      Zugehöriger GitHub-Suchlink
    • Es gibt auch die Meinung, dass „coming“ nur mit einem m geschrieben wird, verbunden mit der Frage, ob das vielleicht ein beabsichtigtes Wortspiel sei
    • Es wurde erklärt, dass der eigentliche Angriff nichts mit dem SHA1-Algorithmus zu tun hat und der Name auch nicht als solche Parodie gemeint ist; außerdem sei unklar, warum dafür Downvotes vergeben wurden