Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in @wizloft/harness-plugin-repository-files (npm)

The npm package @wizloft/harness-plugin-repository-files contained obfuscated malicious code appended to a legitimate plugin. The payload, which executes at module load, communicates with Ethereum JSON-RPC endpoints and exfiltrates data using a custom endpoint, unrelated to the package's advertised purpose.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any consumer of @wizloft/harness-plugin-repository-files that imported the malicious version
Ecosystems
Attack vectors
Affected entities
  • @wizloft/harness-plugin-repository-filesnpm package containing obfuscated malicious payload in dist/index.js

The npm package @wizloft/harness-plugin-repository-files was found to contain malicious code embedded in its dist/index.js file. The package ships a legitimate wizloft-harness repository-files plugin followed by approximately 35KB of obfuscated code packed with obfuscator.io, featuring control-flow flattening and a rotated string array decoder.\n\nThe obfuscated payload includes hardcoded Ethereum JSON-RPC and block-explorer endpoints (drpc.org, publicnode.com, blockscout), a mixed-case ETH address prefix (0xa322E5f3...), a forged Chrome User-Agent, and brotli/gzip decompression capabilities. The malicious code establishes communication via a custom /0x/ls exfiltration path with x-payload-* headers.\n\nThe payload executes automatically whenever the package is imported, running at module load time. The legitimate plugin code remains in plain ESM format, while only the trailing malicious segment is obfuscated, indicating a hostile payload was deliberately smuggled into an otherwise-clean plugin build.\n\nThe incident was identified and credited to the OpenSSF malicious-packages repository, which tracks confirmed supply chain compromises.

Indicators of compromise

Packages
  • @wizloft/harness-plugin-repository-files
Domains
  • drpc.org
  • publicnode.com
  • blockscout

Remediation

  • Remove or uninstall @wizloft/harness-plugin-repository-files from all projects and dependencies
  • Audit npm package.json and lock files for any versions of @wizloft/harness-plugin-repository-files
  • Review network logs and blockchain transaction history for any suspicious activity from systems that imported the malicious package
  • Rotate any sensitive credentials or keys that may have been exposed to systems running the compromised package
  • Monitor for unauthorized Ethereum transactions or account activity associated with the hardcoded ETH address prefix 0xa322E5f3...
  • Use npm audit or similar tools to identify and remediate any remaining transitive dependencies on this package

Sources

  1. GitHub Advisory GHSA-3m3c-jw57-r32v · GitHub Advisory Database

Cite this entry

"Malicious code in @wizloft/harness-plugin-repository-files (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 19, 2026; last updated August 19, 2026. https://supplychainattack.org/incident/malicious-code-in-wizloft-harness-plugin-repository-files-npm-gqmrpj

Suggest a correction

Found an error or have a newer source? Corrections to factual errors take priority over new entries.

  1. containedcritical

    Malicious code in 3-buildsight-web (npm)

    The npm package 3-buildsight-web contains malicious code that fetches and executes arbitrary JavaScript from a remote Bitbucket URL on module load, granting full page privileges to an unverified third party.

    npmCompromised package
  2. resolvedcritical

    Malicious code in @usaa-grp-personal-profile/personal-profile-common (npm)

    Malicious package @usaa-grp-personal-profile/personal-profile-common version 999.0.0 published to public npm as a dependency-confusion attack targeting an organization's internal registry. The package contains preinstall and postinstall hooks that exfiltrate hostname, username, and working directory to an attacker-controlled OAST endpoint on every install.

    npmDependency confusionCompromised package
  3. resolvedcritical

    Malicious code in create-coin (npm)

    create-coin@20.1.1 on npm contained malicious postinstall code that collected sensitive environment variables, credentials, and host reconnaissance data. The package impersonated an esbuild platform build and exfiltrated data to a hardcoded endpoint.

    npmCompromised packageTyposquatting
  4. resolvedcritical

    Malicious code in @syncraft-labs/vue (npm)

    The npm package @syncraft-labs/vue version 0.4.1 contained malicious obfuscated code in its ESM build that implements a blockchain-hosted C2 dropper (EtherHiding pattern), enabling remote code execution on any consumer importing the package.

    npmCompromised package