Agent Impersonation in A2A Communication
Multi-agent systems delegate tasks between agents using message-passing protocols. When sub-agents accept instructions from any caller without verifying the sender's identity, an attacker who can reach the sub-agent endpoint can impersonate the orchestrator and issue arbitrary task instructions. The sub-agent has no way to distinguish a legitimate orchestrator message from a forged one, so it executes whatever task it receives with its full permission set.
Capture a Legitimate A2A Message
Intercept traffic between the orchestrator and a sub-agent to obtain the exact message format and any authentication tokens in use:
Trigger a multi-step task through the main application interface to generate inter-agent traffic. Review the captured messages for the request structure, headers, and any tokens or identifiers that identify the sender as a legitimate orchestrator.
Identify the Sub-Agent Endpoint
From the captured traffic or reconnaissance, identify the sub-agent's direct endpoint. Test whether it accepts requests from outside the internal network:
Send a Forged Orchestrator Message
Using the captured message format, send a forged instruction to the sub-agent claiming to be the orchestrator. Mirror the exact headers and structure from the legitimate traffic:
A sub-agent that executes the forged instruction confirms impersonation is viable. The sub-agent is operating under the assumption that all messages arriving on its endpoint come from a trusted orchestrator — it performs no verification of the sender identity.
Impersonate via the Google A2A Protocol
Systems built on the Google Agent2Agent protocol use JSON-RPC over HTTP with task delegation. Send a forged task directly to an A2A-compatible agent endpoint:
Escalate by Targeting High-Privilege Sub-Agents
Once impersonation is confirmed against one sub-agent, target sub-agents with higher privilege levels such as code executors, database agents, or email agents:
References
-
Google Agent2Agent Protocol specificationgoogle.github.io/A2A (opens in new tab)
A2A tasks/send method and authentication model reference
Was this helpful?
Your feedback helps improve this page.