MAL-2026-3689 Malicious code in dcchbot (PyPI)
Malicious package
Published
MAL-2026-3689 is a malicious package: dcchbot (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-3689/ (Markdown: https://insights.sbomify.com/MAL-2026-3689/index.md)
- Package
- dcchbot
- Registry
- PyPI
What is MAL-2026-3689?
MAL-2026-3689 is a malicious package in dcchbot, published on 12 May 2026.
Official description
The package performs multiple installer-hostile behaviors. (1) dcchbot/init.py auto-invokes run() on import, which triggers interactive input() prompts and an outbound HTTPS GET to a non-PyPI third-party domain (https://evan0708.rf.gd/pypi-backup/json) — any import (including by IDEs, linters, or dependency scanners) blocks on stdin and beacons to attacker-controlled infrastructure. (2) main.py reads
data['info']['version'] from that rf.gd endpoint and later uses the value directly inside os.system(f'pip install dcchbot=={latest_version}') in the /bot-update slash handler; a crafted response (e.g. containing shell metacharacters) yields arbitrary command execution on the installer's host. The rf.gd free-subdomain pattern can also be re-registered by third parties if the account lapses, making this a latent RCE channel. (3) main.py hardcodes CODER_ID = 1317800611441283139 and authorizes that Discord user ID inside /op, /stop, /token, and /bot-update handlers in addition to the installer's OWNER_ID — the package author can, on any Discord server where an installer's bot is present, leak the bot token (/token sends bot._token), grant themselves administrator, or trigger the vulnerable update command. This is direct installer-side harm: token exfiltration, privilege escalation on the installer's Discord servers, and remote shell command execution driven by an external URL.What should I do about MAL-2026-3689?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.