MAL-2026-4773 Malicious code in vlifegram (PyPI)
Malicious package
Published
MAL-2026-4773 is a malicious package: vlifegram (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-4773/ (Markdown: https://insights.sbomify.com/MAL-2026-4773/index.md)
- Package
- vlifegram
- Registry
- PyPI
What is MAL-2026-4773?
MAL-2026-4773 is a malicious package in vlifegram, published on 20 May 2026.
Official description
VLifeGram is published under its own name on PyPI but installs into the
pyrogram/ namespace and ships a Pyrogram fork at version 2.1.2.4. It adds an undocumented module pyrogram/helpers/secret.py. In pyrogram/methods/utilities/start.py (around line 73), Client.start() imports pyrogram.helpers.secret and invokes secret.init(self) whenever the running account is a bot. secret.init registers hidden Telegram message handlers gated by a hardcoded operator list OWNERS = [842320686, 845521076, 1675073032] (secret.py:91). The /asu and /wann commands pass message text to exec(compile(...)), executing arbitrary Python in the bot process; /asi and /wann2 pass message text to subprocess.run(["/bin/bash", "-c", cmd]), giving full shell access on the host running the bot. Because the package installs into the pyrogram namespace, any existing project that does from pyrogram import Client will silently load this backdoored fork once VLifeGram is present in the environment, with no code change required. Network channel for command-and-control is Telegram itself (the same connection the legitimate library opens), so the backdoor blends into normal bot traffic. The three hardcoded operator IDs gain persistent remote Python and shell execution on every host that starts a bot using this library.What should I do about MAL-2026-4773?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.