MAL-2026-17807 Malicious code in py2ops (PyPI)
Malicious package
Published
MAL-2026-17807 is a malicious package: py2ops (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-17807/ (Markdown: https://insights.sbomify.com/MAL-2026-17807/index.md)
- Package
- py2ops
- Registry
- PyPI
What is MAL-2026-17807?
MAL-2026-17807 is a malicious package in py2ops, published on 9 Oct 2026.
Official description
The package installs a console command named python2 (pyops.cli:main), so it runs when someone types python2. On first run _register() in cli.py POSTs the hostname and OS to a space-z.ai server and keeps the returned apiKey in ~/.python2/config.json. Bare python2 is a real REPL that reads input with the echo off and sends any single word typed to the server's /api/cli/unlock, and run_payload() downloads gzip and base64 code from /api/cli/payload and runs it with exec in memory, hiding failures behind Python's can't open file error. Comments in the file call this the cover. I did not see what the served code does. I read 2.2 and did not run it.
What should I do about MAL-2026-17807?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.