JFrog führt die IronWorm-Aktivität auf das kompromittierte npm-Konto „asteroiddao“ zurück. Über dieses Konto wurden Paketversionen veröffentlicht, die eine Rust-ELF-Binärdatei enthalten und über einen Preinstall-Hook ausgeführt werden. Der Stealer zielt auf 86 Umgebungsvariablen sowie auf Dateien, die Zugangsdaten zu OpenAI Codex, Anthropic, Claude, Google Gemini, Cursor, Amazon Web Services, Docker, Kubernetes und npm enthalten könnten. Hinzu kommen Vault-Konfigurationen und Dateien der Kryptowallet Exodus.

Nach Darstellung von JFrog ist IronWorm „eine Supply-Chain-Waffe, die darauf ausgelegt ist, Geheimnisse zu finden, Projekte zu verändern und bösartigen Code einzuschleusen, um sich selbst über GitHub weiterzuverbreiten“. Die Malware veröffentliche sich über trojanisierte npm-Pakete selbst in der Registry und erreiche so einen selbstreplizierenden Angriff. Auffällig sei außerdem, dass die Komponente zum Diebstahl von Wallet-Daten die eigene Wallet der Angreifer ausspart. Laut JFrog ist diese Wallet derzeit leer, und es wurden keine Transaktionen verzeichnet.

Die bösartigen Commits erstreckten sich über neun GitHub-Organisationen und wurden unter dem Autorennamen „claude“ mit der Adresse „claude@users.noreply.github.com“ eingebracht, offenbar um Anthropics KI-Chatbot nachzuahmen. JFrog stellt zudem eine Verbindung zwischen dem npm-Herausgeber „asteroiddao“, der GitHub-Organisation asteroid-dao und dem Mitglied „ocrybit“ her, das auch mit Arweave-bezogenen Organisationen verbunden sei. Nach Angaben des Unternehmens stahl die Malware die Zugangsdaten von ocrybit und nutzte sie, um Commits in erreichbare Repositories zu pushen, dort weitere Pakete zu kompromittieren und so die nächste Infektion vorzubereiten.

Zusätzlich kann IronWorm bestehende GitHub-Actions-Workflows gegen Varianten austauschen, die Geheimnisse absaugen, in eine harmlos wirkende Datei schreiben und anschließend als Build-Artefakt hochladen. Dadurch entfällt ein externer Command-and-Control-Server. In CI-Umgebungen missbraucht die Schadsoftware außerdem npm Trusted Publishing, um kurzlebige Tokens zu erhalten und damit manipulierte Paketversionen in die Registry zu pushen. Das enthaltene eBPF-Paket dient als Rootkit auf Kernel-Ebene, um Prozesse zu verbergen und Analysen zu behindern. Auf Systemen mit aktiviertem Kernel Lockdown schlagen diese Tarnmechanismen laut JFrog jedoch fehl.

Parallel beleuchten Endor Labs und StepSecurity eine getrennte Kampagne rund um Miasma. Dabei wurden 57 npm-Pakete in mehr als 286 bösartigen Versionen kompromittiert. Zuvor hatte der Wurm laut den Berichten in diesem Zeitraum bereits 32 Pakete in mehr als 90 Versionen im npm-Namespace @redhat-cloud-services innerhalb von 72 Sekunden infiziert. Exfiltrierte Daten gingen an das inzwischen nicht mehr erreichbare GitHub-Konto „liuende501“, auf dem bis zu 236 Repositories vorbereitet worden waren. Ob GitHub das Konto entfernt hat oder die Angreifer es selbst löschten, ist nach Angaben der Forscher unklar.

StepSecurity-Forscher Sai Likhith beschreibt als neue Technik „Phantom Gyp“: Anstelle der üblicherweise überwachten Preinstall- oder Postinstall-Skripte missbrauchten die Angreifer eine 157 Byte große Datei namens binding.gyp, um während npm install Code auszuführen und damit die meisten Sicherheitsprüfungen für Installationsskripte zu umgehen. Wie schon bei Miasma lädt die Angriffskette die JavaScript-Laufzeit Bun nach und verwendet sie, um umfangreich Zugangsdaten aus AWS, Google Cloud, Microsoft Azure, HashiCorp Vault, Docker, Kubernetes, GitHub Actions, npm, RubyGems, PyPI, SSH, Passwortmanagern und KI-Assistenten abzugreifen. Besonders neu und besorgniserregend sei laut StepSecurity das gezielte Ansprechen von Konfigurationen für KI-Coding-Assistenten, wobei persistente Hintertür-Dateien in Projekt-Repositories eingeschleust werden.

Red Hat erklärte in einem Update in dieser Woche, die Ursache des Miasma-Vorfalls sei wahrscheinlich ein kompromittiertes GitHub-Konto gewesen. Microsoft ergänzte, die Schadlast habe unter Linux, macOS und Windows gearbeitet, indem sie je Plattform die passende Bun-Laufzeit nachlud; primäres Ziel seien aber Linux-CI/CD-Runner gewesen. Auf Entwicklerrechnern stahl die Malware laut Microsoft SSH-Schlüssel, CLI-Zugangsdaten sowie Browser- und Wallet-Daten. In CI/CD-Umgebungen durchsuchte sie den Speicher von GitHub-Actions-Runnern nach Geheimnissen, erweiterte Rechte mit passwortlosem sudo und veröffentlichte manipulierte Pakete erneut mit gefälschter SLSA-Herkunft, um die Weiterverbreitung fortzusetzen.

OX Security fand weitere Stufen der Miasma-Angriffskette. Dazu zählen Suchen nach GitHub-Commits mit der Zeichenfolge „firedalazer“, um eine weitere Nutzlast nachzuladen: eine JavaScript-Datei namens index.js mit einer alternativen Version des Shai-Hulud-Wurms. Dadurch werde die Infektion faktisch zu einer Endlosschleife. Gestohlene Daten würden in diesem Fall in öffentliche GitHub-Repositories exfiltriert, die die Beschreibung „Miasma : The Spreading Blight“ oder „Miasma - The Spreading Blight“ tragen. Laut OX Security existieren derzeit 82 solcher Repositories auf den Benutzerkonten „0tabek16“ und „windy629“.