Skip to content

MCP tool calls have no message integrity or agent identity verification #953

@razashariff

Description

@razashariff

As MCP tool integration grows in the Copilot SDK, there's a gap around message integrity that's worth flagging.

Currently, tool call arguments and responses between the SDK and MCP servers travel unsigned. Any intermediary (proxy, gateway, load balancer) that terminates TLS can modify them without detection. There's also no mechanism to verify which agent initiated a tool call, or to detect if a tool definition has changed between discovery and execution.

Specific gaps:

  • No per-message signing on tool calls or responses
  • No replay protection (captured tool calls can be re-sent)
  • No tool definition integrity check between sessions
  • No agent identity verification beyond OAuth bearer tokens

This is becoming a broader industry concern -- Trend Micro found 492 MCP servers exposed with zero auth, and 30 CVEs were filed in 60 days across the MCP ecosystem earlier this year.

The OWASP MCP Security Cheat Sheet Section 7 covers the signing approach, and the IETF draft-sharif-mcps-secure-mcp defines the protocol.

Happy to discuss further if useful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions