Malicious code in yfinannce (PyPI)
Attacker distributed 900+ malicious packages via PyPI, including yfinannce, 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
- yfinannceTyposquatting variant of yfinance
An attacker distributed over 900 malicious packages via PyPI as part of a coordinated campaign. The yfinannce package (a typosquatting variant of the legitimate yfinance library) was among the malicious packages identified.
The malicious packages installed browser extensions that performed clipboard manipulation and cryptocurrency wallet address replacement attacks. This allowed attackers to intercept and modify cryptocurrency transactions by replacing legitimate wallet addresses with attacker-controlled addresses when users copied and pasted them.
The campaign was identified and documented by Checkmarx, with credit to the OpenSSF's malicious-packages repository for tracking and cataloging the incident. The packages have since been removed from PyPI.
Indicators of compromise
- Packages
- yfinannce
Remediation
- Remove yfinannce and any other suspicious packages from affected systems
- Audit installed packages for typosquatting variants and unknown dependencies
- Review browser extensions for unauthorized or suspicious installations
- Use the legitimate yfinance package instead of yfinannce
- Monitor cryptocurrency wallet transactions for unauthorized address changes
- Implement package verification and allowlisting in dependency management
Sources
- GitHub Advisory GHSA-ffwr-gwrj-xg24 · GitHub Advisory Database
Cite this entry
"Malicious code in yfinannce (PyPI)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 21, 2026; last updated July 21, 2026. https://supplychainattack.org/incident/malicious-code-in-yfinannce-pypi-1cq7t8
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