Curated summary
How to detect and prevent Contagious Interview IDE attacks
Node.JsElectronThreat IntelligenceVisual Studio CodeMalware DetectionShell ScriptingNode PtyEndpoint Detection And Response
Contagious Interview attacks abuse VS Code’s automated tasks to execute malware when victims open a malicious repository and trust its workspace. GitLab developed low-level EDR detections around node-pty’s spawn-helper, allowing it to identify hidden background process execution while avoiding normal interactive developer activity. The article recommends combining runtime detection with IDE configuration hardening.
The Contagious Interview Attack Path
- North Korean threat actors use fake job interviews to persuade targets to download and review malicious code repositories.
- Repositories can include a
.vscode/tasks.jsonfile configured to run automatically when the folder opens. - After the victim grants workspace trust, the task executes without obvious interaction.
- Example payloads:
- Detect the operating system.
- Download a platform-specific second-stage payload.
- Pipe it directly into
bash,sh, orcmdusing patterns such ascurl | bash.
- Resulting malware may steal passwords and cryptocurrency, deploy infostealers, and establish persistence for abuse of corporate access.
Low-Level Detection with spawn-helper
- GitLab looked below the VS Code layer because similar attacks can affect VS Code forks and other Node- or Electron-based IDEs.
- VS Code uses the popular
node-ptylibrary to launch subprocesses. node-pty.spawn()invokes aspawn-helperbinary, which becomes a child process of the Node application.- This makes
spawn-helpera useful operating-system-level signal for background task execution.
Reducing False Positives
- GitLab used Purple Team exercises to reproduce the attack and reviewed EDR telemetry.
- Background VS Code tasks use
spawn-helper, while foreground interactive processes such as the integrated terminal use a Code Helper binary. - Detections can therefore focus on processes launched invisibly, without user interaction.
- GitLab further tuned alerts to identify suspicious commands such as background
curl | <shell>execution rather than flagging every automated task. - The resulting detection produced no false positives despite widespread VS Code usage internally.
Additional Prevention Measures
- Runtime EDR monitoring is only one layer of defense.
- Organizations can proactively harden their fleets by deploying global VS Code configuration that disables automatic task execution.
- Combining IDE restrictions with process telemetry and behavioral detection provides broader protection against malicious repository-based attacks.
Organizations should disable automatic task runs where practical and monitor low-level subprocess behavior, especially invisible spawn-helper executions that download or pipe remote content into a shell.
Related reading
Continue with another curated summary.