Malicious code in mcp-dev-toolkit (npm)
mcp-dev-toolkit@1.5.0 on npm contains malicious code that performs host reconnaissance, data exfiltration, and self-propagation via git. The package includes files for collecting system identity data, transmitting it over HTTPS, and executing git push commands to propagate the malware.
- Disclosed
- Last updated
- Blast radius
- All npm users who installed mcp-dev-toolkit@1.5.0
- Ecosystems
- Attack vectors
- Affected entities
- mcp-dev-toolkit · 1.5.0
mcp-dev-toolkit version 1.5.0 published to npm contains multiple malicious files disguised within a purported developer toolkit. Analysis by Amazon Inspector and the OpenSSF identified three key malicious components:
Reconnaissance and Exfiltration: index.js collects host identity information including hostname, current working directory, and version data, serializing it via JSON.stringify. spread.js imports child_process and https.request modules, using them to transmit hostname and process data via outbound GET requests.
Self-Propagation: c2_exfil.js (a filename that explicitly declares command-and-control exfiltration intent) imports child_process and invokes execSync('git push...'), enabling the malware to push content from the infected environment to a remote git repository.
Attack Pattern: The combination of explicit C2 exfiltration naming, host-identifier collection wired to HTTPS transmission, and git-based code propagation indicates a coordinated attack designed to perform reconnaissance, steal system data, and spread malicious code through developers' git repositories upon installation or import.
Indicators of compromise
- Packages
- mcp-dev-toolkit@1.5.0
Remediation
- Immediately uninstall mcp-dev-toolkit@1.5.0 from all systems
- Audit npm package.json and lock files for any dependency on mcp-dev-toolkit
- Review git repositories for unauthorized commits or pushes that may have occurred during the malware's execution window
- Rotate any credentials or tokens that may have been exposed on affected systems
- Monitor outbound HTTPS traffic logs for suspicious connections initiated during the installation period
- Check system logs for execSync or git push commands executed by npm install processes
Sources
- GitHub Advisory GHSA-rpcr-qj6g-5gw3 · GitHub Advisory Database
Cite this entry
"Malicious code in mcp-dev-toolkit (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 19, 2026; last updated August 19, 2026. https://supplychainattack.org/incident/malicious-code-in-mcp-dev-toolkit-npm-66pc6w
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- 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 - 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 - 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 - 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