Malicious code in adafruit-display-text (PyPI)
Malicious code was published in the adafruit-display-text package on PyPI. The package exfiltrates basic host information (IP address, username) and executes malicious code during installation via setup.py override.
- Disclosed
- Last updated
- Blast radius
- PyPI users who installed the malicious adafruit-display-text package
- Ecosystems
- Attack vectors
- Affected entities
- adafruit-display-textMalicious package on PyPI
A malicious version of adafruit-display-text was published on PyPI containing code designed to exfiltrate basic system information such as IP address and username. The package had no legitimate functionality beyond this data exfiltration purpose.\n\nThe attack was implemented by overriding the install command in setup.py to execute malicious code during package installation. This means the compromise occurred at the package level rather than through account takeover or build system compromise.\n\nThe incident was identified and credited to the OpenSSF's malicious-packages repository (MAL-2024-12187). The package has since been removed from PyPI, and the threat is considered resolved.
Indicators of compromise
- Packages
- adafruit-display-text
Remediation
- Remove adafruit-display-text from all systems where it was installed
- Audit systems that installed this package for signs of data exfiltration or unauthorized access
- Review network logs for suspicious outbound connections from affected systems
- Use dependency scanning tools to detect and prevent installation of known malicious packages
- Monitor PyPI and security advisories for similar incidents
Sources
- GitHub Advisory GHSA-wj6w-x9pv-q32q · GitHub Advisory Database
Cite this entry
"Malicious code in adafruit-display-text (PyPI)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 21, 2026; last updated July 21, 2026. https://supplychainattack.org/incident/malicious-code-in-adafruit-display-text-pypi-1f67o8
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 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 - 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 - 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 - 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