Inter-Agent Sanitization Lab: Secure the Agent Message Bus
This is a hands-on lab about the message bus between a reader agent and an agent with tools. The reader processes untrusted content; whatever it passes on can carry that content’s influence. You make 12 scored calls on what the bus strips, quarantines, validates or passes, where trust boundaries sit, and why sanitization alone is insufficient.
It builds on the published indirect prompt injection research and OWASP guidance listed below, using a fictional insurer and no payload text. For delegation scope between a parent and its subagents, see the Subagent Delegation Trust Lab.
You are Marcus Oyelaran, platform security lead at Brightwater Insurance. Two agents work together. Scout reads untrusted content (web pages, inbound email, shared documents) and sends messages over an internal bus to Ledger, which holds the powerful tools: it can update customer records and issue refunds. Researchers have shown that instructions hidden in retrieved content can steer a language model, and in a swarm that content can ride along on the bus to the agent with the tools. Over 12 scored decisions you choose what the bus strips, quarantines, validates or passes, and what must be true even when it misses something. Everything is invented and no payload text appears. Each call scores 0 to 10 with the source behind the feedback.
Make it yours
Replace the sample names so the scenario and the debrief you export are about your organisation.
TL;DRWhat this is
5 points
- A scenario lab about a multi-agent swarm: a reader agent handles untrusted content (web pages, email, shared documents) and passes messages over a bus to an agent that holds powerful tools. You act as platform security lead at a fictional insurer.
- You make 12 scored decisions: where the trust boundary sits, hidden markdown and HTML comments, invisible characters, tool-call syntax inside data, instructions in retrieved content, over-broad forwarding of the reader's context, structured and validated messages, capability separation, third-party agent and tool descriptions, human approval for high-impact calls, quarantine, and why sanitization alone is insufficient.
- It draws on Greshake and colleagues' research on indirect prompt injection, OWASP guidance on prompt injection (LLM01) and excessive agency (LLM06), Invariant Labs' write-up of tool poisoning in MCP, and the A2A protocol's enterprise documentation. Claims are attributed, and we quote no success rates.
- Free to play, no account needed. Every agent, organisation and message is invented and no payload text appears.
- Defensive and educational only.
How this differs from our other agent labs
The Subagent Delegation Trust Lab asks how much authority a parent should hand a subagent. This lab asks what may cross the wire between them: which content is cleaned, quarantined or rejected, how messages are structured, and what still holds when the cleaning misses. The Agent Prompt Injection Harness Lab triages injection vectors against one agent; here the injection arrives second-hand from another agent.
Hostile content can also arrive through files, tools or memory: see the Poisoned Instruction File Lab, the MCP Rug Pull Lab and the Agent Memory Governance Lab. For a user escalating slowly across a chat, try the Crescendo Attack Lab. The AI Prompt Injection Incident Lab covers the response after a leak.
Frequently asked questions
What is inter-agent prompt injection?
It is indirect prompt injection that travels through a multi-agent system. Greshake and colleagues argue that LLM-integrated applications blur the line between data and instructions, and describe injecting prompts into data likely to be retrieved. If a reader agent processes such data and passes a message on, the influence can reach the agent that has the tools. This lab is about stopping that on the bus between them.
What should a message bus between agents strip or block?
The lab teaches normalising hidden constructs (markdown or HTML comments), removing or flagging invisible characters, escaping tool-call syntax so it is carried as data and never parsed, and rejecting messages that fail a strict schema. It also teaches that these are hygiene and signals: OWASP says it is unclear whether fool-proof prevention of prompt injection exists, so the bus cannot be the only control.
Why is sanitization alone not enough?
Instructions can be ordinary visible sentences in a document, or re-encoded, and OWASP lists obfuscated payloads among the ways attackers evade filters. The lab pairs sanitization with capability separation so the agent that reads cannot act, structured messages, least privilege for each agent, and human approval for high-impact calls. These limit what a missed attack can do.
What is capability separation for agents?
It means the component that sees untrusted content has no dangerous tools, and the component with tools does not see raw untrusted content. This follows OWASP LLM06, which recommends minimising extensions, their functionality and their permissions. In the lab the reader gets read-only access and the actor keeps writes and refunds behind scoped permissions.
Does the A2A protocol sanitize messages for me?
The A2A enterprise documentation we read covers transport security, authentication, authorization and least privilege. It says servers must authenticate every request, that payloads carry no identity, and that agents touching backends must enforce authorization before sensitive actions. It does not describe content sanitization, so we do not cite it for that. Treat message content as your job.
Are tool and agent descriptions untrusted too?
Treat them as untrusted input. Invariant Labs, a vendor that sells agent guardrails, reports that tool descriptions can contain instructions the user does not see, and recommends clear display of what the model reads, pinning versions or hashes of tool descriptions, and stronger boundaries between servers. The lab applies the same idea to third-party agents registering on a bus.
How is the lab scored?
Each of the 12 decisions scores 0 to 10 and the result is your share of the maximum, with a short band that says what the score means. The debrief shows the source behind each rationale. Lines labelled PlayCISO practice are our reasoning, not a statement by a source.
Sources
All read on 4 November 2026. Lines in the feedback marked “PlayCISO practice” are our own reasoning, not a statement by any source. The scenarios are fictional. We cite primary sources, not vendor advisories, and say where a page could not be fully read.
- Greshake, Abdelnabi, Mishra, Endres, Holz and Fritz (arXiv 2302.12173): Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection (Submitted 23 February 2023, version 2 dated 5 May 2023) We read the abstract page. The authors argue LLM-integrated applications blur the line between data and instructions and describe injecting prompts into data likely to be retrieved.
- OWASP GenAI Security Project: LLM01:2025 Prompt Injection (2025 edition) Says it is unclear whether fool-proof prevention exists; lists mitigations including output validation, least privilege, human approval for high-risk actions and segregating external content.
- OWASP GenAI Security Project: LLM06:2025 Excessive Agency (2025 edition)
- Invariant Labs: MCP Security Notification: Tool Poisoning Attacks (1 April 2025 (as dated on the page)) Research by a vendor of agent-security tooling. It describes tool poisoning and rug pulls and recommends pinning tool descriptions by hash or checksum.
- A2A Protocol documentation: Enterprise Implementation of A2A (Current version on 4 Nov 2026) Says the A2A server must authenticate every request, that payloads carry no identity, and that authorization should follow least privilege. It does not describe content sanitisation, so we do not cite it for that.
- OWASP GenAI Security Project (Agentic Security Initiative): OWASP Top 10 for Agentic Applications for 2026 (9 December 2025 (as dated on the page)) The page describes the framework but our fetch did not return the ten entries, so we cite it as a framework and quote no individual entry.
More security tools
The tools people use most on PlayCISO.
Catch injected instructions hiding in content your AI agent should only read.
Score your readiness against the first international standard for AI security threats.
Critical CVEs across 21 major vendors, month by month — and what the 2026 surge means.
Build an ordered ruleset, replay labelled packets and catch shadowed and any-to-any rules.
Self-assess all six Functions, from Govern to Recover, and see your weakest one.
Search 172 threat actors across Microsoft, CrowdStrike, Mandiant and community names.