Malicious code in adcontrol (PyPI)
The adcontrol package on PyPI contained malicious code that executed spyware and information-stealing malware. It was part of a campaign by EsqueleSquad group that published nearly 6,000 malicious PyPI and NPM packages.
- Disclosed
- Last updated
- Blast radius
- Potentially thousands of installations; part of a large-scale malicious package campaign
- Ecosystems
- Attack vectors
- Threat actor
- Affected entities
- adcontrolPyPI package containing malicious code
The adcontrol package published on PyPI was identified as containing malicious code designed to execute spyware and information-stealing malware. This package was part of a large-scale coordinated campaign by the EsqueleSquad group.\n\nEsqueleSquad published nearly 6,000 malicious packages across PyPI and NPM ecosystems as part of this operation. The malicious packages were discovered and documented by the OpenSSF (Open Source Security Foundation) in their malicious-packages repository.\n\nThe incident was disclosed on July 21, 2026, and has been cataloged in the GitHub Advisory database (GHSA-23rx-f4x8-f767).
Indicators of compromise
- Packages
- adcontrol
Remediation
- Remove adcontrol from all environments immediately
- Audit systems that installed adcontrol for signs of compromise, including unauthorized access, data exfiltration, or persistence mechanisms
- Review network logs for suspicious outbound connections from affected systems
- Change credentials for any systems that may have been compromised
- Monitor for indicators of compromise related to spyware and information-stealing malware
- Check the OpenSSF malicious-packages repository for the complete list of affected packages and remove them
Sources
- GitHub Advisory GHSA-23rx-f4x8-f767 · GitHub Advisory Database
Cite this entry
"Malicious code in adcontrol (PyPI)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 21, 2026; last updated July 21, 2026. https://supplychainattack.org/incident/malicious-code-in-adcontrol-pypi-1ipqsk
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