MAL-2026-10473

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/claude-team-tracker/MAL-2026-10473.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-10473
Published
2026-07-13T19:05:05Z
Modified
2026-07-13T19:46:54Z
Summary
Malicious code in claude-team-tracker (npm)
Details

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

Source: amazon-inspector (a7e9f6179a67a2904c37bd9cff22174a8c57755972fc878047993c35c03f5544)

On install, postinstall.js opens /dev/tty directly to bypass npm's stdio piping and force-spawns a 'setup' subcommand with the real terminal attached. The setup flow installs aggressive persistence (cron + systemd --user with loginctl enable-linger on Linux; LaunchAgent with KeepAlive on macOS) for a long-polling daemon. The daemon polls tracker.clawodoo.com/api/commands and, upon receiving an update_client command, executes npm install -g <server-supplied package@version> via execSync and then re-execs itself (spawn detached on process.argv) — giving the operator of tracker.clawodoo.com a stable remote-code-push channel that runs any package/version system-wide on every installed host. Separately, lib/rate-limits.js reads the user's Anthropic OAuth access token from ~/.claude/.credentials.json, calls api.anthropic.com/api/oauth/profile to retrieve the account's email, full name, account UUID, organization UUID, organization name, and subscription tier, and reporter.js POSTs that identity profile plus machine_id and hostname to tracker.clawodoo.com/api/report. The combination — persistent server-controlled remote update channel plus exfiltration of Anthropic account identity and org membership to a hardcoded author endpoint — is an installer-side backdoor with credential-adjacent identity disclosure regardless of the package's 'team usage tracker' framing.

Database specific
{
    "malicious-packages-origins": [
        {
            "id": "IN-MAL-2026-010291",
            "import_time": "2026-07-13T19:37:58.303489535Z",
            "modified_time": "2026-07-13T19:05:05Z",
            "sha256": "a7e9f6179a67a2904c37bd9cff22174a8c57755972fc878047993c35c03f5544",
            "source": "amazon-inspector",
            "versions": [
                "1.2.1"
            ]
        },
        {
            "id": "IN-MAL-2026-010292",
            "import_time": "2026-07-13T19:37:58.357868389Z",
            "modified_time": "2026-07-13T19:05:13Z",
            "sha256": "fece5b3056601b0c9ff7a584f268d1c3807d1fbd838f0a428282534f50ebd38b",
            "source": "amazon-inspector",
            "versions": [
                "1.2.0"
            ]
        },
        {
            "id": "IN-MAL-2026-010293",
            "import_time": "2026-07-13T19:37:58.411620473Z",
            "modified_time": "2026-07-13T19:05:21Z",
            "sha256": "f7c2919961771195b62d25929e5c43b28c088cb65a1c9904aa1e59616243f598",
            "source": "amazon-inspector",
            "versions": [
                "1.2.2"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / claude-team-tracker

Package

Name
claude-team-tracker
View open source insights on deps.dev
Purl
pkg:npm/claude-team-tracker

Affected ranges

Affected versions

1.*
1.2.0
1.2.1
1.2.2

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"
    },
    {
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code"
    }
]
indicators
{
    "evidence_files": [
        {
            "path": "lib/poller.js",
            "sha256": "5a9a32850eaea296a2a17da850bd8834a865aac786aca64a6a25217f22e77a61",
            "tlsh": "40514eaf06ff6a3501b265c8e3334032293be2033105e8e4b75d92152f0e55899b2ded"
        },
        {
            "path": "lib/rate-limits.js",
            "sha256": "87785baf145803d419b332af06beb84357fb38716500af4c9538f685ab141d0d",
            "tlsh": "af71219781fa30198a91bd9ae74781213136d41336c2edd473bca5812f1bb9492b3fe5"
        },
        {
            "path": "lib/setup.js",
            "sha256": "ab74c48d834ee541f95a16e289c36dea493202af90f0e9a2163e362a808156d1",
            "tlsh": "66f193a087f6a1391cf216963b5b003b2a0be1572916e8e873dd43454fcec14a1b36fe"
        },
        {
            "path": "bin/postinstall.js",
            "sha256": "ba2efd92bc3748a09b99d82f7a58754584b507caf4cebc8f131269d15b5d176c",
            "tlsh": "e131000a09ff2b2536f118d9eb878032ac16d013220ca7f8b5dfc3547f4a1649a925fb"
        }
    ],
    "package_integrity": [
        {
            "filename": "claude-team-tracker-1.2.1.tgz",
            "hashes": {
                "sha1": "7b52223104e3872d0a11830a8119564fc81ce1fe",
                "sha512_sri": "sha512-5hOWoyrO+S6jGJGg0/PkBWTm3kxy3Q+JLStWL/D8KqXHa6wm51TVyOLKGm606n0ZTCG+/J3XZxQ5K+gGD0rgTQ=="
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/claude-team-tracker/MAL-2026-10473.json"