Contagious Interview ist die Bezeichnung für eine Nordkorea-nahe Kampagne, die Stellenanbahnungen als Köder nutzt. Die Angreifer geben sich auf Plattformen wie LinkedIn, GitHub oder Freelancer-Websites als Recruiter oder Kollaborateure aus. Dazu setzen sie laut Quelltext teils auf aufwendig aufgebaute Scheinfirmen und KI-generierte Mitarbeiterprofile, um Vertrauen aufzubauen und am Ende Schadcode ausführen zu lassen. Die Aktivität ist demnach seit mindestens 2023 bekannt.

PolinRider wurde erstmals im März 2026 vom Team OpenSourceMalware markiert. Die Forscher beschrieben damals, dass die Angreifer verschleierte JavaScript-Nutzlasten in Hunderte öffentliche GitHub-Repositories verschiedener Eigentümer einschleusten, um eine neue Variante von BeaverTail auszuliefern. BeaverTail ist eine bekannte JavaScript-Schadsoftware, die mit Contagious Interview in Verbindung steht.

Nach Angaben von OpenSourceMalware waren bis zum 11. April 2026 insgesamt 1.951 öffentliche GitHub-Repositories von 1.047 verschiedenen Eigentümern kompromittiert. Die Aktivität überschneidet sich zudem mit einem weiteren Cluster namens TaskJacker. Dabei werden bösartige VS-Code-Task-Dateien in bestehende Repositories von GitHub-Nutzern eingeschleust. Diese Aufgaben enthalten die Option „Ausführen beim Öffnen des Ordners“, wodurch beim Öffnen eines Ordners als Arbeitsbereich in Entwicklungsumgebungen wie VS Code oder Cursor beliebiger Code gestartet werden kann.

OpenSourceMalware betonte, die Angreifer verwendeten dabei keine gestohlenen GitHub-Zugangsdaten. Stattdessen seien die Opfer über eine bösartige VS-Code-Erweiterung oder ein npm-Paket kompromittiert worden. Nach Einschätzung der Forscher übernehmen die Täter anschließend Maintainer-Konten, vermutlich über die Übernahme abgelaufener Domains oder einen anderen Weg der Kontowiederherstellung.

Ist die Schadsoftware einmal ausgeführt, durchsucht sie den infizierten Rechner nach Dateien wie „postcss.config.mjs“, „tailwind.config.js“, „eslint.config.mjs“, „next.config.mjs“, „babel.config.js“ und „app.js“. Werden diese gefunden, hängt sie dort bösartigen JavaScript-Code an. Zusätzlich setzt sie ein Windows-Batch-Skript ein, um den letzten Commit unauffällig zu verändern und die Änderungen so aussehen zu lassen, als stammten sie vom ursprünglichen Autor. Laut Quelltext wird vermutet, dass ähnliche Werkzeuge auch unter Linux und macOS zur Umschreibung der Git-Historie genutzt werden.

Socket beschreibt das Kernmuster der Kampagne als konstant: Die Angreifer platzieren verschleierte JavaScript-Loader in legitimen Repositories, verstecken den Code mit Leerraum-Auffüllung oder als vorgetäuschte „.woff2“-Schriftdateien und lösen die Ausführung über Entwicklerwerkzeuge wie VS-Code-Task-Dateien aus. In der jüngsten Welle fungiert die Nutzlast als JavaScript-Malware-Loader, der über Blockchain-Infrastruktur von TRON, Aptos und BNB Smart Chain eine verschlüsselte zweite Stufe nachlädt. Diese entpackt sich zu DEV#POPPER RAT und OmniStealer. Diese Angriffskette hatte eSentire bereits im März 2026 beschrieben.

Laut Zanki nutzen die Täter das Umschreiben der Git-Historie, einschließlich erzwungener Pushes und rückdatierter Commits, damit bösartige Änderungen älter und weniger verdächtig erscheinen. Dadurch seien die GitHub-Startseite eines Projekts und die sichtbare Commit-Historie keine verlässlichen Kompromittierungsindikatoren. Prüfen sollten Verteidiger stattdessen Aktivitätsprotokolle von Repositories, Metadaten von Paketveröffentlichungen, VS-Code-Task-Konfigurationen und verdächtige Änderungen an Konfigurationsdateien.

Parallel dazu meldete JFrog weitere npm-Pakete mit Bezug zu Contagious Interview. Einige gaben sich als Rollup-Polyfill-Werkzeuge aus und dienten dem Fernzugriff sowie dem Diebstahl von Daten. In dieser Woche wurde zudem ein weiteres Bündel aus npm- und Go-Paketen identifiziert, das automatisch ausgeführte VS-Code-Aufgaben enthielt, um JavaScript-Nutzlasten zu starten, die als gefälschte Schriftdateien getarnt waren. Das deutet laut Quelltext auf taktische Überschneidungen zwischen Fake Font, TaskJacker und PolinRider hin.

Wer betroffene Pakete installiert hat, sollte die Umgebung laut Quelltext als kompromittiert betrachten, offengelegte Geheimnisse von einem sauberen System aus austauschen, betroffene Versionen entfernen, aus einem bekannten sauberen Lockfile neu bauen und Entwickler-Arbeitsplätze sowie Repositories auf versteckte Ausführungspfade oder verdächtige Commits prüfen, die „.vscode/tasks.json“, „config.js“, „vite.config.js“ und „eslint.config.js“ verändert haben.