Guided security lab
Tool Output Injection
A guided exercise on the response side of tool use: separate trust in a tool from trust in what it returns, keep field provenance, and treat every follow-on tool, destination or action as a new authorization decision.
This exercise uses authored, deterministic examples with fictional names and neutral synthetic content. It calls no tools, APIs, connectors, agents or models, and it does not predict how any real model behaves.
Learning objectives
- Separate trust in the tool component from trust in returned content and individual fields.
- Separate request-side call authorization from response-side result handling.
- Explain why a valid schema, a 200 OK status or an internal connector does not establish semantic or instruction authority.
- Preserve source and field-level provenance through parsing, normalization and context assembly.
- Recognize cross-tool influence without letting the output of one tool authorize another tool, resource or destination.
- Treat model and sub-agent proposals as requests that need independent authorization, destination and flow checks.
- Allow bounded, read-only use of legitimate tool results when scope and provenance align, without granting instruction authority.
Prerequisites
- Trust Boundaries and Model Context lab (recommended)
- RAG Prompt Injection lab (recommended)
Tool result path and trust flow
An authorized call returns a result, the application parses it with field provenance, the model proposes a next step and policy decides the effect. Tools and gates are system components; returned content and proposals stay variable.
- Ticket connector (authorized read)System component->
- Returned ticket recordVariable content->
- Parser with field provenanceSystem component->
- ModelSystem component->
- Updated planVariable content->
- Task and action policySystem component
Model-visible tool result content
Returned fields the model reads. Bracketed text marks neutral synthetic content, not a real instruction.
- Ticket T-204, field: status
Open
- Ticket T-204, field: requester_comment
[synthetic instruction-like text attempting to redirect the workflow]
Application-side evidence
Recorded by the tool registry, grant store, parser, lineage records, ACL and destination policy outside model text.