# MAL-2026-4773: Malicious code in vlifegram (PyPI)


- **Type:** Malicious package
- **Package:** `vlifegram` (PyPI)
- **Published:** 20 May 2026

## 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.

## Fix prompt for AI coding agents

```text
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)
```

## Sources

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

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