npm-Lieferkettenangriff auf KI-Framework Mastra Gekapertes npm-Konto schleust Schadcode in 140 Mastra-Pakete

Von Thomas Joos 3 min Lesedauer

Anbieter zum Thema

Sicherheitsforscher haben einen Lieferkettenangriff auf das KI-Framework Mastra dokumentiert. Ein gekapertes npm-Konto verteilte in kurzer Zeit mehr als 140 manipulierte Pakete. Diese luden über eine getarnte Ab­hän­gig­keit beim Installieren einen plattformübergreifenden Schädling nach, der Cloud-Zugänge, CI/CD-Tokens und SSH-Schlüssel abgriff. Die Mastra-Pakete selbst blieben dabei unverändert.

Über ein gekapertes npm-Konto gelangte Schadcode in 140 Mastra-Pakete. Dabei stahl der Schädling Cloud-Zugänge, obwohl der Paketcode unberührt blieb.(Bild:  Gemini / KI-generiert)
Über ein gekapertes npm-Konto gelangte Schadcode in 140 Mastra-Pakete. Dabei stahl der Schädling Cloud-Zugänge, obwohl der Paketcode unberührt blieb.
(Bild: Gemini / KI-generiert)

Das Bedrohungsforschungsteam von Socket hat eine Angriffskampagne gegen das KI-Framework Mastra dokumentiert. Am 17.06.2026 veröffentlichte ein einzelnes npm-Konto in einem kurzen Zeitfenster mehr als 140 manipulierte Versionen aus dem Namensraum @mastra. Der Code der Mastra-Pakete blieb dabei unverändert. Den Schaden richtet eine eingeschleuste Abhängigkeit an, ein als easy-day-js getarntes Paket im Stil der verbreiteten Bibliothek dayjs.

Postinstall-Hook startet die Schadroutine

Jedes betroffene Manifest zog easy-day-js als Abhängigkeit nach. Das Paket führt über einen postinstall-Hook automatisch Code aus, sobald "npm install" läuft. Ein Import durch den Entwickler ist nicht nötig. Der Angreifer hatte easy-day-js am Vortag in einer schadfreien Version hochgeladen und kurz vor der Massenveröffentlichung mit der Schadfunktion versehen. Da die Mastra-Pakete die Version mit einem Caret-Bereich einbanden, zog die Auflösung von npm automatisch die bösartige Fassung.

Plattformübergreifender Schädling protocal.cjs

Der postinstall-Hook startet einen Dropper, der das Implantat protocal.cjs nachlädt. Es richtet auf Windows, macOS und Linux dauerhafte Persistenz ein und meldet sich bei einer vom Angreifer kontrollierten Command-and-Control-Infrastruktur. Über diesen Kanal nimmt es weitere Aufträge und Nachladecode entgegen. Das Implantat durchsucht das System nach 166 Browser-Erweiterungen für Kryptowährungs-Wallets und liest den Verlauf von Chrome, Edge und Brave aus. Dateinamen und Ablagepfade orientieren sich an Node und NVM, um auf Entwicklerrechnern unauffällig zu bleiben.

Reichweite und betroffene Umgebungen

Zum betroffenen Bestand zählt @mastra/core mit mehr als 918.000 npm-Downloads pro Woche. Jede Workstation, jeder CI-Runner und jede Build-Umgebung, die eine der manipulierten Versionen installiert hat, gilt als potenziell kompromittiert. Socket erkannte die bösartige Abhängigkeit innerhalb von sechs Minuten nach der Veröffentlichung und blockierte betroffene Installationen für geschützte Nutzer automatisch. Ein identisches Loader-Sample tauchte bereits am 29.05.2026 in öffentlichen Sandboxes auf, rund 19 Tage vor der Mastra-Veröffentlichung, was auf wiederverwendetes Werkzeug hindeutet.

KI-Toolchain als wiederkehrendes Ziel

Der Angriff ist Teil der Mini-Shai-Hulud-Welle, mit der die Gruppe TeamPCP seit Herbst 2025 systematisch Softwarelieferketten angreift und auch immer wieder die KI-Toolchain attackiert. Im März 2026 schleuste TeamPCP zum Beispiel über eine kompromittierte CI/CD-Kette Schadcode in zwei PyPI-Versionen des LLM-Gateways LiteLLM ein und griff Zugangsdaten für AWS, GCP und Azure sowie SSH- und Kubernetes-Schlüssel ab. Im Mai 2026 dokumentierte SafeDep mehrere npm-Pakete, die den SessionStart-Hook von Claude Code kaperten und eine ELF-Binärdatei bei jedem Sitzungsstart erneut ausführten. Beide Vorfälle folgen einem Muster. Umgebungen der KI-Entwicklung bündeln API-Schlüssel, Cloud-Berechtigungen und CI/CD-Token an einem Ort und versprechen Angreifern damit eine hohe Ausbeute.

Schutzmaßnahmen

Betroffene Umgebungen sollten die eingespielten Versionen entfernen, das Verzeichnis node_modules löschen und eine geprüfte frühere Version neu installieren. Da das Implantat protocal.cjs systemseitige Persistenz einrichtet, die eine npm-Deinstallation überlebt, müssen betroffene Systeme zusätzlich auf das Implantat geprüft und bereinigt werden. Auf Windows liegt es unter C:\ProgramData\NodePackages\ und trägt sich über den Run-Schlüssel NvmProtocal ein, auf macOS unter ~/Library/NodePackages\ als LaunchAgent com.nvm.protocal.plist, auf Linux als systemd-Unit.

Anschließend gehören alle erreichbaren Geheimnisse erneuert, darunter npm-Token, Cloud-Schlüssel, CI/CD-Secrets und SSH-Zugänge. Der Befehl "npm ls easy-day-js" zeigt in jedem Projekt, ob die manipulierte Abhängigkeit vorhanden ist. Eine Installationszeit-Prüfung der Abhängigkeiten fängt diese Klasse von Angriffen ab, da eine reine Quellcode-Durchsicht der @mastra-Pakete nichts zutage fördert.

Fazit

Die Mastra-Kampagne zeigt, dass eine einzige eingeschleuste Abhängigkeit tausende Builds erreicht, ohne den Code des eigentlichen Pakets zu berühren. Innerhalb weniger Monate trafen Lieferkettenangriffe mit Mastra, LiteLLM und Claude Code zentrale Bausteine der KI-Entwicklung. npm hat die manipulierten Versionen entfernt, das eingesetzte Werkzeug war zuvor bereits in anderem Kontext aufgetaucht.

(ID:50877080)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung