Neue npm-Würmer aufgetaucht: IronWorm und Miasma-Variante zielen auf Entwicklergeheimnisse und KI-Tools
Das **npm**-Ökosystem wird von hochentwickelten Angriffen auf die Software-Lieferkette heimgesucht. Forscher haben zwei unterschiedliche Kampagnen aufgedeckt: einen auf **Rust** basierenden Information Stealer namens **IronWorm** und eine neue, hochgradig evasive Variante des **Miasma**-Wurms. Beide Bedrohungen zielen darauf ab, Entwickleranmeldeinformationen zu kompromittieren, bösartigen Code einzuschleusen und sich selbstständig in Entwicklungsumgebungen und Repositories zu verbreiten.
Mehrere Angriffe auf die Software-Lieferkette haben kürzlich das **npm**-Ökosystem getroffen, wobei Bedrohungsakteure sowohl bösartige als auch kompromittierte Versionen von über 50 legitimen Paketen eingesetzt haben. Diese Kampagnen zielen darauf ab, einen auf **Rust** basierenden Information Stealer und einen sich selbst verbreitenden Wurm zu verteilen, was erhebliche Risiken für IT-Sicherheitsexperten und datenschutzbewusste Benutzer birgt.

## Der Aufstieg von IronWorm
Das Sicherheitsunternehmen **JFrog** hat den auf **Rust** basierenden Information Stealer mit dem Codenamen **IronWorm** detailliert beschrieben. Diese hochentwickelte Malware wurde entwickelt, um alle Geheimnisse zu extrahieren, die sie auf dem Rechner eines Entwicklers finden kann. Sie verwendet einen **eBPF**-Kernel-Rootkit zur Tarnung und kommuniziert mit ihren Betreibern über **Tor**.
**IronWorm** nutzt gestohlene Anmeldeinformationen als Verbreitungsmechanismus und zieht Parallelen zum berüchtigten **Shai-Hulud**-Wurm. Durch die Veröffentlichung im **npm**-Registry über trojanisierte Pakete erreicht er einen sich selbst replizierenden Angriffsvektor.
Bösartige Aktivitäten wurden auf ein kompromittiertes **npm**-Konto namens "asteroiddao" zurückgeführt, das Paketversionen veröffentlichte, die den **Rust** ELF-Binärcode enthielten, der über einen `preinstall`-Hook ausgeführt wurde. Die Malware zielt auf 86 Umgebungsvariablen und verschiedene Dateien ab, die Anmeldeinformationen für Dienste wie **OpenAI Codex**, **Anthropic**, **Claude**, **Google Gemini**, **Cursor**, **Amazon Web Services (AWS)**, **Docker**, **Kubernetes**, **npm**, Vault-Konfigurationen und **Exodus**-Kryptowährungs-Wallet-Dateien enthalten können.
Ein ungewöhnliches Detail ist die Logik des Stealers, die eigene Kryptowährungs-Wallet des Bedrohungsakteurs zu überspringen, die derzeit keine aufgezeichneten Transaktionen aufweist.
**JFrog** beschreibt **IronWorm** als "eine Waffe für die Lieferkette, die entwickelt wurde, um Geheimnisse zu finden, Projekte zu modifizieren und bösartigen Code einzuschleusen, um sich selbstständig über **GitHub** zu verbreiten." Bösartige Commits, die sich über neun **GitHub**-Organisationen erstreckten, wurden unter dem Autorennamen "claude" ([email protected]) eingefügt, in einem offensichtlichen Versuch, den KI-Chatbot von **Anthropic** nachzuahmen.
Weitere Analysen ergaben, dass das kompromittierte **npm**-Konto `asteroiddao` der **GitHub**-Organisation `asteroid-dao` entspricht, mit `ocrybit` als Mitglied. Die Malware stahl die Anmeldeinformationen von `ocrybit` und nutzte sie, um Commits über zugängliche Repositories zu pushen und Malware in andere Pakete für nachgelagerte Infektionen einzuschleusen.
Diese **payload** ist auch in der Lage, bestehende **GitHub Actions**-Workflows durch einen zu ersetzen, der Geheimnisse ernten, sie in eine harmlos aussehende Datei schreiben und als Build-Artefakt hochladen kann, wodurch ein externer Command-and-Control (C2)-Server überflüssig wird. In **CI-Umgebungen** missbraucht sie den **Trusted Publishing flow** von **npm**, um kurzlebige Token zu erhalten und kompromittierte Versionen im Registry zu veröffentlichen. Die Malware enthält auch eine **eBPF**-**payload**, die als Rootkit auf Kernel-Ebene fungiert, um Prozesse zu verbergen, obwohl dies auf Systemen mit aktivierter Kernel-Sperre fehlschlägt.
## Miasma-Wurm taucht wieder auf
Gleichzeitig haben **Endor Labs** und **StepSecurity** eine separate Angriffskampagne auf die Lieferkette offengelegt. Diese Kampagne kompromittierte 57 **npm**-Pakete in über 286 bösartigen Versionen, um eine neue Variante des **Miasma**-Wurms zu verteilen. Dieser Wurm infizierte zuvor 32 Pakete in über 90 Versionen unter dem **npm**-Namespace `@redhat-cloud-services` innerhalb von 72 Sekunden.
Einige der betroffenen Pakete sind:
* `ai-sdk-ollama`
* `autotel`
* `awaitly`
* `effect-analyzer`
* `eslint-plugin-awaitly`
* `executable-stories-cypress`
* `http-uploader-dev`
* `mountly`
* `node-env-resolver`
* `node-env-resolver-aws`

Gestohlene Daten aus dieser Kampagne wurden an ein nun nicht mehr zugängliches **GitHub**-Konto, `liuende501`, exfiltriert, das 236 Repositories bereitstellte. Die Quelle der Kontolöschung (GitHub oder der Bedrohungsakteur) bleibt unbekannt.
**StepSecurity**-Forscher Sai Likhith hob eine neuartige Technik namens "**Phantom Gyp**" hervor. Anstatt sich auf üblicherweise überwachte `preinstall`- oder `postinstall`-Lifecycle-Skripte zu verlassen, missbraucht der Angreifer eine 157 Byte große `binding.gyp`-Datei, um während `npm install` Code auszuführen und so viele Sicherheitsprüfungen zu umgehen.
Ähnlich wie bei früheren **Miasma**-Vorfällen lädt diese Angriffskette die **Bun JavaScript runtime** herunter und installiert sie, um einen umfassenden Anmeldeinformations-Harvester zu laden. Dieser Harvester ist darauf zugeschnitten, Geheimnisse aus **AWS**, **Google Cloud**, **Microsoft Azure**, **HashiCorp Vault**, **Docker**, **Kubernetes**, **GitHub Actions**, **npm**, **RubyGems**, **PyPI**, **SSH**, Passwortmanagern und KI-Assistenten zu extrahieren.
"Die neuartigste und besorgniserregendste Fähigkeit dieser Variante ist ihre gezielte Ausrichtung auf KI-Coding-Assistenten-Konfigurationen", bemerkte **StepSecurity**. Die Malware injiziert persistente Backdoor-Dateien in Projekt-Repositories, die jedes Mal ausgeführt werden, wenn ein Entwickler das Projekt in einer KI-gestützten IDE öffnet.
Entwicklern, die eine betroffene Version installiert haben, wird dringend empfohlen, Anmeldeinformationen zu rotieren, Installationsskripte und native Rebuilds standardmäßig zu deaktivieren und sicherzustellen, dass Pakete mit Integritäts-Hashes angepinnt sind.
**Red Hat** gab bekannt, dass die Ursache des früheren **Miasma**-Lieferkettenvorfalls wahrscheinlich ein kompromittiertes **GitHub**-Konto war, das verwendet wurde, um unbefugte Commits in Repositories innerhalb der **RedHatInsights** **GitHub**-Organisation zu pushen.
Die Analyse von **Microsoft** zur Kampagne stellte fest: "Die **payload** arbeitete unter Linux, macOS und Windows, indem sie dynamisch die richtige **Bun**-Runtime für jede Plattform herunterlud, obwohl Linux CI/CD-Runner das primäre Ziel zu sein schienen." Auf Entwicklersystemen stahl die Malware **SSH**-Schlüssel, Befehlszeilenschnittstellen (CLI)-Anmeldeinformationen, Browser- und Wallet-Daten. In CI/CD-Umgebungen extrahierte sie Geheimnisse aus dem Speicher von **GitHub Actions**-Runnern, eskalierte Berechtigungen mithilfe von passwortlosem `sudo` und veröffentlichte kompromittierte Pakete mit gefälschten **Supply-chain Levels for Software Artifacts (SLSA) provenance** neu, um die nachgelagerte Verbreitung fortzusetzen.
## Sich entwickelnde Angriffskette und Persistenz
Die **Miasma**-**payload** wird als Derivat des **Shai-Hulud**-Wurms angesehen, der zuvor von **TeamPCP** in anderen Kampagnen verwendet wurde, mit weitgehend kosmetischen Änderungen. Die Zuordnung der neuesten Angriffe bleibt unklar, insbesondere da **TeamPCP** den **Shai-Hulud**-Code öffentlich veröffentlicht hat.

**OX Security** hat zusätzliche Stufen in der **Miasma**-Angriffskette aufgedeckt, einschließlich Suchen nach **GitHub**-Commits, die den String "firedalazer" enthalten (als Ersatz für den zuvor markierten "**FIRESCALE**" Dead Drop), um eine weitere **payload** abzurufen – eine JavaScript-Datei (`index.js`), die eine alternative Version des **Shai-Hulud**-Wurms enthält und effektiv eine permanente Infektionsschleife erzeugt. In diesem Szenario werden gestohlene Daten in öffentliche **GitHub**-Repositories exfiltriert.
Diese fortlaufenden Kampagnen unterstreichen die kritische Notwendigkeit robuster Sicherheitsmaßnahmen für die Lieferkette, kontinuierlicher Überwachung und Wachsamkeit der Entwickler, um sich vor immer ausgefeilterer Malware zu schützen.