Malicious code in joule-btp-extension (PyPI)
Malicious code was published in joule-btp-extension on PyPI (version 0.1.6). The package contained code to exfiltrate system information, establish reverse shells, and communicate with domains associated with malicious activity. The incident appears to have been an internal test accidentally uploaded to a public repository.
- Disclosed
- Last updated
- Blast radius
- Unknown; limited to users who installed the malicious version(s)
- Ecosystems
- Attack vectors
- Affected entities
- joule-btp-extension · 0.1.6
The joule-btp-extension package on PyPI contained malicious code that performed multiple harmful actions upon installation. According to analysis, the package exfiltrated basic system information (such as IP address and username) and attempted to establish a reverse shell for remote command execution.
The OpenSSF Package Analysis project confirmed the malicious nature of version 0.1.6, identifying communication with domains associated with malicious activity. The incident was categorized as a likely pentest or internal testing scenario that was inadvertently published to the public PyPI repository.
The package has been identified and flagged by both security researchers (kam193) and the OpenSSF malicious packages database, with the campaign identifier 2026-08-joule-btp-extension.
Indicators of compromise
- Packages
- joule-btp-extension==0.1.6
Remediation
- Remove joule-btp-extension from all systems where it was installed
- Audit systems that installed the package for signs of compromise, including reverse shell activity and data exfiltration
- Review network logs for connections to the malicious domains identified by OpenSSF
- Change credentials and secrets on any affected systems
- Monitor for unauthorized command execution or lateral movement
Sources
- GitHub Advisory GHSA-x6f9-9m8h-q98m · GitHub Advisory Database
Cite this entry
"Malicious code in joule-btp-extension (PyPI)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 11, 2026; last updated August 11, 2026. https://supplychainattack.org/incident/malicious-code-in-joule-btp-extension-pypi-yh2dsh
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- resolvedhigh
Malicious code in kb-ai (PyPI)
The kb-ai package on PyPI contained malicious code designed to demonstrate a dependency confusion attack. The package exfiltrated basic system data (IP address, username) and executed arbitrary code during installation via setup.py override.
PyPICompromised packageDependency confusion - 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