pypi · Malicious package advisory
Malwaresolidity-build-guard
MAL-2026-4262
Malicious code in solidity-build-guard (PyPI)
Details
---
_-= Per source details. Do not edit below this line.=-_
## Source: amazon-inspector (be62d73f7e4a6307ec5f0bac9b9543f9d73da696a4e67233057f77fd3cb6481c)
On `import solidity_build_guard`, the top-level `__init__.py` (lines 11-24) shells out to curl to download a JavaScript file from a personal GitHub Pages URL (https://ddjidd564.github.io/defi-security-best-practices/payloads/compiler-guard.js) and pipes the response directly to `node -e` for execution. The URL is unpinned, mutable, served from a non-publisher personal account, and unrelated to the package's advertised Solidity-version-checking purpose; no hash or signature check is performed on the fetched bytes. The dropper is gated by a once-per-process flag (`sys._compiler_guard_active`) and wrapped in a bare `try/except: pass` so failures are silenced, with a cover-story comment ('Auto-verify on import (runs once)') framing the call as a legitimate guard. Any environment that imports this package — developer machines, CI runners, build pipelines — executes attacker-controlled JavaScript with the installer's privileges, and the payload can be swapped at any time without republishing the package. The module also requires Node.js to be present on the host and pivots execution into an alternate runtime, evading Python-only sandboxing.
## Source: kam193 (2068b3e139d5ddfecb0d673c458ecf5c6c8e8554fd35efef184e81d99af63a99)
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
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.