top of page

North Korean Threat Actors Exploit VS Code Task Automation for StoatWaffle Malware Deployment

  • Mar 23
  • 3 min read

Key Findings


  • North Korean threat actors tracked as WaterPlum are distributing StoatWaffle malware through malicious VS Code projects using the "tasks.json" auto-run feature

  • The malware automatically executes when any file in a project folder is opened, with downloads occurring regardless of operating system

  • StoatWaffle includes a credential stealer targeting browsers and a remote access trojan for command execution

  • Attackers are targeting senior engineers, CTOs, and founders in crypto and Web3 sectors through fake recruitment interviews

  • Recent campaigns show evolving tactics moving away from Vercel to GitHub Gist for payload delivery

  • Related attacks have compromised Neutralinojs GitHub repositories and distributed malware through npm packages


Background


The Contagious Interview campaign, attributed to North Korean threat actors and tracked as WaterPlum, has been operating for years but significantly expanded their malware distribution methods in December 2025. The group is known for impersonating legitimate companies during recruitment processes to gain access to developer systems. Their targets aren't junior developers but rather high-value individuals like founders and CTOs in the cryptocurrency sector who have access to sensitive infrastructure and digital assets. The shift to VS Code projects represents a new vector in their evolving arsenal of attack methods.


StoatWaffle Malware Architecture


StoatWaffle is built on Node.js and operates as a modular platform. When a malicious VS Code project is opened, the tasks.json file triggers automatic execution that downloads and installs Node.js if it's not present on the system. The malware then launches a downloader that communicates with external servers to retrieve next-stage payloads, creating a chain of downloaders that execute received code as Node.js scripts. This modular design allows operators to deploy different functionality depending on campaign objectives.


Stealer and Remote Access Capabilities


The malware deploys two primary modules. The stealer component targets credentials and sensitive data stored in Chromium-based browsers and Firefox, with additional capability to steal iCloud Keychain databases on macOS systems. All stolen data gets uploaded to command-and-control servers. The RAT module enables operators to change directories, enumerate files, execute arbitrary code and commands, upload files, search for files matching keywords, and terminate the malware. Together, these modules provide comprehensive system compromise and data exfiltration capabilities.


Social Engineering and Initial Access


Attackers use convincingly staged recruitment processes that mirror legitimate technical interviews to trick developers into running malicious commands or packages. Victims are approached both directly and through LinkedIn, but targets are specifically chosen for their elevated access to company infrastructure and cryptocurrency assets. Recent examples show attempted targeting of company founders, with victims being asked to execute commands or download repositories hosted on GitHub, GitLab, or Bitbucket as part of the fake interview assessment.


Broader Campaign Operations


WaterPlum's activities extend beyond StoatWaffle. The PolinRider campaign injected malicious JavaScript into hundreds of public GitHub repositories, including four belonging to the Neutralinojs organization, to deploy a new variant of BeaverTail stealer. Attackers compromised a long-time contributor account with organization-level write access to force-push malicious code that retrieves encrypted payloads from blockchain transactions. Separately, malicious npm packages have been used to distribute PylangGhost malware, marking the first npm-based propagation of this family.


Evolving Tradecraft and Related Malware


The threat actors have demonstrated active refinement of their methods. Newer VS Code project variants have shifted from using Vercel-based domains to GitHub Gist-hosted scripts for payload delivery, suggesting learning from defensive detections. Related malware families deployed in these campaigns include OtterCookie, InvisibleFerret, and FlexibleFerret, which exist in multiple programming language variants including Go and Python implementations. The group continues developing and updating malware families regularly, indicating an active and well-resourced operation.


Sources


  • https://thehackernews.com/2026/03/north-korean-hackers-abuse-vs-code-auto.html

  • https://x.com/shah_sheikh/status/2036161567079698566

  • https://x.com/TheHackersNews/status/2036144058033381433

  • https://x.com/shah_sheikh/status/2036161863407505842/photo/1

Recent Posts

See All

Comments


  • Youtube

© 2025 by Explain IT Again. Powered and secured by Wix

bottom of page