Researchers Detail npm Worm, WEL1DROPPER Campaign and DPRK-Linked NullReceiver C2 Technique

· Original article ↗

Summary

The episode analyzes an npm worm that compromised 400+ packages and stole credentials, a campaign publishing over 1,000 malicious npm packages, and a DPRK-linked technique that hides C2 IPs in empty Ethereum transfers.

Key points

  • A compromised maintainer account was used to publish a Mini Shai-Hulud-based worm across more than 400 npm packages; ServiceTitan reportedly had 100 packages affected.
  • The worm searched developer machines and CI runners for credentials spanning GitHub, npm, cloud platforms, Kubernetes, Vault, Terraform, Docker and Slack, then exfiltrated them.
  • Researchers found the worm within minutes of publication, raising questions about the effectiveness and rollout of GitHub's announced pre-publication malware scanning.
  • WEL1DROPPER published over 1,000 malicious npm packages in 72 hours. Its payload executes on package import rather than through install scripts; attribution to Russian actors remains uncertain.
  • NullReceiver hides a C2 IP address or short URL in the recipient field of an empty Ethereum transaction, avoiding reliance on a fixed, publicly known destination address.
  • At least 10 packages were observed using NullReceiver, which researchers link to DPRK activity and describe as a stage preceding EtherHiding in some attack chains.

Article Details

Attack Vectors
  • Threat actors used Jared Wray’s compromised GitHub account to publish an npm worm that spread through more than 400 packages.
  • The worm searched developer machines and CI runners for credentials and exfiltrated credentials it found.
  • WEL1DROPPER packages execute when imported rather than relying on npm lifecycle install scripts; the packages were described as malicious forks or typosquats.
  • NullReceiver hides a C2 IP address or short URL in the recipient address of an empty Ethereum transaction. The article says this can precede EtherHiding, which carries additional information in blockchain transaction data.
  • A backup stage-two retrieval method for WEL1DROPPER pulls content from DNS TXT records associated with a .ru domain.
Defensive Notes
  • Disabling npm lifecycle scripts alone does not prevent WEL1DROPPER packages from executing when imported.
  • Monitoring the fixed public burn address used by EtherHiding can help detect that technique, but NullReceiver avoids reliance on a fixed, publicly known destination address.
  • The speakers said researchers found the npm worm within minutes of publication, raising concerns that pre-publication malware scanning did not catch it.

MITRE ATT&CK

People

Threat Actors

Malware

Vendors

Products

Countries

Related Articles