Skip to content

QG012 Cascading injection

Type Vulnerability
Severity by action
Front end an agent graph, and a Colang policy where its actions map to the catalogue's tools
Guardrail category (Vassilev 2026) E. Action & Execution Guardrails
AI RMF functions (NIST AI 100-1) GOVERN, MANAGE
OWASP LLM01:2026 Prompt Injection, ASI07:2026 Insecure Inter-Agent Communication, ASI08:2026 Cascading Failures
Gates by default yes

Raised when

As a confused deputy, where the taint entered in another agent or subgraph than the one acting.

Why it matters

The instruction entered one agent and the privileged call is made by another, after a hand-off: each agent did what it was asked, and the less trusted one steered the more trusted one.

How to fix it

Bind the tool to the guarded tool node in the acting agent, so a call carrying a label from the handing agent is confirmed or refused; or route the hand-off through a confirmation.

OWASP entries

LLM01:2026 Prompt Injection, ASI07 Insecure Inter-Agent Communication, ASI08 Cascading Failures, from the OWASP Top 10 for LLM Applications 2026 and for Agentic Applications 2026. The mapping holds because this is the same, carried across an agent boundary: the inter-agent and cascade risks. A finding under a rule mapped to LLM03:2026 carries the root cause in brackets as owasp_root_cause.

What the finding carries

A location at the node's source -- the file and line of its callable, or the line of agent.yaml that declared it -- falling back to the export's JSON Pointer; a fingerprint over the rule, the tool, the control, the node and a digest of the node's declaration, so moving unrelated nodes keeps it and changing the node's tools or edges makes a new one; the witness as a path through the graph; and a structural fix. A graph finding is replayed in the team's environment, with every tool stubbed and a scripted model making the witness's choices; until then it reads not yet replayed. See the catalogue for the other rules.