{"id":"MAL-2026-14285","summary":"Malicious code in @wizloft/harness (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (3679ede1e874f59f4be963544c3df43069cd335b2f888753b7411e42c7a5d3dd)\ndist/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.\n\n## Source: ghsa-malware (7c45b346a08bc4c5f14a329f93f928988e7af1039d941528911a1a36080fdc9e)\nAny computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.\n","aliases":["GHSA-hv3x-6r5c-g4cp"],"modified":"2026-09-23T01:00:12.815079054Z","published":"2026-08-19T08:33:21Z","database_specific":{"malicious-packages-origins":[{"source":"amazon-inspector","versions":["0.1.1-alpha.3"],"id":"IN-MAL-2026-018409","import_time":"2026-08-19T08:48:53.716450646Z","modified_time":"2026-08-19T08:33:21Z","sha256":"3679ede1e874f59f4be963544c3df43069cd335b2f888753b7411e42c7a5d3dd"},{"ranges":[{"events":[{"introduced":"0"}],"type":"SEMVER"}],"sha256":"7c45b346a08bc4c5f14a329f93f928988e7af1039d941528911a1a36080fdc9e","source":"ghsa-malware","id":"GHSA-hv3x-6r5c-g4cp","import_time":"2026-09-23T00:57:12.95535698Z","modified_time":"2026-09-23T00:24:47Z"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/@wizloft/harness/v/0.1.1-alpha.3"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-hv3x-6r5c-g4cp"}],"affected":[{"package":{"name":"@wizloft/harness","ecosystem":"npm","purl":"pkg:npm/%40wizloft/harness"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"versions":["0.1.1-alpha.3"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"name":"Embedded Malicious Code","cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature."}],"indicators":{"package_integrity":[{"filename":"harness-0.1.1-alpha.3.tgz","hashes":{"sha1":"0f0e670fa0e43cdf81cc3f7596e74910bd247fc6","sha512_sri":"sha512-wcfNvV/Vc0RDgLX9+DwUtHIA9EfcuBguWgAvKo6+YZug4m+dZbf38s+/CS2YOHxk4zLtXvZLGhSFVZKz4rqurw=="}}],"evidence_files":[{"sha256":"05a631458710b3ac50edb9234d8d946ae7470e33af731a2a0a6e1d0c0c795bb7","tlsh":"1d03a5c47bd0a440034767bb7b1bb4e5f66a089e34844ac6f11cfe94eba632ad5f1631","path":"dist/index.js"}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@wizloft/harness/MAL-2026-14285.json"}}],"schema_version":"1.9.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}