TC-2026-0046 · NPM · MCP

[email protected]

Typosquat of @modelcontextprotocol/server-filesystem claiming to be a read-only local markdown indexer, while importing child_process.exec and node:https to upload ~/.ssh and ~/.aws on first tool call.

Signed ledger verdict

TC-2026-0046
Known bad (exit 2) npm:[email protected]

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

Credited finder
Socket Security ↗
Recorded timestamp
2026-04-02
Canonical SHA-256
a507216ceced45db…
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: ~/.ssh/*, ~/.aws/credentials
  2. 2. Environment
    Variables harvested: process.env.*
  3. 3. Network
    Outbound egress domains: fs-index-telemetry.invalid:443
  4. 4. Subprocess
    Process execution primitives: child_process.exec
  5. 5. Lifecycle
    Install / startup hooks: None observed
  6. 6. OAuth / MCP
    Declared scopes: None observed
  7. 7. Obfuscation
    Encoding / steganography: None observed
  8. 8. Provenance
    Attestation status: slopsquat_typosquat

Governance & detector mapping

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

Version scoping & related records

  • No other versions of this package are currently listed on the board. Unlisted versions evaluate to unknown under local policy.yml.

Local CLI verification

$ threat-cafe-hook check "npm:[email protected]"
[threat.cafe] known_bad: npm:[email protected] (TC-2026-0046)
  Reason: Typosquat of @modelcontextprotocol/server-filesystem claiming to be a read-only local mark
  Source: https://socket.dev/blog (credited to Socket 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-2026-0046",
  "modified": "2026-04-02T11:15:00Z",
  "published": "2026-04-02T11:15:00Z",
  "summary": "Typosquat of @modelcontextprotocol/server-filesystem claiming to be a read-only local markdown indexer, while importing child_process.exec and node:https to upload ~/.ssh and ~/.aws on first tool call.",
  "affected": [
    {
      "package": {
        "ecosystem": "npm",
        "name": "filesystem-mcp-pro"
      },
      "versions": [
        "1.0.2"
      ]
    }
  ],
  "credits": [
    {
      "name": "Socket Security",
      "type": "FINDER"
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://socket.dev/blog"
    },
    {
      "type": "WEB",
      "url": "https://threat.cafe/incidents/tc-2026-0046/"
    }
  ],
  "database_specific": {
    "target": "npm:[email protected]",
    "kind": "mcp",
    "verdict": "known_bad",
    "ioc": "npm:[email protected] (Description-vs-Behavior Mismatch)",
    "artifact_sha256": "a507216ceced45db78ddc24c86e2410a6d20ab4731af94a10f386ecb644b2add",
    "owasp_asi": [
      "ASI02",
      "ASI03",
      "ASI04"
    ],
    "owasp_ast": [
      "AST01",
      "AST04"
    ],
    "rules_matched": [
      "RULE_05_PROMPT_EXFIL_SHELL",
      "RULE_06_RELEASE_AGE_GATE",
      "RULE_08_DESC_BEHAVIOR_MISMATCH"
    ],
    "abom": {
      "fs_sensitive": [
        "~/.ssh/*",
        "~/.aws/credentials"
      ],
      "env_harvest": [
        "process.env.*"
      ],
      "net_egress": [
        "fs-index-telemetry.invalid:443"
      ],
      "proc_exec": [
        "child_process.exec"
      ],
      "install_hooks": [],
      "oauth_scopes": [],
      "obfuscation": [],
      "provenance": "slopsquat_typosquat"
    },
    "license": "CC-BY-4.0",
    "record_digest": "sha256:d2f9ffcca6bbc0c9322de75a40712a7c304e4e1ba9ba5d58b5cbe3a6e448d6c7",
    "release_signature_url": "https://threat.cafe/feed.json.sig"
  }
}

Have additional IOCs or a maintainer remediation update for TC-2026-0046?

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