Alle 26 identifizierten Pakete bringen ein Installationsskript (“install.js”) mit, das während der Paketinstallation automatisch ausgeführt wird und seinerseits die schädliche Nutzlast in “vendor/scrypt-js/version.js” startet. Eine weitere Gemeinsamkeit: Jedes der Pakete deklariert das jeweils nachgeahmte legitime Paket ausdrücklich als Abhängigkeit – vermutlich, um glaubwürdiger zu wirken. Bei den Paketen handelt es sich um sogenanntes Typosquatting.

Die Nutzlast arbeitet als Steganografie-Decoder für Text. Sie kontaktiert eine Pastebin-URL und liest deren Inhalt aus, um an die tatsächlichen C2-Adressen bei Vercel zu gelangen. Obwohl die Pastes auf den ersten Blick einen harmlosen Aufsatz über Informatik enthalten, liest der Decoder gezielt Zeichen an bestimmten Positionen heraus und fügt sie zu einer Liste von C2-Domains zusammen.

Laut Socket entfernt der Decoder zunächst Unicode-Zeichen ohne Breite, liest dann eine fünfstellige Längenangabe am Textanfang, berechnet gleichmäßig verteilte Zeichenpositionen über den Text hinweg und extrahiert die dort stehenden Zeichen. Die so gewonnenen Zeichen werden anschließend an einem Trenner “|||” aufgeteilt, mit der Endmarkierung “===END===”, woraus sich ein Array von C2-Domainnamen ergibt.

Von der dekodierten Domain lädt die Schadsoftware plattformspezifische Nutzlasten für Windows, macOS und Linux nach – ein in der Contagious-Interview-Kampagne häufig beobachtetes Vorgehen. Eine dieser Domains, “ext-checkdin.vercel[.]app”, liefert ein Shell-Skript aus, das anschließend dieselbe URL kontaktiert, um eine RAT-Komponente nachzuladen.

Der Trojaner verbindet sich mit 103.106.67[.]63:1244 und wartet auf weitere Anweisungen, mit denen sich das aktuelle Verzeichnis wechseln und Shell-Befehle ausführen lassen. Darüber wird eine umfassende Sammlung zur Informationsbeschaffung ausgerollt: Sie umfasst neun Module für die Persistenz in Microsoft Visual Studio Code (VS Code), Keylogging und Diebstahl der Zwischenablage, das Abgreifen von Browser-Anmeldedaten, das Scannen nach Geheimnissen mit TruffleHog sowie die Exfiltration von Git-Repositorys und SSH-Schlüsseln.

Während frühere Wellen der Kampagne auf vergleichsweise einfache Schadskripte und auf Bitbucket gehostete Nutzlasten setzten, zeige diese jüngste Variante laut Socket einen gezielten Versuch, sowohl automatisierte Erkennung als auch die manuelle Prüfung zu umgehen. Der Einsatz von Steganografie auf Zeichenebene über Pastebin und das mehrstufige Routing über Vercel deute auf einen Angreifer hin, der seine Verschleierungstechniken verfeinert und seine Operationen widerstandsfähiger machen will.

Parallel dazu wurden die nordkoreanischen Akteure dabei beobachtet, weitere schädliche npm-Pakete zu veröffentlichen – etwa “express-core-validator” –, die eine JavaScript-Nutzlast der nächsten Stufe von Google Drive nachladen. Bislang sei nur ein einziges Paket mit dieser neuen Technik veröffentlicht worden, so Miyamoto. Famous Chollima werde wahrscheinlich weiterhin mehrere Techniken und Infrastrukturen nutzen, um nachgelagerte Nutzlasten auszuliefern; ein vollständiger Umbau ihres bisherigen Stager-Verhaltens auf npm sei jedoch unwahrscheinlich.