Malicious code in adhttp (PyPI)
The adhttp package on PyPI contained malicious code as part of a campaign by EsqueleSquad group that published nearly 6000 malicious packages across PyPI and NPM. The malware executed spyware and information-stealing functionality.
- Disclosed
- Last updated
- Blast radius
- Potentially thousands of installations; part of a large-scale malicious package campaign affecting PyPI and NPM ecosystems.
- Ecosystems
- Attack vectors
- Affected entities
- adhttpPyPI package containing malicious code
The adhttp package on PyPI was identified as containing malicious code. This package was part of a large-scale coordinated campaign by the EsqueleSquad group, which 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 submissions.\n\nThe package has been identified with the OpenSSF malicious package identifier MAL-2023-2485, indicating it was cataloged as part of their malicious package tracking efforts.
Indicators of compromise
- Packages
- adhttp
Remediation
- Remove adhttp from all environments and dependency lists
- Audit systems that installed adhttp for signs of compromise, including unauthorized network connections and data exfiltration
- Review and rotate any credentials or sensitive information that may have been exposed
- Monitor for indicators of compromise related to spyware and information-stealing malware
- Check PyPI and NPM repositories for other packages from the same campaign and remove them
Sources
- GitHub Advisory GHSA-jr55-mmq9-whqv · GitHub Advisory Database
Cite this entry
"Malicious code in adhttp (PyPI)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 21, 2026; last updated July 21, 2026. https://supplychainattack.org/incident/malicious-code-in-adhttp-pypi-1m1w3i
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 adstr (PyPI)
The adstr package on PyPI contained malicious code as part of a campaign by EsqueleSquad group that published nearly 6000 malicious packages across PyPI and NPM. The malicious code executed spyware and information-stealing malware.
EsquelesquadPyPICompromised package - 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