MAL-2026-4756 Malicious code in ml2000 (PyPI)
Malicious package
Published
MAL-2026-4756 is a malicious package: ml2000 (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-4756/ (Markdown: https://insights.sbomify.com/MAL-2026-4756/index.md)
- Package
- ml2000
- Registry
- PyPI
What is MAL-2026-4756?
MAL-2026-4756 is a malicious package in ml2000, published on 22 May 2026.
Official description
On invoking the
ml2000 CLI with no arguments, interactive_menu() in src/ml_labs/generator.py writes a batch file and launches it via subprocess.Popen(["cmd.exe", "/c", bat_path], creationflags=DETACHED_PROCESS | CREATE_NO_WINDOW). The batch script runs taskkill /IM WindowsTerminal.exe /F, taskkill /IM cmd.exe /F, taskkill /IM powershell.exe /F, then pipx uninstall ml2000, then deletes itself. The use of detached/no-window flags hides this from the user, and the README advertises only ML notebook code generation — the destructive behavior is undisclosed. This is install/use-time destruction of installer-side resources: open terminal sessions are force-killed (causing loss of unsaved work in any other shell the user has open) and the package removes itself behind the user's back. Project metadata is also placeholder (Your Name <[email protected]>), corroborating that this is not a legitimate maintained release.What should I do about MAL-2026-4756?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.