Skip to main content
Meet us at Black Hat USA 2026— Las Vegas, August 1–6Book a Meeting
Mallory
Back to malware
MalwareUsed by 1 actor

DEV#POPPER RAT

Share:
For your environment

Hunt this family in your stack

Mallory pivots from this family to the IOCs, detections, and named campaigns that touch your stack, and pages you when something new lands.

THREAT ACTORS

Groups observed using it

1 distinct threat actor attributed by public researchers. Open in Mallory to see the full evidence chain and overlapping campaigns.

View more details
Contagious Interview

In prior reports using the same blockchain-C2 infrastructure and overlapping wallet addresses, the loader ultimately delivered DPRK-linked malware including DEV#POPPER RAT, OmniStealer, and BeaverTail-family payloads.

via socket blogsocket.dev
MITRE ATT&CK

Techniques & procedures

19 distinct techniques documented for this family, organized by ATT&CK tactic.

Resource Development

1 technique
T1583Acquire InfrastructureEvidence1

Contagious Interview ... approaches prospective targets and tricks them into executing malicious code from a fake repository as part of an assessment. Some of these efforts have used weaponized Node.js projects hosted on GitHub.

Initial Access

3 techniques
T1189Drive-by CompromiseEvidence1

Contagious Interview ... tricks them into executing malicious code from a fake repository as part of an assessment.

T1195Supply Chain CompromiseEvidence2

A well-known North Korean threat actor has been caught hiding malware inside a legitimate PHP package available through Packagist... The package itself belongs to a legitimate maintainer named Drew Roberts, suggesting either a branch-level compromise or a poisoned workflow injection rather than a wholly fabricated fake package.

T1195.002Compromise Software Supply ChainEvidence1

MITRE ATT&CK # T1195.002 — Supply Chain Compromise: Compromise Software Supply Chain

Execution

7 techniques
T1059Command and Scripting InterpreterEvidence1

It can also quietly launch a second hidden process in the background using child_process.spawn() with the windowsHide flag set to true, keeping everything out of sight on Windows systems.

T1059.007JavaScriptEvidence2

MITRE ATT&CK # T1059.007 — Command and Scripting Interpreter: JavaScript

T1127Trusted Developer Utilities Proxy ExecutionEvidence1

The malware sits quietly inside what looks like a standard Tailwind CSS configuration file... Once that obfuscated code runs, it quietly transforms into a full JavaScript malware loader operating inside Node.js.

T1129Shared ModulesEvidence1

The tasks.json catches developers using VS Code (triggering on folder open), while the injected JavaScript executes for anyone who builds or runs the project regardless of their IDE.

T1204User ExecutionEvidence1

Contagious Interview ... tricks them into executing malicious code from a fake repository as part of an assessment.

T1204.002Malicious FileEvidence1

MITRE ATT&CK # T1204.002 — User Execution: Malicious File

T1574.008Path Interception by Search Order HijackingEvidence1

For persistence, it injects versioned code (markers: C250617A through C250620A) into developer applications (e.g., Antigravity, VS Code, Cursor, Discord, GitHub Desktop) and creates a hidden .node_modules folder for Node.js module search order hijacking.

Persistence

1 technique
T1505Server Software ComponentEvidence1

For persistence, it injects versioned code (markers: C250617A through C250620A) into developer applications (e.g., Antigravity, VS Code, Cursor, Discord, GitHub Desktop)

Stealth

5 techniques
T1027Obfuscated Files or InformationEvidence2

The appended JavaScript is obfuscated and reconstructs its real behavior at runtime... A large whitespace gap hides the malicious payload after the legitimate Tailwind configuration, making it easy to miss in code review.

T1127Trusted Developer Utilities Proxy ExecutionEvidence1

The malware sits quietly inside what looks like a standard Tailwind CSS configuration file... Once that obfuscated code runs, it quietly transforms into a full JavaScript malware loader operating inside Node.js.

T1140Deobfuscate/Decode Files or InformationEvidence1

The loader uses hardcoded XOR keys to decrypt the material it retrieves and then runs the result directly inside Node.js using eval().

T1497Virtualization/Sandbox EvasionEvidence1

The RAT specifically detects and avoids CI/CD environments (e.g., GitLab CI, BuildBot) and cloud sandboxes, executing only on real developer workstations.

T1574.008Path Interception by Search Order HijackingEvidence1

For persistence, it injects versioned code (markers: C250617A through C250620A) into developer applications (e.g., Antigravity, VS Code, Cursor, Discord, GitHub Desktop) and creates a hidden .node_modules folder for Node.js module search order hijacking.

Discovery

1 technique
T1497Virtualization/Sandbox EvasionEvidence1

The RAT specifically detects and avoids CI/CD environments (e.g., GitLab CI, BuildBot) and cloud sandboxes, executing only on real developer workstations.

Command and Control

3 techniques
T1071.001Web ProtocolsEvidence1

The backdoor communicates with its command-and-control (C&C) server via WebSocket (using socket.io-client). It uses HTTP for file uploads, directory exfiltration, and logging

T1102.001Dead Drop ResolverEvidence2

MITRE ATT&CK # T1102.001 — Web Service: Dead Drop Resolver

T1105Ingress Tool TransferEvidence3

MITRE ATT&CK # T1105 — Ingress Tool Transfer

Exfiltration

1 technique
T1041Exfiltration Over C2 ChannelEvidence1

It uses HTTP for file uploads, directory exfiltration, and logging, specifically through the ‘/verify-human/[VERSION]’ endpoint for heartbeat and notification, and ‘/u/f’ for data exfiltration.

INDICATORS OF COMPROMISE

IOCs tracked for this family

9 indicators attributed across vendor reports, sandbox runs, and researcher write-ups. Full values are available in Mallory.

View more in app
Network
2 tracked

IPs, domains, and DNS infrastructure linked to this family.

Hashes
5 tracked

File hashes (MD5, SHA-1, SHA-256) from samples and reports.

Other
2 tracked

Other indicator types observed in public reporting.

TypeValueLatest sighting
hash.sha256●●●●●●●●●●●●View more in app27 days ago
hash.sha256●●●●●●●●●●●●View more in app27 days ago
hash.sha256●●●●●●●●●●●●View more in app27 days ago
hash.sha1●●●●●●●●●●●●View more in app27 days ago
hash.sha256●●●●●●●●●●●●View more in app27 days ago
domain●●●●●●●●●●●●View more in app29 days ago
What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets match these IOCs, which detections are missing, which campaigns to expect next, and what to do in the next 30 minutes.
IOC matching9

Match every observed IP, domain, and hash against your live telemetry.

Threat actor attribution1

Named campaigns wielding this family, with evidence pinned to each claim.

Exploited vulnerabilities

CVEs this family uses for access and lateral movement.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

MITRE ATT&CK mapping19

Every documented technique, ranked by evidence weight.

Researcher chatter

Reddit, Mastodon, and CTI community discussion around this family.