Malicious code in mc-registry (npm)
The npm package mc-registry is a typosquatting/impersonation attack masquerading as the legitimate chain-registry package. It injects an unvetted dependency (chain-analyze) that executes arbitrary code when the package is imported, with network communication patterns suggesting data exfiltration.
- Disclosed
- Last updated
- Blast radius
- Any npm consumer installing mc-registry or chain-analyze dependency
- Ecosystems
- Attack vectors
- Affected entities
- mc-registryMalicious package impersonating chain-registry
- chain-analyze · ^1.0.4Unvetted dependency injected by mc-registry
The npm package mc-registry was published with a description claiming to be a "Theta chain registry," but its README, badges, and documentation are copied from the legitimate hyperweb-io/chain-registry package. The package instructs users to install theta-registry and import from it, creating confusion with the legitimate package.
The malicious package diverges significantly from the legitimate chain-registry API by re-exporting HttpProvider from an unrelated third-party dependency chain-analyze (version ^1.0.4). The ESM entry point (esm/index.js) imports HttpProvider from chain-analyze at the top level, meaning any consumer importing mc-registry automatically loads and executes code from this unvetted dependency in their process.
The internal accessor is named loadPartnerVaultHttpProvider, suggesting the module funnels callers into an unvetted HTTP provider. Additionally, files in the package contain ping/POST network patterns co-located with chain persistence logic, indicating potential data exfiltration or command-and-control communication.
The incident was identified by the OpenSSF's malicious-packages project and reported via GitHub Security Advisory GHSA-pf2h-f44g-6pgc.
Indicators of compromise
- Packages
- mc-registry
- chain-analyze
Remediation
- Remove mc-registry from all dependencies immediately
- Audit npm install logs and package-lock.json for any installation of mc-registry or chain-analyze
- Review network traffic logs for suspicious outbound connections from systems where mc-registry was installed
- Regenerate any credentials or secrets that may have been exposed to processes running mc-registry
- Update to the legitimate chain-registry package if chain registry functionality is required
- Monitor npm for similar typosquatting attempts targeting chain-registry or related packages
Sources
- GitHub Advisory GHSA-pf2h-f44g-6pgc · GitHub Advisory Database
Cite this entry
"Malicious code in mc-registry (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 19, 2026; last updated August 19, 2026. https://supplychainattack.org/incident/malicious-code-in-mc-registry-npm-1goedk
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- 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 - containedcritical
Malicious code in chai-as-testkit (npm)
The npm package chai-as-testkit is a typosquat/impersonation attack delivering obfuscated malicious code that executes on import. The package falsely claims to be a vulnerability management tool but ships pino library files under a different author, with a synthetic stub that loads a 4MB+ obfuscated bundle containing attacker-controlled code.
npmTyposquattingCompromised package - resolvedcritical
Malicious code in @next-fonts/font (npm)
@next-fonts/font is a typosquat package on npm that executes arbitrary attacker-controlled code via a blockchain-mediated C2 channel when its Inter() function is called. The malicious payload is base64-encoded and executed through Node.js spawn or eval, with no legitimate font functionality.
npmTyposquattingCompromised package - resolvedcritical
Malicious code in chai-as-soul (npm)
chai-as-soul@2.3.5 is a typosquat of the pino logging library containing malicious code that exfiltrates environment variables (including AWS/GCP/CI tokens) and executes arbitrary remote code on installation.
npmTyposquattingCompromised package