Aan Noord-Korea gelinkte hackers richten zich op ontwikkelaars via kwaadaardige VS-codeprojecten

De Noord-Koreaanse dreigingsactoren worden geassocieerd met de langlopende Besmettelijk interview Er is waargenomen dat in een campagne van Microsoft kwaadaardige Microsoft Visual Studio Code-projecten (VS Code) werden gebruikt als lokmiddel om een ​​achterdeur te creëren voor gecompromitteerde eindpunten.

De nieuwste bevinding demonstreert de voortdurende evolutie van de nieuwe tactiek die voor het eerst werd ontdekt in december 2025, aldus Jamf Threat Labs.

“Deze activiteit omvatte de inzet van een achterdeurimplantaat dat mogelijkheden biedt voor het op afstand uitvoeren van code op het slachtoffersysteem”, zei beveiligingsonderzoeker Thijs Xhaflaire in een rapport gedeeld met The Hacker News.

De aanval werd vorige maand voor het eerst onthuld door OpenSourceMalware en bestaat in essentie uit het instrueren van potentiële doelwitten om een ​​repository op GitHub, GitLab of Bitbucket te klonen, en het project in VS Code te lanceren als onderdeel van een veronderstelde functiebeoordeling.

Het uiteindelijke doel van deze inspanningen is het misbruiken van VS Code-taakconfiguratiebestanden om kwaadaardige payloads uit te voeren die op Vercel-domeinen worden geënsceneerd, afhankelijk van het besturingssysteem op de geïnfecteerde host. De taak is zo geconfigureerd dat deze elke keer wordt uitgevoerd wanneer dat bestand of een ander bestand in de projectmap wordt geopend in VS Code door de optie “runOn: folderOpen” in te stellen. Dit leidt uiteindelijk tot de inzet van BeaverTail en InvisibleFerret.

Latere herhalingen van de campagne bleken geavanceerde meertraps-droppers in taakconfiguratiebestanden te verbergen door de malware te vermommen als onschadelijke woordenboeken voor spellingscontrole als een terugvalmechanisme voor het geval de taak er niet in slaagt de payload uit het Vercel-domein op te halen.

Net als voorheen wordt het versluierde JavaScript dat in deze bestanden is ingebed, uitgevoerd zodra het slachtoffer het project opent in de geïntegreerde ontwikkelomgeving (IDE). Het brengt communicatie tot stand met een externe server (“ip-regions-check.vercel(.)app”) en voert alle JavaScript-code uit die ervan wordt ontvangen. De laatste fase die als onderdeel van de aanval wordt geleverd, is opnieuw een zwaar versluierd JavaScript.

Jamf zei dat het nog een verandering in deze campagne ontdekte, waarbij de bedreigingsactoren een voorheen ongedocumenteerde infectiemethode gebruikten om een ​​achterdeur te creëren die mogelijkheden biedt om code op afstand uit te voeren op de gecompromitteerde host. Het startpunt van de aanvalsketen is niet anders, omdat deze wordt geactiveerd wanneer het slachtoffer een kwaadaardige Git-repository kloont en opent met behulp van VS Code.

“Wanneer het project wordt geopend, vraagt ​​Visual Studio Code de gebruiker om de auteur van de repository te vertrouwen”, legt Xhaflaire uit. “Als dat vertrouwen wordt verleend, verwerkt de applicatie automatisch het taken.json-configuratiebestand van de repository, wat ertoe kan leiden dat ingebedde willekeurige opdrachten op het systeem worden uitgevoerd.”

“Op macOS-systemen resulteert dit in de uitvoering van een shell-opdracht op de achtergrond die nohup bash -c gebruikt in combinatie met curl -s om een ​​JavaScript-payload op afstand op te halen en deze rechtstreeks naar de Node.js-runtime te sturen. Hierdoor kan de uitvoering onafhankelijk doorgaan als het Visual Studio Code-proces wordt beëindigd, terwijl alle opdrachtuitvoer wordt onderdrukt.”

De JavaScript-payload, gehost op Vercel, bevat de belangrijkste achterdeurlogica om een ​​persistente uitvoeringslus tot stand te brengen die basishostinformatie verzamelt en communiceert met een externe server om de uitvoering van code op afstand, systeemvingerafdrukken en continue communicatie te vergemakkelijken.

In één geval zei het apparaatbeheerbedrijf van Apple dat het zag dat er ongeveer acht minuten na de eerste infectie meer JavaScript-instructies werden uitgevoerd. Het nieuw gedownloade JavaScript is ontworpen om elke vijf seconden een signaal naar de server te sturen, extra JavaScript uit te voeren en sporen van zijn activiteit te wissen zodra het een signaal van de operator ontvangt. Er wordt vermoed dat het script mogelijk is gegenereerd met behulp van een hulpmiddel voor kunstmatige intelligentie (AI), vanwege de aanwezigheid van inline commentaar en frasering in de broncode.

Het is bekend dat bedreigingsactoren met banden met de Democratische Volksrepubliek Korea (DPRK) specifiek achter software-ingenieurs aangaan, met name degenen die werkzaam zijn in de cryptocurrency-, blockchain- en fintech-sectoren, omdat zij vaak geprivilegieerde toegang hebben tot financiële activa, digitale portemonnees en technische infrastructuur.

Door hun accounts en systemen in gevaar te brengen, kunnen de aanvallers ongeoorloofde toegang krijgen tot de broncode, intellectueel eigendom, interne systemen en digitale activa overhevelen. Deze consistente veranderingen in hun tactieken worden gezien als een poging om meer succes te behalen in hun cyberspionage en financiële doelstellingen ter ondersteuning van het zwaar gesanctioneerde regime.

De ontwikkeling komt op het moment dat Red Asgard zijn onderzoek heeft gedetailleerd naar een kwaadaardige repository waarvan is vastgesteld dat deze een VS Code-taakconfiguratie gebruikt om versluierd JavaScript op te halen dat is ontworpen om een ​​volledig uitgeruste achterdeur met de naam Tsunami (ook bekend als TsunamiKit) samen met een XMRig cryptocurrency-mijnwerker te laten vallen.

Een andere analyse van Security Alliance van vorige week heeft ook het misbruik van VS Code-taken door de campagne blootgelegd bij een aanval waarbij een niet-gespecificeerd slachtoffer werd benaderd op LinkedIn, waarbij de bedreigingsactoren beweerden de Chief Technology Officer te zijn van een project genaamd Meta2140 en een Notion(.)so-link deelden, die een technische beoordeling bevat en een URL naar een Bitbucket-repository die de kwaadaardige code host.

Interessant is dat de aanvalsketen is ontworpen om terug te vallen op twee andere methoden: het installeren van een kwaadaardige npm-afhankelijkheid genaamd “grayavatar” of het uitvoeren van JavaScript-code die verantwoordelijk is voor het ophalen van een geavanceerde Node.js-controller, die op zijn beurt vijf verschillende modules uitvoert om toetsaanslagen te loggen, schermafbeeldingen te maken, de thuismap van het systeem te scannen op gevoelige bestanden, portemonnee-adressen te vervangen die naar het klembord zijn gekopieerd, inloggegevens van webbrowsers en een permanente verbinding met een externe server tot stand te brengen.

De malware gaat vervolgens verder met het opzetten van een parallelle Python-omgeving met behulp van een stager-script dat gegevensverzameling, cryptocurrency-mining met behulp van XMRig, keylogging en de inzet van AnyDesk voor externe toegang mogelijk maakt. Het is vermeldenswaard dat de lagen Node.js en Python respectievelijk BeaverTail en InvisibleFerret worden genoemd.

Deze bevindingen geven aan dat de door de staat gesponsorde actoren experimenteren met meerdere methoden om de kans op succes van hun aanvallen te vergroten.

“Deze activiteit benadrukt de voortdurende evolutie van aan de DVK gelinkte bedreigingsactoren, die hun tooling en leveringsmechanismen consequent aanpassen om te integreren met legitieme ontwikkelaarsworkflows”, aldus Jamf. “Het misbruik van Visual Studio Code-taakconfiguratiebestanden en de uitvoering van Node.js laat zien hoe deze technieken zich blijven ontwikkelen naast veelgebruikte ontwikkeltools.”

Thijs Van der Does