Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

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.

ShareXLinkedInHacker News
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

  1. 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.

  1. 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
  2. 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
  3. 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
  4. 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