OpenSSF/OSV advisory MAL-2026-14288 confirms this npm version as malicious. dist/index.js of @wizloft/harness-plugin-repository-files ships a small legitimate wizloft-harness repository-files plugin followed at line 209 by a ~35KB obfuscator.io-packed IIFE (303-entry rotated string array _0x240a with decoder _0x4963, control-flow flattening, hex-named identifiers). Decoded strings in the appended segment include Ethereum JSON-RPC and block-explorer endpoints (drpc.org, publicnode.com,...
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in @wizloft/harness-plugin-repository-files (npm)
Details
dist/index.js of @wizloft/harness-plugin-repository-files ships a small legitimate wizloft-harness repository-files plugin followed at line 209 by a ~35KB obfuscator.io-packed IIFE (303-entry rotated string array _0x240a with decoder _0x4963, control-flow flattening, hex-named identifiers). Decoded strings in the appended segment include Ethereum JSON-RPC and block-explorer endpoints (drpc.org, publicnode.com, blockscout, an etherscan-style txlist/account API), a hardcoded mixed-case ETH address prefix 0xa322E5f3..., a forged Chrome User-Agent, brotli/gzip decompression, AbortController-based fetch, and a custom /0x/ls exfil path with x-payload-* headers. The payload runs at module load whenever a consumer imports the package and has no relationship to the advertised purpose of reading repository files for a harness runtime. Only the trailing segment is obfuscated; the legitimate plugin portion is plain ESM, indicating a hostile payload smuggled onto an otherwise-clean plugin build.
Decision reason
OpenSSF Malicious Packages via OSV confirms @wizloft/harness-plugin-repository-files@0.1.1-alpha.3 as malicious (MAL-2026-14288): Malicious code in @wizloft/harness-plugin-repository-files (npm)