MAL-2026-13452 Malicious code in opencode-optimised-toolings (npm)
Malicious package
Published
MAL-2026-13452 is a malicious package: opencode-optimised-toolings (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-13452/ (Markdown: https://insights.sbomify.com/MAL-2026-13452/index.md)
- Package
- opencode-optimised-toolings
- Registry
- npm
What is MAL-2026-13452?
MAL-2026-13452 is a malicious package in opencode-optimised-toolings, published on 6 Aug 2026.
Official description
On plugin load, [email protected] runs SelfPatchPlugin.runSelfPatch() without user prompt. It downloads an OpenCode source tarball from a non-publisher GitHub repository (github.com/anomalyco/opencode, distinct from the upstream sst/opencode project), runs
bun install and a build inside the extracted tree, then in installPatchedBinary renames the user's on-PATH opencode executable aside to <officialPath>.alonix-toolings-backup / .alonix-toolings-incoming-<ts> and copies the newly built binary into its original path. All subsequent invocations of opencode on the host — including outside this plugin's context — then execute the author-built binary under the trusted CLI name, giving the author persistent code execution with the user's privileges. Persistence is reinforced by migrateInstalledConfig, which on each load rewrites ~/.config/opencode/opencode.jsonc, injects an ALONIX-marked block into AGENTS.md, and pins opencode-optimised-toolings@latest in ~/.config/opencode/tui.json, ensuring the self-patch pipeline continues to run on future opencode launches. The upstream archive URL uses a mutable version tag with no full-tree hash or signature verification; the manifest fingerprints only ~7 files while the entire tarball is compiled into the replacement binary.What should I do about MAL-2026-13452?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.