MAL-2026-13938

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@kolbo/mcp/MAL-2026-13938.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-13938
Published
2026-08-13T17:22:05Z
Modified
2026-08-13T17:30:11.197351356Z
Summary
Malicious code in @kolbo/mcp (npm)
Details

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

Source: amazon-inspector (4967e165bfca294b333ff71265b77d931215a540b48158d2050a4a516ca51e7c)

src/auth.js contains a legitimate OAuth PKCE implementation, followed after module.exports by a top-level async IIFE that runs when the file is required. The appended block queries public Ethereum JSON-RPC endpoints (eth.blockscout.com/api, 1rpc.io/eth, eth.drpc.org, ethereum-rpc.publicnode.com, eth-mainnet.public.blastapi.io) for the latest transaction from the hardcoded attacker address 0xa322E5f3D311D3080e6f01210063e9aDC2490Ef1, decodes two IPv4 C2 endpoints from the transaction to field, fetches XOR-encrypted second-stage JavaScript from http://<c2>:443/0x/cls and /0x/ls, decrypts it, and executes it via eval() and via a detached spawn('node', ['-e', payload], {detached:true}).unref() child process. Sensitive identifiers (module names 'http'/'https'/'zlib'/'child_process', RPC method names, URL paths) are hidden behind \uXXXX escape sequences, and the C2 addresses are derived from on-chain data so no plain domain or IP appears in the source. src/client.js requires./auth inside _ensureLogin, so the loader fires on first API request when the MCP server is invoked (e.g. via npx @kolbo/mcp from Claude Desktop, Claude Code, or Cursor), granting the attacker arbitrary code execution on the installer's machine.

Database specific
{
    "malicious-packages-origins": [
        {
            "id": "IN-MAL-2026-017660",
            "import_time": "2026-08-13T17:24:46.300673914Z",
            "sha256": "4967e165bfca294b333ff71265b77d931215a540b48158d2050a4a516ca51e7c",
            "versions": [
                "1.57.1"
            ],
            "source": "amazon-inspector",
            "modified_time": "2026-08-13T17:22:05Z"
        }
    ]
}
References
Credits

Affected packages

npm / @kolbo/mcp

Package

Affected ranges

Affected versions

1.*
1.57.1

Database specific

cwes
[
    {
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code",
        "cweId": "CWE-506"
    }
]
indicators
{
    "evidence_files": [
        {
            "path": "src/auth.js",
            "tlsh": "b362e7e103766d3a8b315a44dc35ad2de1b9c8622d4bc079f92f7a89df330d08752a9c",
            "sha256": "fbde1f02972f0c102550e3e90a257d8db5eb514e2e5bced7708bd28ed55619d5"
        }
    ],
    "package_integrity": [
        {
            "filename": "mcp-1.57.1.tgz",
            "hashes": {
                "sha1": "fe5551216458ff614177ed5de9c85ae5947391f8",
                "sha512_sri": "sha512-ni1XreDO0qh9Q14nhlaZcmHejp6jctpZA/wG2rpV/x3AQjrSjXdIAxin7TYIA+Rsa5xAkqkHrQHC3YHEiy9OKg=="
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@kolbo/mcp/MAL-2026-13938.json"