Compromised Joyfill npm Packages Deliver DEV#POPPER-Linked RAT via Blockchain C2

· Original article ↗

Summary

Socket reports that two compromised Joyfill npm packages run malware on import, using blockchain-based payload retrieval to deliver a RAT and a separate branch associated with an OmniStealer-like infostealer. Developers are advised to remove the packages and rotate keys

Key points

  • The affected versions are @joyfill/[email protected] and @joyfill/[email protected]; their implant runs when Node.js loads the CommonJS entry point.
  • The malware uses Tron transactions, with an Aptos fallback, to retrieve BNB Smart Chain transaction data and resolve encrypted JavaScript payloads.
  • A detached Node.js process can continue after the importing build, test, or CLI process exits; it requests a separate boot payload from 23.27.13[.]43.
  • The recovered RAT can execute JavaScript or shell commands, upload files, read clipboard data, collect host details, and establish remote control; it avoids several development and sandbox hostnames.
  • A separate Python infostealer, assessed as an OmniStealer iteration, can collect credentials and data from browsers, wallet and password-manager extensions, Git tools, and developer applications.
  • Socket linked the packages to the ViteVenom activity and assessed both as part of an ongoing operation by North Korean threat actors; the source of the package code injection is unclear.
  • Developers are advised to remove affected versions from lockfiles, caches, mirrors, build images, and deployment artifacts, pin a verified version, and rotate credentials accessible to the affected Node.js process.

Article Details

Attack Vectors
  • Compromised @joyfill/[email protected] and @joyfill/[email protected] npm packages execute an implant when Node.js loads their CommonJS entry point.
  • The implant retrieves and executes encrypted payloads using transaction data from Tron, Aptos, and BNB Smart Chain.
  • A detached Node.js process requests a separate boot payload from 23.27.13[.]43, decrypts it, and evaluates it.
  • The recovered RAT can execute supplied JavaScript or shell commands, upload files, retrieve additional JavaScript, collect host details, and read clipboard data.
  • A Python infostealer delivered through the detached branch can collect host and environment information, credentials, browser data, wallet and password-manager extension storage, and developer-tool data.
Defensive Notes
  • Remove affected package versions from lockfiles, caches, internal mirrors, build images, and deployment artifacts.
  • Pin to a verified package version.
  • Rotate credentials from affected Node.js processes.

Indicators of compromise

TypeIndicatorContext
IPV423[.]27[.]13[.]43IP address contacted by the detached Node.js process to retrieve a separate boot payload.

MITRE ATT&CK

Threat Actors

Malware

Products

Related Articles