Malicious code in joule-sbx-poc (PyPI)
The PyPI package joule-sbx-poc contained malicious code that exfiltrates system information and establishes a reverse shell during installation. The package appears to have been an internal test or pentest tool accidentally uploaded to the public PyPI repository.
- Disclosed
- Last updated
- Blast radius
- Low to moderate; limited to users who installed the malicious package from PyPI.
- Ecosystems
- Attack vectors
- Threat actor
- Affected entities
- joule-sbx-pocMalicious package on PyPI containing reverse shell and data exfiltration code
The package joule-sbx-poc on PyPI was found to contain malicious code designed to execute during installation. The malicious payload includes functionality to exfiltrate basic system information (such as IP address and username) and to establish a reverse shell connection to a localhost service, enabling arbitrary command execution on the victim's machine.\n\nAccording to the OpenSSF malicious packages database, this appears to be an internal testing or penetration testing tool that was inadvertently published to the public PyPI repository. The package is categorized as a likely pentest-related tool with limited real-world harm potential, though the reverse shell capability presents a significant risk to any user who installed it.\n\nThe incident was disclosed on 2026-08-11 and attributed to the campaign "2026-08-joule-btp-extension." The malicious code was identified by kam193 and cataloged by the OpenSSF malicious packages project.
Indicators of compromise
- Packages
- joule-sbx-poc
Remediation
- Immediately uninstall joule-sbx-poc from any affected systems using 'pip uninstall joule-sbx-poc'
- Audit systems that installed this package for signs of compromise, including reverse shell connections and unauthorized data exfiltration
- Review network logs for suspicious outbound connections to localhost or external services from the time of installation
- Change credentials and review access logs on any systems where the package was installed
- Monitor PyPI and security advisories for similar malicious packages
- Report any installations of this package to your security team for incident response
Sources
- GitHub Advisory GHSA-w944-rwh6-xhj2 · GitHub Advisory Database
Cite this entry
"Malicious code in joule-sbx-poc (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-sbx-poc-pypi-19omci
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 socks5901 (PyPI)
The PyPI package socks5901 contained malicious code that exfiltrates files from /sdcard/ during import and communicates via Telegram bot. The package was identified and cataloged by the OpenSSF malicious-packages project.
PyPICompromised package - 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