Malicious code in chaintest (PyPI)
The chaintest package on PyPI contained malicious code implementing a cryptocurrency infostealer with keylogging, clipboard hijacking, and remote command execution capabilities. The malware exfiltrates browser data, cryptowallet extensions, SSH keys, and modifies copied cryptocurrency addresses to attacker-controlled wallets.
- Disclosed
- Last updated
- Blast radius
- Any user who installed the malicious chaintest package from PyPI
- Ecosystems
- Attack vectors
- Threat actor
- Affected entities
- chaintestPyPI package containing cryptocurrency infostealer malware
The chaintest package published on PyPI contained embedded malicious code designed to steal cryptocurrency and sensitive information from infected systems. The infostealer targets browser extensions (including cryptowallet extensions), local storage, password managers, and standalone cryptocurrency wallets.\n\nThe malware implements multiple persistence mechanisms across different platforms and includes a keylogger that intercepts and modifies cryptocurrency addresses copied to the clipboard, replacing them with attacker-controlled addresses. Additional capabilities include remote command execution via C2 communication, SSH key exfiltration, and malicious browser extension installation.\n\nThe malicious code shares similarities with the 2026-07-cognikit campaign attributed to the DPRK "Contagious Interview" operation. The package was identified and reported by the OpenSSF malicious-packages project.
Indicators of compromise
- Packages
- chaintest
Remediation
- Immediately uninstall the chaintest package from all systems
- Audit all systems that installed chaintest for signs of compromise, including browser extensions, SSH keys, and password manager access
- Rotate all cryptocurrency wallet credentials and move funds from potentially compromised wallets
- Scan systems for persistence mechanisms and malicious browser extensions
- Review browser history and local storage for exfiltrated data
- Monitor for unauthorized SSH access and credential usage
- Consider the system fully compromised and perform forensic analysis before returning to production use
Sources
- GitHub Advisory GHSA-6qc6-vp88-49gp · GitHub Advisory Database
Cite this entry
"Malicious code in chaintest (PyPI)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 10, 2026; last updated August 10, 2026. https://supplychainattack.org/incident/malicious-code-in-chaintest-pypi-17oj74
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 @years19/n8n-nodes-utils-helper-c (npm)
The npm package @years19/n8n-nodes-utils-helper-c contained a malicious postinstall script that downloads a trojanized Python multidict module from an attacker-controlled server and injects it into the system's Python site-packages directory, enabling arbitrary code execution on any subsequent Python invocation.
npmPyPICompromised packageMalicious commit - containedcritical
Malicious code in @years19/n8n-nodes-utils-helper-d (npm)
The npm package @years19/n8n-nodes-utils-helper-d contained malicious code that downloads and executes a Python DDoS/offensive-tooling dropper on installation. The package impersonates a legitimate n8n community node but performs unauthorized system reconnaissance and beacons host identity to an attacker-controlled endpoint.
npmPyPICompromised packageTyposquatting - resolvedcritical
Malicious code in @years18/n8n-nodes-utils-helper-y (npm)
The npm package @years18/n8n-nodes-utils-helper-y contained malicious code in its postinstall hook that downloads and executes attacker-controlled Python toolkits (mhddos, pyroxy-full, impacket), persists them in the user's Python site-packages, and exfiltrates host information to an attacker-controlled endpoint. Installation triggers immediate code execution and establishes persistence.
npmPyPICompromised package - resolvedcritical
Malicious code in @years19/n8n-nodes-utils-helper-b (npm)
The npm package @years19/n8n-nodes-utils-helper-b contained malicious code disguised as an n8n workflow utility. The postinstall hook executed reconnaissance, downloaded and extracted a Python tarball with TLS verification disabled, and exfiltrated system information to an attacker-controlled domain.
npmPyPICompromised package