MAL-2026-13452

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/opencode-optimised-toolings/MAL-2026-13452.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-13452
Published
2026-08-06T19:19:05Z
Modified
2026-08-06T23:50:17.761726789Z
Summary
Malicious code in opencode-optimised-toolings (npm)
Details

-= Per source details. Do not edit below this line.=-

Source: amazon-inspector (ae3527290ef726079347fab842fc46c8df96f07e2fa1734ebed7ee6ab10ed22c)

On plugin load, opencode-optimised-toolings@4.0.0 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.

Database specific
{
    "malicious-packages-origins": [
        {
            "sha256": "0d4488f61e4913693c997835e87c7cda48edd9b78ff2d46bcc7f63aac3add4de",
            "source": "amazon-inspector",
            "versions": [
                "3.4.0"
            ],
            "import_time": "2026-08-06T23:25:08.040199789Z",
            "modified_time": "2026-08-06T19:20:26Z",
            "id": "IN-MAL-2026-016762"
        },
        {
            "source": "amazon-inspector",
            "sha256": "ae3527290ef726079347fab842fc46c8df96f07e2fa1734ebed7ee6ab10ed22c",
            "versions": [
                "4.0.0"
            ],
            "import_time": "2026-08-06T23:25:07.880051591Z",
            "modified_time": "2026-08-06T19:19:17Z",
            "id": "IN-MAL-2026-016759"
        },
        {
            "sha256": "c75daf71b125e1c15e63f163138bf519bb16260cbb3bfe034c98bbff6e80feb1",
            "source": "amazon-inspector",
            "import_time": "2026-08-06T23:25:07.853193302Z",
            "modified_time": "2026-08-06T19:19:05Z",
            "versions": [
                "4.0.1"
            ],
            "id": "IN-MAL-2026-016758"
        }
    ]
}
References
Credits

Affected packages

npm / opencode-optimised-toolings

Package

Name
opencode-optimised-toolings
View open source insights on deps.dev
Purl
pkg:npm/opencode-optimised-toolings

Affected ranges

Affected versions

3.*
3.4.0
4.*
4.0.0
4.0.1

Database specific

indicators
{
    "package_integrity": [
        {
            "hashes": {
                "sha1": "a62635f677a50f173f9b9b8d8bc472b68ad7d88e",
                "sha512_sri": "sha512-OGuKm645nXU3E6oJIfN66V/C+wcnglWYEjeNWz2sCrcWgWpQCseoVGTPq4XMdP1GDRB6C+pAV/WcwbAvUf6hOw=="
            },
            "filename": "opencode-optimised-toolings-3.4.0.tgz"
        }
    ],
    "evidence_files": [
        {
            "path": "packages/selfpatch/lib/pipeline.js",
            "sha256": "a77759848bcc2b946b927e34354538c8ec88214e5a3eb181da666765684252d0",
            "tlsh": "4ee2c86324f802724f4266d0a96f12666335c227750a2c94fa8d42d43f5e17ecbf7eda"
        },
        {
            "path": "packages/bootstrap/index.js",
            "sha256": "047bf11b0bb9a18a1e5092326f98b9f7bee640b3b3aa74f7e9ea207e0b5162f3",
            "tlsh": "c5029443b1bc1f734f812ba4a01390b87e395bd03254ca82f65d77d8b80a6a5d1e79ed"
        }
    ]
}
cwes
[
    {
        "description": "The product contains code that appears to be malicious in nature.",
        "cweId": "CWE-506",
        "name": "Embedded Malicious Code"
    },
    {
        "description": "The product contains code that appears to be malicious in nature.",
        "cweId": "CWE-506",
        "name": "Embedded Malicious Code"
    },
    {
        "description": "The product contains code that appears to be malicious in nature.",
        "cweId": "CWE-506",
        "name": "Embedded Malicious Code"
    }
]
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/opencode-optimised-toolings/MAL-2026-13452.json"