Skip to content

MCP protocol itself lacks per-message signing and agent identity #244

@razashariff

Description

@razashariff

Summary

This repo provides MCP servers for Google security products, but MCP itself -- the underlying protocol -- has no cryptographic identity or per-message signing layer. This means the security tools themselves are delivered over an insecure protocol.

Protocol-level gaps

  • No agent identity: Any client connecting over MCP can call security tools. There is no mechanism to verify which agent is making the request.
  • No message signing: JSON-RPC messages are unsigned. Parameters (including security-sensitive queries) can be modified in transit.
  • No tool integrity: Tool definitions are not signed by their author. An attacker could modify tool descriptions via tool poisoning (OWASP MCP03).
  • No replay protection: Security tool calls can be replayed.

For security-focused MCP servers specifically, this is a significant concern -- the tools meant to improve security are themselves delivered without integrity guarantees.

Existing work

An IETF Internet-Draft has been published addressing MCP security at the protocol level:

The spec adds agent passports (ECDSA P-256), per-message signing, tool definition signatures, and nonce-based replay protection as an envelope around existing JSON-RPC -- fully backward-compatible.

Happy to discuss technical details.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions