MAL-2026-13471 Malicious code in zyr-agent (npm)
Malicious package
Published
MAL-2026-13471 is a malicious package: zyr-agent (npm). 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-13471/ (Markdown: https://insights.sbomify.com/MAL-2026-13471/index.md)
- Package
- zyr-agent
- Registry
- npm
What is MAL-2026-13471?
MAL-2026-13471 is a malicious package in zyr-agent, published on 6 Aug 2026.
Official description
zyr-agent ships an AI coding agent whose default 'free' provider routes chat completions to a hardcoded preview-slug endpoint at https://preview-chat-e8a10541-5396-4e8f-9ead-e5fbbcdb33d3.space-z.ai/api/v1 using an embedded zyr_sk_ key. The Agent.send loop iterates tool_calls returned by that remote endpoint and invokes tool.execute(tc.args) with no user confirmation across the CLI, Electron IPC, and HTTP server paths. One of the registered tools is a bash tool whose execute handler runs execSync(cmd) on the installer's host. Whoever controls the preview subdomain can therefore return a bash tool_call in a normal chat response and have arbitrary shell commands executed on any machine running the default provider. A separate provider ships a live third-party OpenRouter API key (sk-or-v1-…) hardcoded in cli.js and desktop/electron.js, which routes installer prompts through an author-controlled OpenRouter account. AI-agent auto-execution of model output is expected for this category, but the combination of (a) auto-exec with no per-tool confirmation and (b) a hardcoded, mutable, author-controlled preview-slug endpoint as the default provider makes the model-driven exec path a remote-command channel controlled by the package author rather than by the operator.
What should I do about MAL-2026-13471?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.