Die eingeschleuste Schadsoftware ist stark verschleiert. Sie erstellt einen Fingerabdruck infizierter Systeme, sammelt Umgebungsvariablen und sensible lokale Dateien, komprimiert die Beute in Archive und schleust sie anschließend aus. Um effizienter zu arbeiten und möglichst wenig Spuren auf dem Host zu hinterlassen, überspringt der Infostealer Dateien größer als 4 MiB und durchsucht die Verzeichnisse .git und node_modules nicht.
Ungewöhnlich ist der Weg der Datenexfiltration: Statt des üblichen HTTP-basierten Command-and-Control-Verkehrs nutzt die Malware DNS-TXT-Anfragen. Als Bootstrap-Resolver dient den Angreifern eine gefälschte, an Azure angelehnte Domain (sh[.]azurestaticprovider[.]net:443); die Daten werden mit Anfrage-Präfixen wie xh, xd und xf an „bt[.]node[.]js“ übertragen.
Nach Angaben von Socket kann das Ausschleusen eines komprimierten Archivs von 500 KB rund 29.400 DNS-TXT-Anfragen erzeugen – genug, um den Datenverkehr in der normalen DNS-Aktivität untergehen zu lassen. Vor dem Versand legt die Malware die gesammelten Daten in temporären komprimierten tar.gz-Archiven ab, die nach der Exfiltration gelöscht werden, um forensische Spuren zu verwischen.
Die Schadsoftware richtet keine Persistenz ein und lädt keine weiteren Schadmodule nach. Die Operation scheint damit auf einen raschen Diebstahl von Zugangsdaten und deren Ausschleusung ausgerichtet zu sein.
Betroffene Entwickler sollten die kompromittierten Versionen umgehend entfernen, offengelegte Geheimnisse und Zugangsdaten austauschen sowie Lockfiles und npm-Caches prüfen.
