Böswilliger Code in 'node-ipc' NPM-Paket eingeschleust: Entwicklergeheimnisse gefährdet
Cybersicherheitsforscher haben bösartige Aktivitäten in neueren Versionen des beliebten **node-ipc** NPM-Pakets aufgedeckt. Die kompromittierten Versionen enthalten verschleierten Code, der darauf abzielt, Geheimnisse von Entwicklern und Cloud-Daten zu stehlen, was die zunehmende Raffinesse von Angriffen auf die Softwarelieferkette unterstreicht.

### Kompromittierte Versionen
**Socket** und **StepSecurity** haben drei bösartige Versionen des **node-ipc** Pakets identifiziert:
* [email protected]
* [email protected]
* [email protected]
Diese Versionen enthalten verschleiertes Stealer/Backdoor-Verhalten, das darauf ausgelegt ist, die Host-Umgebung zu identifizieren, lokale Dateien aufzulisten und zu lesen, gesammelte Daten zu komprimieren und zu zerlegen, die payload in eine kryptografische Hülle zu verpacken und den Abfluss über einen Netzwerkendpunkt zu versuchen, der über DNS/Adresslogik ausgewählt wird.
### Geheimnis-Exfiltration
Der bösartige Code versucht, eine breite Palette von Entwickler- und Cloud-Geheimnissen an einen externen Command-and-Control (C2) Server zu exfiltrieren. Dies umfasst über 90 Kategorien von Anmeldeinformationen, wie z. B. **Amazon Web Services**, **Google Cloud**, **Microsoft Azure**, SSH-Schlüssel, Kubernetes-Token, GitHub CLI-Konfigurationen, Claude AI- und Kiro IDE-Einstellungen, Terraform-Status, Datenbankpasswörter und Shell-Verläufe.
Die geernteten Daten werden in ein GZIP-Archiv komprimiert und an die Domain `sh.azurestaticprovider[.]net` übertragen.
### Kontokompromittierung
Die kompromittierten Versionen wurden von einem Konto namens "atiertant" veröffentlicht, das nicht mit dem ursprünglichen Autor des Pakets, "riaevangelist", verbunden ist. Das "atiertant"-Konto hatte keine vorherige Veröffentlichungshistorie im Zusammenhang mit dem **node-ipc** Paket, was auf eine mögliche Kompromittierung des Kontos oder eine bösartige Ergänzung als Maintainer hindeutet.
### Technische Analyse

Im Gegensatz zu typischen Angriffen, die auf NPM-Lifecycle-Hooks angewiesen sind, fügt dieser Angriff die bösartige payload als Immediately Invoked Function Expression (IIFE) am Ende von `node-ipc.cjs` an, wodurch die Malware bedingungslos bei `require('node-ipc')` ausgeführt wird.
Version 12.0.1 enthält eine SHA-256-Fingerabdruckprüfung, die sie mit einem hartkodierten Hash vergleicht. Das bedeutet, dass 12.0.1 nur auf Maschinen aktiv ist, bei denen der primäre Modulpfad mit dem Ziel-Hash übereinstimmt. Versionen 9.x fehlt dieses Gate und führen die vollständige payload auf jedem System aus, das sie lädt.
### Anti-Erkennungstechniken
Die Malware verwendet einen sekundären Exfiltrationskanal über DNS-TXT-Records, nachdem sie den DNS-Resolver des Systems mit **Google** Public DNS überschrieben hat, um lokale DNS-basierte Sicherheit zu umgehen. Sie löst `sh.azurestaticprovider.net` über 1.1.1.1 (primär) oder 8.8.8.8 (Fallback) auf, um die C2-IP zu erhalten, und zielt dann direkt auf den Resolver an der C2-IP für alle Exfiltrationsanfragen ab.
Dieses direkte DNS-Sink-to-C2 ist eine bemerkenswerte Anti-Erkennungstechnik, da Exfiltrationsanfragen niemals öffentliche DNS-Resolver berühren, wodurch die Aktivität für Organisationen, die sich ausschließlich auf DNS-Protokollierung über Unternehmensresolver verlassen, unsichtbar wird.
Zusätzlich versucht die Malware, die Ausführung unabhängig fortzusetzen, indem sie sich selbst in abgetrennte Hintergrund-Kindprozesse verzweigt, was die Exfiltration auch nach Beendigung der Elternanwendung fortsetzen lässt.
### Auswirkungen
"Diese Kampagne spiegelt wider, wie sich Angriffe auf die Softwarelieferkette über einfache bösartige Pakete hinaus zu infrastruktur-bewussten Anmeldedaten-Ernteoperationen entwickeln", sagte Avital Harel, Security Research Lead bei **Upwind**. "Angreifer zielen zunehmend auf die Identitäten und Automatisierungssysteme ab, die moderne Softwarebereitstellungspipelines antreiben, während sie Malware speziell entwickeln, um sich in normales Entwickler- und Anwendungsverhalten einzufügen."
### Empfehlungen
Benutzern wird empfohlen:
* Die kompromittierten **node-ipc** Versionen zu entfernen und eine bekannte saubere Version (9.2.1 und 12.0.0) neu zu installieren.
* Von einer Kompromittierung auszugehen und Anmeldeinformationen und Geheimnisse zu rotieren.
* NPM-Veröffentlichungsaktivitäten für alle Pakete zu überprüfen, die mit den rotierten Tokens zugänglich sind.
* Workflow-Ausführungsprotokolle auf verdächtige Aktivitäten zu überprüfen.
* Cloud-Protokolle zu überprüfen, um unbefugte Aktionen von IAM-Identitäten zu prüfen, deren Anmeldeinformationen während des kompromittierten Zeitfensters verfügbar waren.
* Ausgehenden Datenverkehr zur C2-Domain zu blockieren.