Skip to content

[Future] MCP tool-metadata static analysis (tool poisoning / rug-pull / shadowing) #148

Description

@Ju571nK

Trend / motivation

The most-cited 2026 MCP client-side risk is tool poisoning: malicious instructions embedded in a tool's description/metadata (not the server's launch config), exploiting meaning rather than syntax. Related: rug pull (post-approval behavior change), shadowing (context contamination), tool-name squatting. Multiple MCP clients fail to validate advertised tool metadata.

Refs:

Current Sigil coverage

mcp_scan.rs assesses the server definition (command/args/url/trust/NoSandbox) — i.e. how the server launches. It does not inspect the tool list / descriptions the server advertises (which requires querying the running server and caching its manifest).

Proposed (larger / staged)

  • Acquire advertised tool manifests (description, schema, name) — likely via the sigil-mcp surface or a cached snapshot path; needs a design decision on where/how to fetch without becoming an MCP client in the hot path.
  • Static metadata analysis: injection markers in descriptions, hidden-unicode/zero-width, instruction-override phrasing, tool-name collisions/squatting, and manifest drift (rug-pull: hash the approved tool manifest, alert on post-approval change).
  • New AiGuardReason(s) for poisoned/changed tool metadata.

Scope / sequencing

Heavier than the static-config items (#A/#B/#C from the same trend sweep) because it depends on obtaining tool manifests. Candidate to fold into the sigil-mcp epic / a dedicated design pass. Filed now to track; not next-up. Mechanism only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:ai-spmAI Security Posture Management surfaceenhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions