Malicious code in yfinnance (PyPI)
Attacker distributed 900+ malicious packages via PyPI, including yfinnance, which installed malicious browser extensions designed to manipulate clipboard contents and replace cryptocurrency wallet addresses.
- Disclosed
- Last updated
- Blast radius
- 900+ malicious packages distributed via PyPI
- Ecosystems
- Attack vectors
- Affected entities
- yfinnancePyPI package
A large-scale malicious package campaign distributed over 900 compromised packages via PyPI. The yfinnance package was among those affected, containing code that installed malicious browser extensions on infected systems.\n\nThe malicious extensions were designed to intercept and manipulate clipboard data, specifically targeting cryptocurrency wallet addresses. This allowed attackers to replace legitimate wallet addresses with attacker-controlled addresses when users attempted to paste addresses for cryptocurrency transactions.\n\nThe incident was identified and documented by Checkmarx and credited to the OpenSSF malicious-packages repository, which tracks confirmed malicious package distributions across package ecosystems.
Indicators of compromise
- Packages
- yfinnance
Remediation
- Remove or uninstall the yfinnance package immediately
- Scan systems for malicious browser extensions and remove any suspicious extensions
- Review browser extension permissions and remove any extensions with clipboard access that are not explicitly trusted
- Audit recent cryptocurrency transactions for any suspicious wallet address replacements
- Update to a clean version of any legitimate package if available, or use alternative packages
- Monitor PyPI and security advisories for updates on affected packages
Sources
- GitHub Advisory GHSA-9fh3-jr44-89fq · GitHub Advisory Database
Cite this entry
"Malicious code in yfinnance (PyPI)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 21, 2026; last updated July 21, 2026. https://supplychainattack.org/incident/malicious-code-in-yfinnance-pypi-uc0kzn
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