Malicious code in zebo (PyPI)
The zebo package on PyPI contained malicious code that automatically installs a keylogger and screenshot extraction tool with autostart persistence. The malicious campaign was identified and attributed to OpenSSF's malicious packages database.
- Disclosed
- Last updated
- Blast radius
- Unknown; all users who installed the malicious zebo package from PyPI
- Ecosystems
- Attack vectors
- Affected entities
- zeboPyPI package containing malicious code
The zebo package distributed via PyPI contained intentionally malicious code designed to compromise user systems. Upon installation, the package automatically deployed a script with keylogger and screenshot extraction capabilities, configured to persist across system restarts via autostart mechanisms.\n\nThe malicious payload was identified as part of a broader infostealer campaign (2024-11-zebo) with clear intent to steal user credentials and sensitive information. The compromise was detected and documented by the OpenSSF's malicious packages project, which maintains a public record of known malicious packages in open-source ecosystems.\n\nThe package has been removed from PyPI and the incident is considered resolved from a distribution standpoint, though any systems that installed the malicious version remain at risk unless remediated.
Indicators of compromise
- Packages
- zebo
Remediation
- Immediately uninstall the zebo package from all systems: pip uninstall zebo
- Scan affected systems for keylogger and infostealer artifacts, particularly in autostart locations (Windows: HKLM/HKCU Run registry keys, Linux: /etc/init.d, ~/.bashrc, ~/.profile, macOS: ~/Library/LaunchAgents)
- Review system logs and network traffic for signs of credential theft or data exfiltration
- Change all passwords and credentials on affected systems, especially for sensitive accounts
- Monitor for unauthorized access to accounts that may have been compromised
- Do not reinstall zebo; verify any replacement package is from a trusted source
Sources
- GitHub Advisory GHSA-gf2w-6wmp-5w44 · GitHub Advisory Database
Cite this entry
"Malicious code in zebo (PyPI)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed November 1, 2024; last updated July 21, 2026. https://supplychainattack.org/incident/malicious-code-in-zebo-pypi-23vtjd
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 adpip (PyPI)
The adpip package on PyPI was identified as malicious code, part of a campaign by EsqueleSquad that published nearly 6000 malicious packages across PyPI and NPM. The package executes spyware and information-stealing malware.
PyPICompromised package - resolvedcritical
Malicious code in adstr (PyPI)
The adstr package on PyPI contained malicious code as part of a campaign by EsqueleSquad group that published nearly 6000 malicious packages across PyPI and NPM. The malicious code executed spyware and information-stealing malware.
PyPICompromised package - resolvedcritical
Malicious code in adtool (PyPI)
The adtool package on PyPI contained malicious code that executed spyware and information-stealing malware. This package was part of a campaign by the EsqueleSquad group that published nearly 6,000 malicious packages across PyPI and NPM.
PyPICompromised package - resolvedcritical
Malicious code in afrit-name (PyPI)
Malicious code was discovered in the afrit-name package on PyPI. The incident was identified and documented by the OpenSSF malicious packages project.
PyPICompromised package