Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
MalwareUsed by 2 actors

Graphalgo

Graphalgo is a malware campaign and associated malicious package cluster attributed with medium-to-high confidence to North Korea’s Lazarus Group. Active since at least May 2025, it targets JavaScript and Python developers through fake recruiter outreach and coding-assessment lures themed around blockchain, cryptocurrency, and software development roles. Attackers use fake company infrastructure, including fronts such as Veltrix Capital, and contact targets via LinkedIn, Facebook, Reddit, and similar channels. Victims are instructed to run or debug seemingly legitimate interview projects hosted on GitHub; the repositories themselves may appear clean, but they pull malicious dependencies from npm and PyPI.

Researchers identified 192 malicious packages associated with the campaign. The operation was named after the first npm package observed, graphalgo. Reported package names include npm packages such as graphalgo, graphorithm, graphstruct, graphlibcore, netstruct, graphnetworkx, terminalcolor256, graphkitx, graphchain, graphflux, graphorbit, graphnet, graphhub, terminal-kleur, graphrix, bignumx, bignumberx, bignumex, bigmathex, bigmathlib, bigmathutils, graphlink, bigmathix, and graphflowx, and PyPI packages such as graphalgo, graphex, graphlibx, graphdict, graphflux, graphnode, graphsync, bigpyx, bignum, bigmathex, bigmathix, and bigmathutils. Some packages were initially benign to build trust and download counts before later malicious updates were pushed; bigmathutils is specifically cited as having exceeded 10,000 downloads before a malicious version was introduced.

The malicious packages function as downloaders or conduits for a modular multi-stage remote access trojan. The RAT periodically fetches and executes commands from an external command-and-control server and supports capabilities including arbitrary command execution, process listing, system and file enumeration, file and directory manipulation, file upload and download, and additional payload delivery. The malware uses token-protected C2 communications, including an initial registration step that sends host information and receives a token required for subsequent requests. Multiple RAT variants written in JavaScript, Python, and VBS were reported.

The campaign also includes checks for browser cryptocurrency wallet extensions such as MetaMask, indicating likely cryptocurrency theft objectives in addition to broader data theft. Targeting is focused on developers, especially those in blockchain and crypto-related ecosystems, and the tradecraft combines social engineering with software supply-chain abuse to exploit normal developer workflows. Attribution to Lazarus Group is supported in the content by overlap in fake job interview lures, crypto-focused targeting, delayed malicious package activation, multistage encrypted malware, token-protected C2, and GMT+9 Git commit timestamps.

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

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

View more details
Lazarus

North Korea’s Lazarus Group has maintained a sustained presence in PyPI and npm targeting AI and developer tool packages under the campaign codenamed “Graphalgo.”

via cloud security alliancelabs.cloudsecurityalliance.org
TraderTraitor

The coordinated campaign has been codenamed graphalgo in reference to the first package published in the npm registry... The packages ultimately act as a conduit to deploy a remote access trojan (RAT) that periodically fetches and executes commands from an external server.

via the hacker newsthehackernews.com
MITRE ATT&CK

Techniques & procedures

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

Initial Access

3 techniques
T1195Supply Chain CompromiseEvidence1

Instead of direct attachments, attackers embed malicious dependencies inside packages on popular developer registries — npm and PyPI. When candidates run or debug the code as part of the “interview exercise,” these hidden packages install a remote access trojan (RAT) on their machine.

T1195.001Compromise Software Dependencies and Development ToolsEvidence2

Instead of direct attachments, attackers embed malicious dependencies inside packages on popular developer registries — npm and PyPI. When candidates run or debug the code as part of the “interview exercise,” these hidden packages install a remote access trojan (RAT) on their machine.

T1566.003Spearphishing via ServiceEvidence1

“The attack begins on social platforms like LinkedIn, Facebook, and even Reddit, where developers are approached with job opportunities…”

Execution

2 techniques
T1059Command and Scripting InterpreterEvidence1

Once installed, the RAT can: • Execute commands from a remote server

T1204User ExecutionEvidence1

When candidates run or debug the code as part of the “interview exercise,” these hidden packages install a remote access trojan (RAT) on their machine.

Discovery

1 technique
T1518Software DiscoveryEvidence1

Once installed, the RAT can: • Check for browser crypto extensions like MetaMask — a strong signal the motivation includes cryptocurrency theft.

Command and Control

1 technique
T1102Web ServiceEvidence1

“The malicious functionality is hidden using several layers of indirection across public services which include GitHub, npm and PyPI…”

Exfiltration

1 technique
T1041Exfiltration Over C2 ChannelEvidence1

Once installed, the RAT can: • Exfiltrate files and data

ACTIVITY FEED

Recent activity

6 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.

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 matching

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

Threat actor attribution2

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 mapping8

Every documented technique, ranked by evidence weight.

Researcher chatter

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