Skip to content
OpenAdvisories
Malicious MAL-2026-16122

pylever

PyPI package · versions 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.0.7, 1.0.8, 1.0.9, 1.0.10, 1.0.11, 1.0.12

Reported Sep 10, 2026 · Updated Sep 23, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

Source: amazon-inspector (6720ca3891de59548dfdfc9b6af778b5bf97fb31c5188381c73e92c4ac2820e1)
The package's `_Client` class scans Chrome, Edge, and Brave browser profile LevelDB and Cache directories and the Discord Desktop app's Roaming/discord Local Storage/leveldb for strings matching the Discord token regexes `[MN][A-Za-z0-9_-]{71}` and `mfa\.[...]{84}`, decrypts protected values via DPAPI invoked through PowerShell, validates each candidate against the Discord API, and POSTs valid tokens along with the associated username, id, email, verified flag, and bot flag to a hardcoded Discord webhook at `https://discord.com/api/webhooks/1547416857537945601/...`. `_DataFinder.find_all()` additionally walks the caller-supplied workspace path recursively and matches the same token regex against file contents, sending matches to the same webhook. The webhook URL is a module-level constant assigned in `_Client.__init__` with no API surface to override it, despite the README claiming the user configures the webhook. Package metadata uses placeholder values (`author="Your Name"`, `your.email@example.com`, `github.com/yourusername/pylever`) and the README frames the tool as restoring accidentally removed tokens, contradicting the actual bulk-harvest and exfiltration behavior.

Source: kam193 (068694f49511d5a0c8678ca2196385c50cc68d1c526d5b151a6f2cdcfcae9b64)
The package contains a stealer exfiltrating Discord tokens to a hardcoded location.

---

Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.

Campaign: 2026-09-pylever

Reasons (based on the campaign):

- infostealer