Forscher von Koi Security haben eine als PhantomRaven bezeichnete Malware-Kampagne entdeckt, die mehr als 86.000 Downloads von npm-Paketen kompromittiert und weltweit Zugangsdaten und Geheimnisse von Entwicklern abgegriffen hat.
Die Forscher erklärten dass der Angriff „… den Schadcode in Abhängigkeiten versteckt, die vor der Abhängigkeitsanalyse verborgen sind, auf die sich die meisten Sicherheitstools verlassen.“
KI und Automatisierung befeuern neue Risiken für die Lieferkette
Der Angriff verdeutlicht die zunehmenden Risiken für das Open-Source-Ökosystem, in dem automatisierte Tools und KI-gestützte Programmierung zunehmend zum Standard werden.
Entwickler verlassen sich auf das Scannen von Abhängigkeiten, um npm-Pakete vor ihrer Verwendung zu validieren. PhantomRaven umging diese Schutzmaßnahmen jedoch vollständig.
Durch die Ausnutzung obskurer npm-Funktionen und des Vertrauens von Entwicklern in KI-generierte Paketnamen konnten die Angreifer monatelang unentdeckt Schadcode verbreiten.
Diese Kampagne zeigt, dass herkömmliche Audits von Abhängigkeiten und statische Analysen Software-Lieferketten nicht vollständig schützen können.
Der Ansatz von PhantomRaven ermöglicht es Angreifern, zu kontrollieren, welcher Code während der Installation auf dem Rechner eines Opfers ausgeführt wird – selbst wenn das geprüfte Paket sauber erscheint.
Ein sauberes Paket mit einem schmutzigen Geheimnis
Die schädlichen Pakete wirkten harmlos – oft handelte es sich lediglich um „Hello, world!“-Skripte ohne sichtbare Abhängigkeiten.
Die eigentliche Payload verbarg sich in dem, was die Koi-Forscher als Remote Dynamic Dependencies (RDD) bezeichneten. Dabei handelt es sich um versteckte HTTP-basierte Verweise, die während der Installation Schadcode von Servern der Angreifer abriefen.
Wenn ein Entwickler npm install ausführte, rief der Paketmanager die unsichtbare Abhängigkeit von einer externen URL ab.
Da npm und die meisten Sicherheitsscanner HTTP-URLs nicht verfolgen, entgingen diese Abhängigkeiten der Erkennung.
Bei jeder Installation wurde eine neue Payload vom Server des Angreifers abgerufen, wodurch eine auf die IP-Adresse oder Umgebung des Installierenden zugeschnittene Codeauslieferung möglich war.
So konnten die Angreifer beispielsweise harmlosen Code an Sicherheitsforscher ausliefern, während sie Unternehmensnetzwerken Zugangsdaten stehlende Malware bereitstellten.
Von der Installation zum Datendiebstahl
Der Erfolg von PhantomRaven beruhte auf den integrierten Lifecycle-Skripten von npm.
Die schädliche Abhängigkeit enthielt einen Preinstall-Hook – „preinstall“: „node index.js“ –, der automatisch und ohne Zustimmung des Benutzers ausgeführt wurde. Dadurch konnten selbst tief verschachtelte Abhängigkeiten im Rahmen eines normalen Installationsvorgangs eine Ausführung auslösen.
Nach der Aktivierung griff die Malware systematisch Daten vom System des Entwicklers ab, darunter:
- E-Mail-Adressen aus .gitconfig, .npmrc und Umgebungsvariablen.
- CI/CD-Zugangsdaten, darunter GitHub-Actions-Token, GitLab-CI-Schlüssel, Jenkins, CircleCI und npm-Publishing-Token.
- System-Fingerprinting-Daten wie IP-Adressen, Hostnamen, Betriebssystemdetails und Benutzernamen.
Die exfiltrierten Daten wurden redundant über HTTP-GET-, HTTP-POST- und WebSocket-Verbindungen übertragen, um die Zustellung auch bei Netzwerkbeschränkungen sicherzustellen.
Der Aufstieg der Slopsquatting-Angriffe
Neben dem heimlichen Auslieferungsmechanismus führte PhantomRaven eine neuartige Social-Engineering-Taktik namens Slopsquatting ein – eine Abwandlung des herkömmlichen Typosquattings.
Statt bestehende Paketnamen nachzuahmen, registrierten die Angreifer plausibel klingende Namen, die KI-Assistenten wie GitHub Copilot oder ChatGPT möglicherweise halluzinieren würden.
Beispiele:
- eslint-comments statt des legitimen eslint-plugin-eslint-comments
- unused-imports statt eslint-plugin-unused-imports
- Transform-react-remove-prop-types statt babel-plugin-transform-react-remove-prop-types
Wenn die KI Entwicklern diese nicht existierenden Pakete vorschlug, installierten die Benutzer unwissentlich die schädlichen Varianten – ein Beleg dafür, wie künstliche Intelligenz Risiken für die Lieferkette unbeabsichtigt verstärken kann.
Sichern Sie Ihre Entwicklungspipeline ab
Der Schutz vor Bedrohungen der Software-Lieferkette wie PhantomRaven erfordert eine strengere Kontrolle von Abhängigkeiten, Build-Umgebungen und Entwicklerpraktiken. Die folgenden Maßnahmen zeigen praktische Schritte zur Risikominderung und zur Stärkung der Code-Integrität auf.
- Nicht verifizierte Abhängigkeiten einschränken: Externe URLs blockieren und Abhängigkeiten auf nicht autorisierte Links prüfen.
- Reproduzierbare Builds erzwingen: Versionen festschreiben und dynamisches Abrufen während der Installation verhindern.
- Build-Umgebungen isolieren: Installationen in einer Sandbox ausführen und den ausgehenden Netzwerkzugriff beschränken.
- Verhalten und Netzwerkaktivitäten: Anomale Installationen, Netzwerkaufrufe oder Skriptausführungen erkennen.
- Prinzip der geringsten Rechte anwenden: CI/CD-Token, Umgebungsvariablen und Entwicklerberechtigungen beschränken.
- Wachsamkeit der Entwickler fördern: Paketquellen überprüfen, nicht verwendete Abhängigkeiten entfernen und auf von KI vorgeschlagene Namen achten.
Durch die Absicherung von Abhängigkeiten und die Isolierung von Builds können Unternehmen kritische Lücken schließen und ihre allgemeine Cyberresilienz stärken.
Das neue Zeitalter der Bedrohungen für die Lieferkette
PhantomRaven verdeutlicht die Entwicklung von Bedrohungen für die Software-Lieferkette – von Typosquatting und Datendiebstahl bis hin zu dynamischer, adaptiver Malware-Auslieferung über von KI beeinflusste Vektoren.
Da generative KI zu einem alltäglichen Entwicklungswerkzeug wird, nutzen Angreifer zunehmend das Vertrauen in maschinell vorgeschlagene Inhalte aus.
PhantomRaven ist eine Warnung, dass statische Abwehrmaßnahmen nicht mehr ausreichen. Kontinuierliche Verhaltensüberwachung, die Isolierung von Abhängigkeiten und KI-bewusste Code-Review-Prozesse müssen zu standardmäßigen Sicherheitspraktiken werden.
Da Bedrohungen wie PhantomRaven immer ausgefeilter werden, ist die Stärkung der Sicherheit der Software-Lieferkette nicht länger optional – sie ist unerlässlich.





