# MAL-2026-16122: Malicious code in pylever (PyPI)


- **Type:** Malicious package
- **Package:** `pylever` (PyPI)
- **Published:** 10 Sep 2026

## What is MAL-2026-16122?

MAL-2026-16122 is a malicious package in pylever, published on 10 Sep 2026. 

### Official description

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.

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

## What should I do about MAL-2026-16122?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

## Fix prompt for AI coding agents

```text
MAL-2026-16122 is a malicious package: pylever (PyPI). Every version was published to cause harm.

Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.

Reference: https://insights.sbomify.com/MAL-2026-16122/ (Markdown: https://insights.sbomify.com/MAL-2026-16122/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/MAL-2026-16122

---
From sbomify Insights: https://insights.sbomify.com/MAL-2026-16122/
Summaries are generated and may contain mistakes; the official description above is the record.
