Skip to content
Free · Scenario lab

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.

No download, no card
Template & sample scenario. A fictional rehearsal built on common real-world patterns, not a record of any real organisation, audit or deal. Generated from a PlayCISO template as a starting point: it is not legal, audit, certification, investment or professional advice. Review, adapt and validate it for your organisation before you rely on it.

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;DR

What 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.

The tools people use most on PlayCISO.

All tools
🖤 Black Friday: new customers get 3 months of Pro for $5, then $5/month. Ends 30 Nov. Claim 3 months for $5 →