NEWS

Lazarus Group Plants 192 Malicious Packages in npm and PyPI

North Korea's Lazarus Group is running a fake recruitment campaign codenamed Graphalgo, planting 192 malicious packages on npm and PyPI that target...

Dylan H.

News Desk

February 12, 2026
3 min read
Lazarus Group Plants 192 Malicious Packages in npm and PyPI

Lazarus Targets Developers with Fake Crypto Jobs

North Korea's Lazarus Group is running a large-scale fake recruitment campaign codenamed "Graphalgo" targeting JavaScript and Python developers with cryptocurrency-related coding challenges. Researchers have discovered 192 malicious packages on npm and PyPI that act as downloaders for a remote access trojan (RAT).


Campaign Overview

AttributeDetails
Campaign NameGraphalgo
Threat ActorLazarus Group (North Korea)
TargetJavaScript and Python developers
Malicious Packages192 (npm + PyPI)
LureCryptocurrency coding challenges and job interviews
PayloadRAT with command execution, process listing, file exfiltration
Recruitment PlatformsLinkedIn, Facebook, Reddit

How the Attack Works

Stage 1: Fake Recruitment

Lazarus operates fake blockchain and cryptocurrency companies that post job offerings on LinkedIn, Facebook, and Reddit. Targets receive messages from "recruiters" offering high-paying positions at these companies.

Stage 2: Coding Challenge

Candidates are asked to complete a cryptocurrency-related coding challenge as part of the "interview process." The challenge requires installing specific npm or PyPI packages as dependencies.

Stage 3: Malicious Packages

The required packages contain hidden malware that acts as a downloader for a RAT. Once installed, the packages:

  1. Execute a postinstall script that runs silently in the background
  2. Download a second-stage payload from attacker infrastructure
  3. Install a RAT capable of arbitrary command execution

RAT Capabilities

CapabilityDescription
Arbitrary command executionRun any command on the victim's machine
Process listingEnumerate running processes
File exfiltrationSearch for and steal files
Environment discoveryCollect system and network information
PersistenceMaintain access across reboots

Package Statistics

RegistryMalicious PackagesTotal Downloads
npm~120 packagesThousands
PyPI~72 packagesThousands
Total192 packagesUnder investigation

Packages used names designed to appear legitimate, mimicking popular cryptocurrency and blockchain libraries with slight name variations (typosquatting).


Developer Protection

  1. Verify package authenticity — Check publisher reputation, download counts, and creation dates before installing
  2. Audit dependencies — Use npm audit and pip-audit to scan for known vulnerabilities
  3. Use lockfiles — Pin exact package versions with package-lock.json and requirements.txt
  4. Be skeptical of coding challenges requiring unfamiliar packages
  5. Verify recruiters — Confirm the company and recruiter exist through official channels
  6. Run challenges in sandboxes — Use containers or VMs for coding challenges from unknown sources
  7. Monitor for unexpected network activity after installing new packages

Sources