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.
- Disclosed
- Last updated
- Blast radius
- Potentially thousands of installations; part of a large-scale malicious package campaign affecting both PyPI and NPM ecosystems.
- Ecosystems
- Attack vectors
- Threat actor
- Affected entities
- adtoolPyPI package containing malicious code
The adtool package published on PyPI was identified as containing malicious code designed to execute spyware and information-stealing malware on affected systems. This incident was part of a coordinated campaign by the EsqueleSquad group.\n\nThe EsqueleSquad group published nearly 6,000 malicious packages across both the PyPI and NPM ecosystems as part of this campaign. The malicious packages were designed to compromise systems and steal sensitive information from users and organizations.\n\nThis incident was documented and credited to the OpenSSF's malicious-packages repository, which tracks confirmed malicious package incidents across major package ecosystems.
Indicators of compromise
- Packages
- adtool
Remediation
- Immediately remove or uninstall the adtool package from all systems where it was installed
- Audit systems that may have executed the adtool package for signs of compromise, including unauthorized access, data exfiltration, or persistence mechanisms
- Review and revoke any credentials or sensitive information that may have been exposed
- Monitor for indicators of compromise related to spyware or information-stealing malware
- Check PyPI and NPM repositories for other packages from the same campaign and remove them
- Implement package verification and scanning in your dependency management workflow
Sources
- GitHub Advisory GHSA-xcqv-7j82-46f3 · GitHub Advisory Database
Cite this entry
"Malicious code in adtool (PyPI)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 21, 2026; last updated July 21, 2026. https://supplychainattack.org/incident/malicious-code-in-adtool-pypi-yedgt5
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- resolvedhigh
Malicious code in riakcs (PyPI)
The riakcs package on PyPI contained malicious code that exfiltrates basic host information (IP address, username) during installation. The package overrides the install command in setup.py to execute the malicious payload when installed.
PyPICompromised package - containedcritical
Malicious code in fastapii (PyPI)
The fastapii package on PyPI is a typosquatting attack imitating the popular FastAPI library. During installation, it executes obfuscated code that downloads and runs a malicious executable, exfiltrating cryptocurrency wallet data and potentially other sensitive information.
2026 08 FlasqPyPITyposquattingCompromised package - containedcritical
Malicious code in idnna (PyPI)
A malicious package named idnna was published to PyPI, imitating a legitimate library. During installation, the package executes obfuscated code that downloads and runs a malicious executable, exfiltrating cryptocurrency wallet data and potentially other sensitive information.
PyPITyposquattingCompromised package - containedcritical
Malicious code in pydanticc (PyPI)
The PyPI package pydanticc is a typosquatting attack imitating the popular pydantic library. During installation, it executes obfuscated code that downloads and runs a malicious executable, exfiltrating cryptocurrency wallet data and potentially other sensitive information.
2026 08 FlasqPyPITyposquattingCompromised package