MAL-2026-14285

    Dashboard / Malicious Package / MAL-2026-14285

    MAL-2026-14285

    Published: 19 Aug 2026Last Modified: 19 Aug 2026

    Summary: Malicious code in @wizloft/harness (npm)

    Details: 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.

    Affected packages

    Package

    Name: @wizloft/harness

    Purl: pkg:npm/%40wizloft/harness

    Affected ranges

    Type: N/A

    Events:

    Introduced- None
    Fixed -None

    Affected versions

    0.1.1-alpha.3
    MAL-2026-14285 | CVE-DB