Eine neue Welle des Mini-Shai-Hulud-Wurms infiziert über ein kompromittiertes npm-Konto Hunderte Pakete des AntV-Ökosystems mit Credential-Stealern.
Sicherheitsforscher haben eine neue, weitreichende Kampagne von Software-Lieferkettenangriffen aufgedeckt. Betroffen sind zahlreiche npm-Pakete, die dem weit verbreiteten Datenvisualisierungs-Ökosystem @antv zugeordnet werden. Die aktuelle Infektionswelle wird der Schadsoftware-Familie „Mini Shai-Hulud“ zugeschrieben. Nach Analysen des Anwendungssicherheits-Unternehmens Socket nutzen die Angreifer ein kompromittiertes Maintainer-Konto, um in rascher Folge mit Trojanern versehene Versionen legitimer Software-Bibliotheken im offiziellen npm-Registry zu veröffentlichen.
Kompromittierung des Maintainer-Kontos „atool“
Der Angriff konzentriert sich primär auf das npm-Veröffentlichungskonto mit dem Namen atool. Über diese Kennung verwalten Entwickler extrem populäre Werkzeuge, darunter das Paket echarts-for-react. Hierbei handelt es sich um einen weit verbreiteten React-Wrapper für Apache ECharts, der wöchentlich rund 1,1 Millionen Downloads verzeichnet. Die Infektion erstreckt sich über eine Vielzahl von Kernbibliotheken innerhalb des @antv-Namensraums. Zu den nachweislich manipulierten Paketen gehören @antv/g2, @antv/g6, @antv/x6, @antv/l7, @antv/s2, @antv/f2, @antv/g, @antv/g2plot, @antv/graphin und @antv/data-set. Darüber hinaus wurden auch verwandte Pakete außerhalb des spezifischen AntV-Namensraums infiziert, wie etwa timeago.js, size-sensor und canvas-nest.js.
„Der potenzielle Explosionsradius ist beträchtlich, da das betroffene Publishing-Konto mit weit verbreiteten Paketen in den Bereichen Datenvisualisierung, Grafik, Kartierung, Diagramme und React-Komponenten-Ökosystemen verbunden ist. Selbst wenn nur eine Untergruppe dieser Pakete böswillige Aktualisierungen erhalten hat, erzeugt die Popularität des Paket-Ökosystems eine bedeutende nachgelagerte Gefährdung für Organisationen, die automatisch neue Versionen von Abhängigkeiten beziehen.“
Sicherheitsunternehmen Socket
Automatisierte Veröffentlichung hunderter Schadversionen
Die Ermittlungen zeigen, dass die Angreifer mit hoher Geschwindigkeit und strikter Automatisierung agierten. Insgesamt wurden 639 schädliche Versionen über 323 einzigartige Pakete hinweg publiziert. Davon entfielen allein 558 Versionen auf 279 einzigartige @antv-Pakete. Die Sicherheitsfirma SafeDep dokumentierte, dass ein Großteil dieser Veröffentlichungen, konkret 631 Versionen über 314 Pakete hinweg, in einem rasanten Zeitfenster von nur 22 Minuten stattfand. Diese extrem komprimierte Veröffentlichungsphase unter Verwendung eines identischen, verschleierten Payloads schließt eine schrittweise oder gezielte manuelle Operation aus. Es handelte sich stattdessen um eine vollautomatisierte Datenexfiltration mittels eines gestohlenen Authentifizierungs-Tokens.
Technisch nutzt jede kompromittierte Version zwei Ausführungspfade. Zum einen wird ein sogenannter Preinstall-Hook in die Konfiguration eingebettet, der den Befehl bun run index.js ausführt. Zum einen injizierten die Angreifer bei 630 der Versionen einen Eintrag unter optionalDependencies. Dieser verweist auf manipulierte Commits innerhalb des legitimen GitHub-Repositorys antvis/G2, wodurch eine zweite Kopie des Schadcodes nachgeladen wird.
Umfangreiche Spionagefunktionen und Docker-Ausbruch
Der injizierte Payload des Mini-Shai-Hulud-Wurms ist auf den massenhaften Diebstahl sensibler Zugangsdaten ausgelegt. Die Schadsoftware durchsucht infizierte Systeme nach mehr als 20 verschiedenen Credential-Typen. Hierzu zählen Konfigurationsdaten für führende Cloud-Anbieter wie Amazon Web Services (AWS), Google Cloud und Microsoft Azure. Ebenfalls im Visier stehen Token für GitHub und npm, SSH-Schlüssel, Kubernetes-Konfigurationen, HashiCorp Vault-Schlüssel sowie Stripe-Zahlungsdaten und Datenbank-Verbindungszeichenfolgen (Connection Strings). Eine fortgeschrittene Funktion der Malware versucht zudem, über den Host-Socket aktiv aus Docker-Containern auszubrechen, um das zugrundeliegende Host-Betriebssystem zu kompromittieren.
Verschlüsselte GitHub-Fallbacks
Die gesammelten System- und Zugangsdaten werden von der Malware serialisiert, komprimiert, verschlüsselt und an die externe Domäne t.m-kosche.com:443 übertragen. Für den Fall, dass diese Verbindung blockiert wird, haben die Entwickler einen Fallback-Mechanismus integriert. Das Schadprogramm nutzt das exfiltrierte GitHub-Token des Opfers, um autonom ein neues, öffentliches Repository unter dem echten Benutzerkonto des Opfers zu erstellen. Die gestohlenen Daten werden anschließend als JSON-Datei in dieses Repository hochgeladen.
Diese Repositories sind an einem spezifischen kryptischen Erkennungsmerkmal zu identifizieren. Sie tragen die Beschreibung „niagA oG eW ereH :duluH-iahS“. Rückwärts gelesen ergibt dieser String den Satz „Shai-Hulud: Here We Go Again“ (Shai-Hulud: Hier gehen wir schon wieder los). IT-Sicherheitsanalysten dokumentierten zum Zeitpunkt der Berichterstattung bereits mehr als 2.200 öffentliche GitHub-Repositories, die diesen spezifischen Marker aufweisen.
Selbstvermehrung über npm-Tokens
Ein besonders gefährliches Element von Mini Shai-Hulud ist die integrierte Propagationslogik zur automatischen Weiterverbreitung. Die Malware missbraucht die auf dem infizierten Entwicklersystem gefundenen npm-Tokens. Zunächst validiert das Skript diese Token über die offizielle npm-Registry-API. Im Anschluss listet das Programm alle Pakete auf, für die der Token-Inhaber Schreib- und Veröffentlichungsrechte besitzt. Die Malware lädt die entsprechenden Paket-Archivdateien (Tarballs) herunter, injiziert den schädlichen Payload inklusive des Preinstall-Hooks, erhöht die Versionsnummer des Pakets und veröffentlicht die manipulierte Software vollautomatisch unter der Identität des kompromittierten Entwicklers erneut im globalen Registry.
TeamPCP-Kampagne macht Weg für Nachahmer frei
Die fortlaufende Kampagne wird der finanziell motivierten Bedrohungsgruppe TeamPCP zugeschrieben. Die Aktivitäten haben eine neue, aggressive Phase erreicht, nachdem die Gruppe den vollständigen Quellcode des Shai-Hulud-Frameworks im Rahmen eines kriminellen Wettbewerbs auf der Plattform Forums für andere Akteure freigegeben hat. Laut Analysen von Datadog senkt die Offenlegung dieses produktionsreifen Angriffswerkzeugs die technologische Barriere für Nachahmer drastisch. Dritte Akteure adaptieren nun das Playbook von TeamPCP, einschließlich komplexer Techniken wie dem Missbrauch von OIDC-Tokens und der Fälschung von Herkunftsnachweisen. Bereits in den vergangenen Tagen wurden kopierte Varianten des Wurms identifiziert, die mit eigener Command-and-Control-Infrastruktur operieren.
Unternehmen, die GitHub Actions, PyPI, den Docker Hub oder cloudbasierte CI/CD-Pipelines nutzen, sind laut Warnungen von Trend Micro direkt gefährdet. Die Infektion eines vertrauenswürdigen Pakets speist direkt den nächsten Kompromittierungszyklus, wodurch sich der Schadensradius kontinuierlich vergrößert.