VDB
KO

MAL-2026-14285

Malicious code in @wizloft/harness (npm)

Details

--- _-= Per source details. Do not edit below this line.=-_

## Source: amazon-inspector (3679ede1e874f59f4be963544c3df43069cd335b2f888753b7411e42c7a5d3dd) dist/index.js — the package's main/exports entrypoint — presents ~200 lines of TypeScript-compiled SDK facade followed by a single ~40KB line of obfuscator.io output (303-entry rotated string array _0x240a with decoder _0x4963 and hex-identifier control-flow variables). Deobfuscation of the string table reveals hardcoded references to public Ethereum RPC endpoints (eth.drpc.org, 1rpc.io), an etherscan-style API query (?module=ac...), a hardcoded Ethereum contract address 0xa322E5f3..., a spoofed Mozilla/5.0 User-Agent, JSON POST machinery, and the sinks require, pipe, and eval. The composition matches the EtherHiding on-chain-C2 dropper pattern: on import, the code queries a smart contract via a public Ethereum RPC to retrieve an attacker-controlled next-stage payload string, then passes it to eval() in the consumer's Node process, yielding arbitrary remote code execution against the installer. The on-chain payload storage is mutable by the contract owner but immutable to registry takedown and invisible to standard registry scanners. The README's claim of 'no executable binary' contradicts the shipped dist/index.js.

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / @wizloft/harness

No fixed version published yet for @wizloft/harness (npm). Pin to a known-safe version or switch to an alternative.

References