Table of Contents
Fetching ...

Give Them an Inch and They Will Take a Mile:Understanding and Measuring Caller Identity Confusion in MCP-Based AI Systems

Yuhang Huang, Boyang Ma, Biwei Yan, Xuelong Dai, Yechao Zhang, Minghui Xu, Kaidi Xu, Yue Zhang

TL;DR

A large-scale security analysis of MCP servers integrated within MCP clients shows that treating MCP servers as trusted entities without authenticating the caller identity is fundamentally insecure, highlighting the need for explicit caller authentication and fine-grained authorization mechanisms.

Abstract

The Model Context Protocol (MCP) is an open and standardized interface that enables large language models (LLMs) to interact with external tools and services, and is increasingly adopted by AI agents. However, the security of MCP-based systems remains largely unexplored.In this work, we conduct a large-scale security analysis of MCP servers integrated within MCP clients. We show that treating MCP servers as trusted entities without authenticating the caller identity is fundamentally insecure. Since MCP servers often cannot distinguish who is invoking a request, a single authorization decision may implicitly grant access to multiple, potentially untrusted callers.Our empirical study reveals that most MCP servers rely on persistent authorization states, allowing tool invocations after an initial authorization without re-authentication, regardless of the caller. In addition, many MCP servers fail to enforce authentication at the per-tool level, enabling unauthorized access to sensitive operations.These findings demonstrate that one-time authorization and server-level trust significantly expand the attack surface of MCP-based systems, highlighting the need for explicit caller authentication and fine-grained authorization mechanisms.

Give Them an Inch and They Will Take a Mile:Understanding and Measuring Caller Identity Confusion in MCP-Based AI Systems

TL;DR

A large-scale security analysis of MCP servers integrated within MCP clients shows that treating MCP servers as trusted entities without authenticating the caller identity is fundamentally insecure, highlighting the need for explicit caller authentication and fine-grained authorization mechanisms.

Abstract

The Model Context Protocol (MCP) is an open and standardized interface that enables large language models (LLMs) to interact with external tools and services, and is increasingly adopted by AI agents. However, the security of MCP-based systems remains largely unexplored.In this work, we conduct a large-scale security analysis of MCP servers integrated within MCP clients. We show that treating MCP servers as trusted entities without authenticating the caller identity is fundamentally insecure. Since MCP servers often cannot distinguish who is invoking a request, a single authorization decision may implicitly grant access to multiple, potentially untrusted callers.Our empirical study reveals that most MCP servers rely on persistent authorization states, allowing tool invocations after an initial authorization without re-authentication, regardless of the caller. In addition, many MCP servers fail to enforce authentication at the per-tool level, enabling unauthorized access to sensitive operations.These findings demonstrate that one-time authorization and server-level trust significantly expand the attack surface of MCP-based systems, highlighting the need for explicit caller authentication and fine-grained authorization mechanisms.
Paper Structure (24 sections, 11 figures, 7 tables, 1 algorithm)

This paper contains 24 sections, 11 figures, 7 tables, 1 algorithm.

Figures (11)

  • Figure 1: MCP server workflow
  • Figure 2: Authorization and execution model of MCP servers
  • Figure 3: Authorization reuse without caller binding. Please note that the user (or an attacker) can directly interact with the Facebook MCP tool.
  • Figure 4: Workflow of MCPAuthChecker
  • Figure 5: Relationship between MCP server counts and exposed tool functions across categories and star ranges.
  • ...and 6 more figures