TC-2025-0007 · NPM · MCP

[email protected]

First documented malicious MCP server in the wild. Version 1.0.16 injected a covert BCC to [email protected] on every outbound email sent by the agent.

Signed ledger verdict

TC-2025-0007
Known bad (exit 2) npm:[email protected]

IOC & scope: npm:[email protected]. Verified by human review and signed into the CC-BY 4.0 OSV v1.6.0 feed.

Credited finder
Koi Security ↗
Recorded timestamp
2025-09-26
Canonical SHA-256
c73826f56331d257…
Local hook action
Block (exit 2)
01 8-Vector Capability X-Ray (ABOM) & OWASP Agentic Crosswalk

Deterministic capability profile and taxonomy mapping.

Every artifact in the threat.cafe ledger is profiled across eight execution vectors and mapped to the OWASP Top 10 for Agentic Applications (ASI01-ASI10) and Agentic Skills & Tools (AST01-AST10).

8-Vector Capability X-Ray (ABOM)

  1. 1. Filesystem
    Sensitive paths touched: None observed
  2. 2. Environment
    Variables harvested: POSTMARK_SERVER_TOKEN
  3. 3. Network
    Outbound egress domains: api.postmarkapp.com (covert BCC -> [email protected])
  4. 4. Subprocess
    Process execution primitives: None observed
  5. 5. Lifecycle
    Install / startup hooks: None observed
  6. 6. OAuth / MCP
    Declared scopes: email:send
  7. 7. Obfuscation
    Encoding / steganography: None observed
  8. 8. Provenance
    Attestation status: unpinned_npm_publish

Governance & detector mapping

  1. OWASP Agentic ASI (2026): ASI02 (Tool Misuse & Exploitation), ASI04 (Agentic Supply Chain Vulnerabilities)
  2. OWASP Agentic AST (2026): AST01 (Malicious MCP Servers), AST04 (Covert Channel Exfiltration)
  3. Deterministic rules matched: RULE_08_DESC_BEHAVIOR_MISMATCH

Version scoping & related records

Local CLI verification

$ threat-cafe-hook check "npm:[email protected]"
[threat.cafe] known_bad: npm:[email protected] (TC-2025-0007)
  Reason: First documented malicious MCP server in the wild. Version 1.0.16 injected a covert BCC to
  Source: https://thehackernews.com/2025/09/first-malicious-mcp-server-found.html (credited to Koi Security)

OSV v1.6.0 machine-readable record

Included in /feed.json under CC-BY 4.0 license and verified by /feed.json.sig.

{
  "schema_version": "1.6.0",
  "id": "TC-2025-0007",
  "modified": "2025-09-26T09:00:00Z",
  "published": "2025-09-26T09:00:00Z",
  "summary": "First documented malicious MCP server in the wild. Version 1.0.16 injected a covert BCC to [email protected] on every outbound email sent by the agent.",
  "affected": [
    {
      "package": {
        "ecosystem": "npm",
        "name": "postmark-mcp"
      },
      "versions": [
        "1.0.16"
      ]
    }
  ],
  "credits": [
    {
      "name": "Koi Security",
      "type": "FINDER"
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://thehackernews.com/2025/09/first-malicious-mcp-server-found.html"
    },
    {
      "type": "WEB",
      "url": "https://threat.cafe/incidents/tc-2025-0007/"
    }
  ],
  "database_specific": {
    "target": "npm:[email protected]",
    "kind": "mcp",
    "verdict": "known_bad",
    "ioc": "npm:[email protected]",
    "artifact_sha256": "c73826f56331d2570e158c426f629025d825a9e380aff447214d9bb997dd904e",
    "owasp_asi": [
      "ASI02",
      "ASI04"
    ],
    "owasp_ast": [
      "AST01",
      "AST04"
    ],
    "rules_matched": [
      "RULE_08_DESC_BEHAVIOR_MISMATCH"
    ],
    "abom": {
      "fs_sensitive": [],
      "env_harvest": [
        "POSTMARK_SERVER_TOKEN"
      ],
      "net_egress": [
        "api.postmarkapp.com (covert BCC -> [email protected])"
      ],
      "proc_exec": [],
      "install_hooks": [],
      "oauth_scopes": [
        "email:send"
      ],
      "obfuscation": [],
      "provenance": "unpinned_npm_publish"
    },
    "license": "CC-BY-4.0",
    "record_digest": "sha256:d768c698f30a40b7a80647d1404f1edf23c8b38ce31cf95892e82c20fb45aa55",
    "release_signature_url": "https://threat.cafe/feed.json.sig"
  }
}

Have additional IOCs or a maintainer remediation update for TC-2025-0007?

Maintainer disputes and version-scoping updates are reviewed by a human within our 48-hour dispute SLA.