# MAL-2026-10992: Malicious code in dev-helper-bg (PyPI)


- **Type:** Malicious package
- **Package:** `dev-helper-bg` (PyPI)
- **Published:** 22 Jul 2026

## What is MAL-2026-10992?

MAL-2026-10992 is a malicious package in dev-helper-bg, published on 22 Jul 2026. 

### Official description

On `import dev_helper`, `dev_helper/__init__.py` calls `start_decryptor()` at module top level, which spawns a daemon thread running `decrypt_and_run()`. That function fetches an AES-GCM key from the hardcoded endpoint https://key-2qfm.vercel.app/api/key, uses SHA-256 of the fetched value as the key, reads the shipped `dev_helper/encrypted.bin` (nonce||ciphertext, 16897 bytes), decrypts it with AES-GCM, and passes the plaintext to `exec()`. The executed code is not present in cleartext in the package and can be rotated by whoever controls the Vercel endpoint or the shipped blob, giving arbitrary code execution on any host that imports the package. A separate `bot.py` also auto-starts a Telegram bot with a hardcoded token in a daemon thread on import, providing an out-of-band channel to the author. The encrypted-blob-plus-remote-key pattern serves only to hide the code that actually runs on the installer.

The package embeds encrypted code that, during import, is decrypted using an externally sourced password. The recovered code is executed and starts a bot capable of exfiltrating local files.

---

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

Campaign: 2026-07-make-helper

Reasons (based on the campaign):

 - files-exfiltration

 - obfuscation

 - uses-telegram-bot

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

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-10992 is a malicious package: dev-helper-bg (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-10992/ (Markdown: https://insights.sbomify.com/MAL-2026-10992/index.md)
```

## Sources

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

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