Malicious code in decapod-common (PyPI)
Malicious code was published in the decapod-common package on PyPI. The package exfiltrates basic host information (IP address, username) upon installation or import, with the malicious behavior executed via a setup.py install command override.
- Disclosed
- Last updated
- Blast radius
- All users who installed the malicious decapod-common package from PyPI
- Ecosystems
- Attack vectors
- Affected entities
- decapod-commonPyPI package containing malicious code
The decapod-common package published on PyPI contained malicious code designed to exfiltrate basic system information from affected hosts. The malicious payload was triggered during package installation or module import.\n\nThe attack vector involved overriding the install command in setup.py to execute the exfiltration code during the installation process. The package had no legitimate functionality beyond this malicious behavior.\n\nThe incident was identified and attributed to the OpenSSF's malicious-packages repository (MAL-2026-13386). The malicious code collected limited host data such as IP addresses and usernames, representing a reconnaissance-level threat.\n\nUsers who installed or imported this package should assume their basic system information was exfiltrated and take appropriate remediation steps.
Indicators of compromise
- Packages
- decapod-common
Remediation
- Immediately uninstall the decapod-common package from all affected systems
- Audit system logs for any suspicious activity or data exfiltration following the installation date
- Assume basic host information (IP address, username) has been compromised and monitor for related security incidents
- Review PyPI package installation logs to identify all systems that may have installed this package
- Consider rotating credentials and reviewing access logs for affected systems
- Monitor for any follow-up attacks or lateral movement attempts
Sources
- GitHub Advisory GHSA-vxw2-2m2p-c6rj · GitHub Advisory Database
Cite this entry
"Malicious code in decapod-common (PyPI)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 6, 2026; last updated August 6, 2026. https://supplychainattack.org/incident/malicious-code-in-decapod-common-pypi-t6s28m
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