Why Entry-Point Permission Checks Fail in Multi-Agent Workflows and How to Fix Them
Secure multi-agent workflows by enforcing user permissions at every agent hop, not just login.

Entry-point permission checks fail in multi-agent workflows because a valid login does not authorize every action that follows. Permission-aware multi-agent orchestration for large enterprises requires the user’s scope to travel with the request through every agent handoff and tool invocation. The fix pairs hop-by-hop enforcement with tool integrity checks, gateway controls, and a governed registry, rather than trusting everything behind the front door.
Why entry-point permission checks create a false sense of security in multi-agent workflows
A team puts a login in front of its agent workflow and concludes that access is controlled. That check establishes who entered the system, but it does not establish what every downstream component may do for that person. The distinction is easy to miss. An agent can pass work to another agent, invoke a tool, or hand over context without preserving the limits attached to the original request.
The Cloud Security Alliance’s Agentic MCP Security Best Practices Guide identifies three trust boundaries in MCP’s architecture. They sit between the LLM and the MCP client, between the client and MCP servers, and between those servers and downstream systems. MCP servers expose resources, prompts, and tools, each of which an agent can encounter after login. A breach at one boundary can cascade through the pipeline.
The A2A and MCP integration analysis distinguishes vertical tool access through MCP from horizontal communication through A2A. A check at one layer is blind to what the other layer does.
How the confused deputy problem explains the core failure mechanism
A privileged program becomes a confused deputy when it is tricked into using its authority for an unauthorized party because it cannot distinguish which authority applies. In agent workflows, the misleading request can be part of something the agent was asked to read. It need not look like an access request. A document, email, or tool response can contain instructions that compete with the user’s task.
Consider a user who authorizes an orchestrator to summarize invoices from an inbox with read-only scope. The orchestrator reads a message containing untrusted text that asks it to forward data or initiate a payment. It then passes that request to a finance sub-agent without preserving the read-only restriction. The downstream tool receives a valid credential and executes the write. The terminal service authenticates the caller but cannot determine that inbox content caused the agent to exceed its delegated authority.
This is not simply the classic operating-system problem relocated. The agent’s decision is prompt-conditioned and probabilistic, while authority is distributed across humans, operators, runtimes, subagents, and services. CoSAI’s Model Context Protocol (MCP) Security paper places these failures under MCP-T9, Trust Boundary and Privilege Design Failures, and MCP-T2, Missing or Improper Access Control [1][2][3][5]. MCP does not define a role-based access control model or specify how a request maps to a verifiable enterprise identity.
How tool poisoning amplifies confused deputy failures across the agent chain
Tool descriptions are instructions to the model, so a server that changes its descriptions after approval can redirect behavior before a tool runs. The front-door check never sees that change. Old Dominion University’s MCP-DPT research identifies natural-language metadata inside the control loop as a source of adversarial influence that conventional API security does not cover.
Delegation can then spread that influence beyond the first agent. The integration analysis identifies a compounded risk when A2A agent discovery meets MCP tool execution, because malicious instructions can travel between agents and trigger unsafe actions elsewhere in the network. Longer chains provide repeated opportunities for redirection. CoSAI groups the related weaknesses under MCP-T6, Missing Integrity/Verification Controls, and MCP-T11, Supply Chain and Lifecycle Security Failures.
Two steps that are each allowed can together cross an information barrier, expose data, or allow communication with outsiders without permission. Standard access control does not reliably detect that combination. Prompting can reduce the probability of a bad path, but it cannot strictly enforce the boundary.
What actually breaks when these failures occur in production
The CSA guide documents 2025 incidents including cross-tenant data exposure at Asana, prompt injection attacks against the GitHub MCP server, and unauthenticated remote code execution in Anthropic’s MCP Inspector developer tool. It also documents supply chain compromises through malicious npm packages. These are concrete failures. They show exposure across data boundaries, tool interactions, developer infrastructure, and software distribution, although they do not all establish the same attack path.
Broad permission scopes increase the damage such failures can cause. MCP servers commonly request and receive broad permissions for flexibility, while implementations can fail to verify the user’s permissions. Authentication alone does not narrow that exposure. A support engineer with legitimate access to many channels can expose that regulated data to the AI agent they connect. The user’s valid access becomes part of the attack surface.
For enterprises operating under GDPR, SOC 2, or HIPAA obligations, that exposure also creates compliance concerns. Compliance concerns include whether someone stole a credential and whether an authenticated agent used data or authority beyond the task it was given. The MCP-DPT research identifies architectural misalignment behind many MCP weaknesses. Patching individual servers does not resolve the broader exposure.
Why the protocol’s own tightening does not close the gap unilaterally
The CSA guide notes that the November 2025 specification, version 2025-11-25, formalized OAuth 2.1 as the authentication standard for remote MCP servers. Protocol governance also moved to the Linux Foundation. Those changes make the protocol more secure, but deployments get the relevant specification improvements only if they use current versions.
The deployment landscape is far from uniform. The same guide reports that, by early 2026, security researchers had catalogued nearly 7,000 internet-exposed MCP servers, with roughly half operating without authentication controls. Servers built on older versions still need to be checked on their own. Enterprise implementations and unprotected public servers can share an ecosystem even though they make very different assumptions about security.
OAuth 2.1 at session entry cannot stop a correctly authenticated session from passing unconstrained credentials to a sub-agent. The MCP-DPT research finds that defenses are predominantly tool-centric, with persistent gaps in host orchestration, transport, and supply-chain layers. Those are precisely the places through which delegated authority must pass. Protocol tightening is necessary, but enterprise enforcement must complement it inside the workflow.
How do AI agents respect each user’s permissions at every step?
Permission scope must be a property of the request as well as of the session stored at the entrance. At every agent hop, tool invocation, and context handoff, the system needs to keep that scope in place and enforce it. That scope also applies to row-level data access. A downstream agent must keep to the user’s source-system permissions even when a service account has broader access.
High-assurance deployments should also sign each tool invocation with the requesting agent’s private key. The MCP server validates it using the corresponding registered public key before processing the request, protecting against modification in transit. Signing supports authorization by making the request’s integrity verifiable.
Consent and tool scope provide separate controls. MCP proxy servers must maintain approved client_id values per user, check that registry before initiating third-party authorization flows, and securely store consent decisions. Tools should expose only the access needed for the task. A narrowly scoped “query_sales_data” tool with bounded parameters and rate limits provides a smaller blast radius than full database administration. The MCP-DPT taxonomy supports this layered approach by assigning primary and secondary defense points across the architecture.
Tool integrity verification as a prerequisite for trusting what agents invoke
Correct permissions do not make a poisoned tool trustworthy. An agent can stay within its access scope while malicious tool instructions redirect how it uses that access. Permission enforcement and tool verification solve different problems. The former limits authority, while the latter checks whether the component receiving that authority is what was approved.
CoSAI recommends cryptographic integrity verification and remote attestation before agents ingest tool schemas. Its controls include trusted execution environments, cryptographic hash verification for package integrity, approved-server allow-lists, and binary authorization. A server’s name is not enough. Approval needs version and behavior checks because an approved server can introduce new tools, network destinations, or instructions. The CSA guide calls for version pinning and re-verifying tool-description hashes each session to address that change risk.
Supply-chain practices are part of this runtime problem. Hasan et al.’s 2025 research found that 5.5% of open-source MCP servers exhibited tool poisoning vulnerabilities involving altered descriptions, false responses, or redirected data flows. Static approval cannot cover every later interaction. The CSA guide therefore calls for inspecting tool calls and results at runtime, where hidden instructions can steer the agent after its initial prompt. These checks support hop-by-hop enforcement without replacing the need to validate permission scope.
Gateway-mediated invocation and comprehensive logging as the operational layer
A gateway makes the architectural rules enforceable during execution. Every tool invocation passes through it, allowing the gateway to validate the permission scope attached to that request at that moment. This is different from checking the session once. The decision sits at the point of use, where an agent is about to turn delegated authority into an action.
Logging must make the same path visible. Every tool call should record the user, agent, server, tool, arguments, and result, with the records routed to a SIEM. CoSAI addresses this requirement under MCP-T12, Insufficient Logging, Monitoring, and Auditability. In the invoice example, the terminal service saw a valid credential but lacked the chain that explained the write. Per-invocation records provide the evidence needed to trace the transition from the user’s read-only task to the finance sub-agent’s action, rather than leaving investigators with an isolated authenticated call.
That visibility also supports behavioral anomaly detection when an agent makes calls outside its approved sequence. It is not a substitute for prevention. Sandboxing and isolation limit the blast radius when a downstream invocation escapes its scope. Together, the gateway, logs, and isolation address the host and transport layers that tool-only defenses leave underprotected.
A governed MCP registry as the foundation for scaling hop-by-hop enforcement across teams
A governed registry lets teams share the rules for their workflows across the enterprise. It should track which agents connect to which MCP servers, the permissions attached to each connection, and who owns it. Inventory comes before dependable oversight. The CSA guide notes that “most enterprises don't know which MCP servers are running”.
The guide’s four-level MCP Security Maturity Model provides a progression. Level 1 covers the basics of authentication and an inventory of servers, and Level 2 adds checks for tool-description integrity and hardening of the session. Level 3 introduces cryptographic signing and formal supply-chain governance. Level 4 adds per-invocation zero-trust authorization with hardware-enforced isolation. A registry supports that progression by connecting approved components, permissions, versions, and ownership.
Domain experts should own their teams’ AI skills and context, with version control, access scoping, and a history of changes that can be audited. A shared drive cannot provide that governance. Permissions should be inherited automatically from source systems, with access controls synchronized from upstream identity systems for every new agent. Version and ownership records then make it possible to establish who approved a connection, when, and under what scope. This is what lets enterprises share reusable agent skills across departments without rebuilding permission logic each time or abandoning the user’s access limits along the way.
Sources
- From Glue-Code to Protocols: A Critical Analysis of A2A and MCP Integration for Scalable Agent Systems
- MCP-DPT: A Defense-Placement Taxonomy and Coverage Analysis for Model Context Protocol Security
- Agentic MCP Security Best Practices Guide
- Model Context Protocol (MCP) Security
- From Tool Connection to Execution Control: Benchmarking Security Invariants in MCP-Style Agent Runtimes


