A coding test sent by a recruiter can look like ordinary work. That is exactly why it makes a useful delivery vehicle: the candidate is expected to clone a project, install dependencies, and make it run on a machine that may also hold work credentials.

TL;DR

  • A September 18 joint advisory attributes at least 30,000 compromised devices in more than 100 countries to North Korea-linked WaterPlum activity from December 2025 through July 2026.
  • The reported entry point is a fake interview or coding assignment that persuades a developer to run attacker-supplied files. The advisory also describes malicious npm packages and VS Code projects.
  • Treat unknown interview projects as untrusted code. If one ran on a work machine, investigate secrets and sessions as well as the endpoint.

The Interview Is the Execution Path

According to the joint advisory from Japanese, US, Australian, and German authorities, WaterPlum operators approach job seekers on recruiting and freelance platforms. They impersonate employers, then ask candidates to download files for a technical exercise or to fix a supposed video-conferencing problem. The authorities link the operation to malware families including BeaverTail, InvisibleFerret, and OtterCookie. They report stolen funds or credentials from more than 7,000 cryptocurrency wallets and transfers equivalent to $10.71 million to North Korea. Those figures describe the advisory’s investigation period; they are not a live count.

The point of compromise is the developer’s act of trusting and running the project. A repository’s appearance, a plausible interview schedule, and a familiar package manager do not establish that its code is safe. The advisory also describes a malicious VS Code project configuration that can execute code after a folder is trusted. That is a separate path from a package install script, so checking only package.json scripts leaves a gap.

What Defenders Should Check

For recruiting teams, set a rule that candidates never need to execute a supplied project on a corporate workstation. Give them an isolated, disposable environment for code exercises, without production credentials, personal wallets, browser sessions, or access to internal repositories. Check the exercise source and dependencies before distributing it to candidates; an employer can be impersonated too.

For a suspected exposure, reconstruct the timeline: recruiter contact, repository or archive URL, clone or download, dependency installation, VS Code trust prompt, executed commands, and outbound connections. Preserve the project and endpoint logs before cleanup. Review developer tokens, SSH keys, cloud credentials, browser sessions, and wallet material that were accessible on that host. Scope subsequent access from those identities; a clean antivirus result does not establish that credentials stayed private.

The advisory recommends opening unknown VS Code projects in Restricted Mode and inspecting .vscode/tasks.json before trusting a folder. It also recommends isolating a suspected infected machine and rebuilding it from a trusted state. Teams should verify their own endpoint and identity procedures before rotating secrets or restoring access.

The broader lesson is an access-boundary decision: a candidate should be able to complete an interview without lending an unknown repository the privileges of their daily workstation.


Sources