In a traditional microservices architecture, service-to-service communication is typically secured with mutual TLS, API keys, JWT tokens, or service mesh sidecar authentication. The receiving service validates the caller's identity before executing any logic. A forged request fails authentication and is rejected before causing harm.
This wasn't achieved automatically — it required deliberate design and investment. But the requirement was well-understood and the tooling was mature.
In a multi-agent system, the situation is different in a key way: the agent doesn't just receive a request to execute a fixed function — it receives natural language instructions that determine what it will do. The content of the message is the behavior. This means that integrity of message content matters more, not less, than in traditional service calls — but the ecosystem for securing it is far less mature.
A tampered service call might change a parameter value. A tampered agent message might change the entire set of actions the agent takes — because the instructions themselves determine the behavior.
Protocols like Anthropic's Model Context Protocol (MCP) and Google's Agent-to-Agent (A2A) protocol are addressing inter-agent communication — but security properties like message signing and mutual authentication are either optional, not yet standardized, or not yet widely implemented in practice. Many real-world multi-agent deployments use ad-hoc message formats over HTTP or queues with no authentication beyond the network-layer access control.
Six specific vulnerability types show exactly how insecure channels are exploited — from simple message forgery to sophisticated replay and orchestrator impersonation attacks.