Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedhigh

Malicious code in xsltproc (PyPI)

The xsltproc package on PyPI contained malicious code that exfiltrates basic host information (IP address, username) upon installation or module import. The package overrides the install command in setup.py to execute the malicious payload during installation.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any user who installed the malicious xsltproc package from PyPI
Ecosystems
Attack vectors
Affected entities
  • xsltprocPyPI package

The xsltproc package published on PyPI was found to contain intentionally malicious code designed to exfiltrate basic system information from infected hosts. The malicious payload is executed during package installation by overriding the install command in setup.py, ensuring code execution occurs before the package is fully installed.\n\nThe exfiltrated data includes basic host information such as IP addresses and usernames. According to the OpenSSF malicious packages database, this package was classified as a low-harm pentest-style package with limited risk scope, though any system information disclosure poses a privacy and reconnaissance threat.\n\nThe incident was identified and documented by the OpenSSF malicious packages project (MAL-2025-191937), which tracks intentionally malicious packages published to public repositories.

Indicators of compromise

Packages
  • xsltproc

Remediation

  • Immediately uninstall the xsltproc package if installed: pip uninstall xsltproc
  • Review system logs and network traffic from the time of installation to identify any data exfiltration
  • Change credentials (passwords, SSH keys, API tokens) on affected systems as a precaution
  • Scan systems for any additional malicious artifacts or persistence mechanisms
  • Monitor for unauthorized access or reconnaissance activity on affected hosts
  • Use only verified, legitimate packages from trusted sources; verify package authenticity before installation

Sources

  1. GitHub Advisory GHSA-8339-c9j3-rqv3 · GitHub Advisory Database

Cite this entry

"Malicious code in xsltproc (PyPI)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 21, 2025; last updated July 21, 2026. https://supplychainattack.org/incident/malicious-code-in-xsltproc-pypi-1ricwp

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 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
  2. resolvedcritical

    Malicious code in adv2099m7 (PyPI)

    Malicious code was discovered in the adv2099m7 package on PyPI. The package was identified and cataloged by the OpenSSF malicious packages project.

    PyPICompromised package
  3. resolvedcritical

    Malicious code in adrandom (PyPI)

    The adrandom package on PyPI contained malicious code that executed spyware and information-stealing malware. It was part of a campaign by the EsqueleSquad group that published nearly 6,000 malicious packages across PyPI and NPM.

    EsquelesquadPyPICompromised package
  4. resolvedcritical

    Malicious code in ziphash (PyPI)

    The ziphash package on PyPI contained malicious code that downloads and executes multi-stage malware during archive-support class initialization. The malware exhibits obfuscation and remote code execution capabilities, classified as part of the 2025-11-uzip campaign.

    2025 11 UzipPyPICompromised package