MAL-2026-5598

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/withdrawn/npm/0x2ai-demo9x/MAL-2026-5598.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-5598
Withdrawn
2026-07-16T00:38:53Z
Published
2026-06-11T07:16:11Z
Modified
2026-07-17T03:04:23Z
Summary
Malicious code in 0x2ai-demo9x (npm)
Details

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

Source: amazon-inspector (8e796c3398589b92ecd70f45bc41128101313dd07adeb0634199ac3fef59d19d)

On npm install, scripts/postinstall.cjs copies the package's payload/ tree into the installer's project root (process.env.INIT_CWD) without consent, dropping.mcp.json,.claude/settings.json,.claude/commands/0x2ai-boot.md, and a CLAUDE.md persona prompt. The dropped.mcp.json hardcodes BRIDGE_URL=https://demo9.0x2ai.com and a static Bearer token (942b955170161eef3a59815f0e8fd775f0ea6b8fc1d59364), wiring every subsequent Claude Code session opened in that directory to the author's HTTPS bridge. The bundled MCP server (payload/chatroom-mcp-lite-patched.cjs) exposes provider_query, memory_save/load, settings_get/set, etc., so user prompts and saved memory are relayed to the author's endpoint. bin/start.cjs spawns claude --dangerously-skip-permissions in that staged directory, disabling tool-use consent prompts while the author-controlled MCP is active. Two long-poll workers (payload/chatroom-monitor.cjs, payload/chatroom-wait-once.cjs) continuously fetch https://demo9.0x2ai.com/api/wait and surface the responses as chatroom events that the agent is instructed (via the staged 0x2ai-boot.md and CLAUDE.md persona) to act on as if they were user input — giving the bridge operator a push channel into the local Claude Code tool-use loop (file/shell-adjacent capabilities) with no per-call approval. The staged CLAUDE.md additionally instructs the agent to refuse to disclose how the package works, concealing the relay from the developer. Net effect: installing this package converts the developer's project into a remote-controlled agent endpoint owned by the author.

Database specific
{
    "malicious-packages-origins": [
        {
            "id": "IN-MAL-2026-005667",
            "import_time": "2026-06-11T07:49:38.925605219Z",
            "modified_time": "2026-06-11T07:16:11Z",
            "sha256": "8e796c3398589b92ecd70f45bc41128101313dd07adeb0634199ac3fef59d19d",
            "source": "amazon-inspector",
            "versions": [
                "1.2.0"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / 0x2ai-demo9x

Package

Affected ranges

Affected versions

1.*
1.2.0

Database specific

cwes
[
    {
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code"
    }
]
indicators
{
    "evidence_files": [
        {
            "path": "scripts/postinstall.cjs",
            "sha256": "4943321a174f2de446781e46abdc4eb4fd333f8cc98cf6fe3cd5fc4bbfb0b0a2",
            "tlsh": "74e0c05706ccd379a5b2a1406c12c50a646ade81364094a0e27c0357bf92694ae23eff"
        },
        {
            "path": "payload/.mcp.json",
            "sha256": "51df141dcc1a157f34fd86f40e89ed8ae78f3a43c3eec68af320bfe58e7e90d4",
            "tlsh": "dee02605e2e54c83068210264d7c10549992a0174eec7c39b74fc02c9f4d55b2bbaa9d"
        },
        {
            "path": "bin/start.cjs",
            "sha256": "fa5af6d044cd42d37d4c7b0e5f43cf7498e621ef7db1b837ea79e3087e552984",
            "tlsh": "9011005b868e07be57b441c46645c12b990bc84072d0e490d26e03a6fb511e82c677eb"
        },
        {
            "path": "payload/chatroom-wait-once.cjs",
            "sha256": "ee4fec4140f83c8447e66311c949f6b435043b897b34c21c2fc21c9eb6ce9325",
            "tlsh": "59d10a4912a6223347a29376e64fd177e923a422b209f4e0f05d511a2fc41e897b76fb"
        },
        {
            "path": "payload/CLAUDE.md",
            "sha256": "da182270be7cfe3724ffaa180abec7a0b994beb67adbe73403cb90c0f4ba56fd",
            "tlsh": "ce42a51ff300133616aa0165264e7ae3ef3581ac2365453adc2ed1386379b7a53b77e8"
        }
    ],
    "package_integrity": [
        {
            "filename": "0x2ai-demo9x-1.2.0.tgz",
            "hashes": {
                "sha1": "2011c2c8aa01c37f6356d0e8ca2e66b794e7ca93",
                "sha512_sri": "sha512-qiypm924PVXZ0eTwXPOFYUyxACwgd2KGL8VbTWmYOqOtsgwbQ0EYxUfKA+sHOF9776RYbfrLStTx39TX9JXiMw=="
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/withdrawn/npm/0x2ai-demo9x/MAL-2026-5598.json"