MAL-2026-4485

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/withdrawn/npm/atel-mcp-openclaw/MAL-2026-4485.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-4485
Withdrawn
2026-05-26T18:33:09Z
Published
2026-05-25T11:50:05Z
Modified
2026-05-27T00:32:12Z
Summary
Malicious code in atel-mcp-openclaw (npm)
Details

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

Source: amazon-inspector (b1e4255e19fdb4f0352f184f35599be81651badab879e4f39d0f3bb4fda4a58e)

The package contains multiple structural fingerprints of an active credential-stealer / C2 implant. bin/install.js performs lifecycle-time HTTP POSTs (lines 245, 534, 688, 924) and fetch calls (line 533), executing network activity during npm install. src/setup.js fetches https://api.ipify.org and reads process.env, capturing the installer's public IP and environment for outbound transmission. src/tg-dispatch.js hard-codes https://api.telegram.org as the command-and-control endpoint, with a Telegram bot POST channel at line 416 and process.env reads at lines 54 and 71 — the canonical Telegram-bot-as-C2 pattern. src/tool.js contains five POST sites (lines 10, 16, 310, 355, 377) and base64 decoding via Buffer.from(..., 'base64'). src/listener.js, src/heartbeat.js, and src/poll-loop.js implement long-running heartbeat / polling / listener loops with additional base64-decoded payloads — the runtime backdoor surface. Combined, the package exhibits at least three independent block fingerprints: install-time outbound network with environment scraping, hardcoded Telegram C2 endpoint, and a persistent polling/heartbeat backdoor with base64-decoded payloads.

Database specific
{
    "malicious-packages-origins": [
        {
            "id": "IN-MAL-2026-004634",
            "import_time": "2026-05-26T05:52:59.438136346Z",
            "modified_time": "2026-05-25T11:59:09Z",
            "sha256": "095348c1a84e62e3f14c0a883920051853fa0b3ad225680b89f95677d8f0243f",
            "source": "amazon-inspector",
            "versions": [
                "0.6.44"
            ]
        },
        {
            "id": "IN-MAL-2026-004633",
            "import_time": "2026-05-26T05:52:59.318735902Z",
            "modified_time": "2026-05-25T11:50:05Z",
            "sha256": "b1e4255e19fdb4f0352f184f35599be81651badab879e4f39d0f3bb4fda4a58e",
            "source": "amazon-inspector",
            "versions": [
                "0.6.43"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / atel-mcp-openclaw

Package

Name
atel-mcp-openclaw
View open source insights on deps.dev
Purl
pkg:npm/atel-mcp-openclaw

Affected ranges

Affected versions

0.*
0.6.43
0.6.44

Database specific

cwes
[
    {
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code"
    },
    {
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code"
    }
]
indicators
{
    "evidence_files": [
        {
            "path": "bin/install.js",
            "sha256": "a2bb1550b2599d6ad10af2a701fe06f6a0a135912bc89016500d73a662424299",
            "tlsh": "a443191647ba02370ea39356aa4f10767b69d2522309f8a472dd53987f4a43c423b7ff"
        },
        {
            "path": "src/heartbeat.js",
            "sha256": "9c03580913e7b90683f63c018056e937b8fa67c291461824fd22f97f0aa80039",
            "tlsh": "b102a5191df3462189b312529b4b50ba7f1ca603390ee4e973dcd749af9551cc263bec"
        },
        {
            "path": "src/listener.js",
            "sha256": "9e86864a06ae1ffca7614bb537b1326ae96e49c3e0e0d918df8ee33d6783f205",
            "tlsh": "c4f2d84527f652320aa6a657ab4f5ce2f725f0833e08d464b64dc3e86f8d41c83b46f5"
        },
        {
            "path": "src/poll-loop.js",
            "sha256": "53d84bd763d20563588bb9ea65ffbb42d2470ebb2aeb82b70b8eeb4dd4d10bef",
            "tlsh": "2f32d7593bf7943204e76157379b6471e23a81072c5de8e876cc83146f9d82cc2b6be8"
        },
        {
            "path": "src/setup.js",
            "sha256": "4321300785b134fca82b893a2f94de5de7dd4d47e48e30efe1e977c080a8876e",
            "tlsh": "e032a64983f794378eea63a76f4f707572679102110cd9a872ce82e07f074648ab97dd"
        },
        {
            "path": "src/tg-dispatch.js",
            "sha256": "a47109556f8f56a55bc85bb2f59ee96c929ee54af7c5f55439fb408df344d559",
            "tlsh": "e8b2fa9911f361120e6612b55b4fb826be24f4473e0ac8f4ba8fd2589f4b058c1b5efd"
        },
        {
            "path": "src/tool.js",
            "sha256": "029c714b91680d5cb0ba3d7f0f183cddf17a14d28c4f71cee77ca8e56ed2b4e9",
            "tlsh": "efe2191666f211338997d35a9b4b6071b738a1033e49f86076de53182f8d12dc273afe"
        }
    ],
    "package_integrity": [
        {
            "filename": "atel-mcp-openclaw-0.6.44.tgz",
            "hashes": {
                "sha1": "3f436d86675af4a563d04aba6f52b6733c133e64",
                "sha512_sri": "sha512-ujJdlaB43WEkL9T5D6cnOHMglXP4gyFMfyM1ERfFFOJCaJ56xStcm0+U6N243xGiXfrRth8TXUsLL90LTDgMqQ=="
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/withdrawn/npm/atel-mcp-openclaw/MAL-2026-4485.json"