PolinRider Returns in 17 Hijacked npm Packages: an eval(atob()) Loader Pulls Its C2 Address From an Ethereum Transaction and Runs a Crypto Stealer in Memory

Medium · 2026-11-05 · By H.A

PolinRider Returns in 17 Hijacked npm Packages: an eval(atob()) Loader Pulls Its C2 Address From an Ethereum Transaction and Runs a Crypto Stealer in Memory

Attackers published malicious versions of 17 legitimate npm packages, including several @adminide-stack and Tailwind form libraries, whose loader resolves C2 through the Ethereum blockchain and runs an XOR-obfuscated crypto-stealing stage via node -i.

Overview

Researchers have found a new wave of PolinRider malware hidden in malicious releases of 17 legitimate npm packages. Attackers took over existing maintainer accounts and published poisoned versions, rather than registering new lookalike package names. The injected loader in index.js looks up its command-and-control (C2) address in an Ethereum transaction, downloads a JavaScript stage that is XOR-obfuscated, and runs it in memory. The decoded code includes cryptocurrency-stealing logic.

The affected packages have about 1,400 combined weekly downloads. That is small for npm, but these packages sit in developer and CI environments where wallets, tokens and cloud keys are easy to reach. All of the listed versions have been removed from the registry.

The Campaign

The affected packages and malicious versions are:

Timeline

Tradecraft

Indicators of Compromise

Detection

# Defensive: search lockfiles in a workspace for the affected package names
grep -rnE '"(@adminide-stack/|@cdmbase/wiki-browser|@pubngo-stack/help-browser|server-hemera-mongo|cdeops|react-contact-forms|tailwindcss?-(form-utils|contact-forms?)|tailwind-(form-core|input-kit|forms-kit))' \
  --include=package-lock.json --include=yarn.lock --include=pnpm-lock.yaml .

# Look for the loader pattern in installed modules
grep -rl "eval(atob(" node_modules --include=index.js 2>/dev/null

On endpoints and CI runners, alert on node -i started by a non-interactive parent, and on egress to the listed IPs.

Recommended Actions

Analyst Assessment

The download count is small, but the techniques are the important part. Account hijacking, blockchain-based C2 that cannot simply be taken down, and fileless execution are becoming standard in npm malware. Because the C2 address can change without a new package release, any affected install that is still running remains controllable by the attacker. Teams that consume small UI and form packages without a review gate are the most exposed. We rate the threat Medium.

REEF SENTINEL