Malicious code in adgrand (PyPI)
The adgrand package on PyPI contained malicious code as part of a campaign by EsqueleSquad group that published nearly 6000 malicious packages across PyPI and NPM ecosystems. The malicious code executed spyware and information-stealing malware.
- Disclosed
- Last updated
- Blast radius
- Potentially thousands of installations; part of a campaign distributing nearly 6000 malicious packages across PyPI and NPM.
- Ecosystems
- Attack vectors
- Threat actor
- Affected entities
- adgrandPyPI package containing malicious code
The adgrand package on PyPI was identified as containing malicious code. This package was part of a large-scale campaign by the EsqueleSquad group that published nearly 6000 malicious packages across both PyPI and NPM repositories.\n\nThe malicious code in these packages was designed to execute spyware and information-stealing malware on affected systems. The incident was documented and credited to the OpenSSF's malicious-packages repository, which tracks confirmed malicious package distributions.\n\nThe package has been identified with the malicious package identifier MAL-2023-2483 in the OpenSSF tracking system.
Indicators of compromise
- Packages
- adgrand
Remediation
- Remove adgrand from all environments and dependencies
- Audit systems that installed adgrand for signs of compromise, including unauthorized access, data exfiltration, or persistence mechanisms
- Review and rotate 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 EsqueleSquad campaign and remove them
Sources
- GitHub Advisory GHSA-h696-66ch-r3r8 · GitHub Advisory Database
Cite this entry
"Malicious code in adgrand (PyPI)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 21, 2026; last updated July 21, 2026. https://supplychainattack.org/incident/malicious-code-in-adgrand-pypi-77fcb8
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