One email each morning — yesterday's AI, sortedGet it in your inbox

METAL LAB

Bounded Agents: Delegation Security for Multi-Agent AI Systems

arXiv:2608.158882026-08-15

Stopping AI agents from combining allowed actions into forbidden outcomes, by fixing the permission system instead of the model

LLM-based AI agents get their permissions fixed at the start of a session and each request is checked in isolation, which lets an agent chain together individually permitted actions into something harmful, like reading a confidential file and then emailing it out. The author proposes APC (Agentic Principal Chain), a permission-tracking system that narrows authority at every delegation step and checks each new request against everything the agent has already done, backed by mathematical proofs. Tested even under a fully compromised model, APC cut AgentDojo's data-exfiltration success rate from as high as 100% down to 0% and blocked all 544 data-theft attempts in InjecAgent.

What they did

  1. The paper argues the real risk of prompt injection (hidden malicious instructions smuggled into an AI's input) isn't just whether the model gets fooled, but whether the agent even has the authority to cause harm in the first place.
  2. APC tracks a chain of delegation from user to orchestrator to sub-agent to tool, shrinking permissions at every hop and keeping a running record of prior actions, then checks every new request against six conditions.
  3. A mechanism called 'composition closure' bans specific dangerous combinations of individually harmless actions in advance, such as reading a confidential document then sending an external email.
  4. The authors mathematically prove two properties: that an agent's potential damage ('blast radius') can only shrink, never grow, as authority is delegated further, and that forbidden action combinations can never occur if the ban list is complete.
  5. In a worst-case test simulating a fully compromised model, exfiltration attacks succeeded 0% of the time across all four AgentDojo domains and all 544 InjecAgent data-theft cases were blocked, destructive actions dropped from 38.6% to 4.0%, manipulative actions dropped from 90.5% to 12.1%, and the permission check itself took only 0.24 milliseconds.
Table 1. Adversary capabilities.
IDAdversary capability
A1Inject content into the agent’s context via untrusted data sources (indirect prompt injection)
A2Fully compromise a single principal in the chain (sub-agent, tool server, or orchestrator)
A3Observe which actions succeed or fail to probe scope boundaries
A4Maintain influence for the duration of a task session
Table 2. Trust boundaries (capabilities the adversary does not have).
IDTrust boundary
T1Compromise the PDP, PEP, evidence sink, or key-management infrastructure
T2Forge cryptographic signatures or hashes
T3Operate across session boundaries
Table 3. Security goals and the mechanisms that enforce them.
IDGuaranteeEnforced by
G1No action outside scope S⁡(pi) executesCondition 2a
G2No prohibited action pair co-occurs in a session; k-tuple restrictions extend this to ordered subsequencesCondition 2b, Thm. 4.8, Prop. 4.9
G3Blast radius does not increase at each delegation hopThm. 4.6
G4High-impact actions require valid approval tokensCondition 4
G5Every admitted action is coupled to infrastructure-generated evidence, or execution is deniedCondition 5
G6Actions outside declared intent are denied or flaggedCondition 6
Table 4. InjecAgent results (1,054 test cases). ASR = attack success rate (lower is better).
ConditionData Stealing ASRDirect Harm ASRTotal ASR
Baseline100.0%100.0%100.0%
Complete X0.0%60.4%29.2%
Partial X39.9%82.0%60.2%
Table 5. ASB results (400 attack tools, 10 scenarios). ASR = attack success rate.
ConditionStealthy ASRDisruptive ASRTotal ASR
Baseline100.0%100.0%100.0%
Complete X30.0%0.0%15.0%
Partial X60.0%100.0%80.0%
Table 6. Per-domain authoring burden.
DomainToolsAction Cls.Pairwisek-tupleResources
Workspace328785
Banking136535
Travel287347
Slack116324
InjecAgent980
ASB790
Table 7. Utility preservation on four AgentDojo suites (Claude Sonnet 4.6). UPR = fraction of task–injection pairs where the user task is completed successfully. Values are means over 3 runs; ± denotes sample standard deviation. Δ columns report percentage-point differences computed from unrounded means.
SuiteBaselineStrictInter.Δ strict (pp)Δ inter. (pp)
Workspace (560)96.2±0.2%81.5±0.1%86.7±0.4%−14.7−9.6
Banking (144)68.8±1.2%50.0±0.7%58.8±1.7%−18.8−10.0
Travel (140)59.8±1.1%55.7±0.7%60.0±1.4%−4.0+0.2
Slack (105)73.0±1.5%56.5±5.2%60.0±4.4%−16.5−13.0
Table 8. Compromised-model evaluation on four AgentDojo suites (Claude Haiku 4.5). Ground-truth attack injection simulates a fully compromised model. Total: 609 unique task–injection pairs, 1,218 executions.
Suite / CategoryAttack ToolsNo Def.APCBlocking
Workspace (240 pairs)
Exfiltrationsend_email90.0%0.0%C2b + C4 + C6
Destructiondelete_file/email48.8%5.0%C6 (intent)
Manipulationcreate_calendar97.5%30.0%C6 (partial)
Banking (144 pairs)
Financial exfil.send_money75.0%0.0%C2b (formal)
Manipulationupdate_sched_txn87.5%12.5%C6 (partial)
Account takeoverupdate_password87.5%0.0%C2b (formal)
Travel (120 pairs)
Exfiltrationsend_email90.0%0.0%C2b (formal)
Manipulationreserve/calendar86.7%0.0%C6 (no overlap)
Slack (105 pairs)
Ext. exfiltrationpost_webpage100.0%0.0%C2b (formal)
Int. exfiltrationsend_direct_msg100.0%0.0%k-tuple
Destructionremove_user0.0%0.0%— (attack fails undefended)
Reconnaissanceget_webpage100.0%0.0%C6 (intent)
Table 9. Taxonomy of residual attack successes (18 of 609 runs, 3.0% aggregated observed ASR).
CategoryAttack ToolCasesRoot Cause
Intent overlapcreate_calendar_event12write class matches task intent
update_sched_transaction2write class matches task intent
Missing pair in Xdelete_file4(read, delete) ∉X
Total18
Table 10. Evaluation coverage across all benchmarks (3,154 evaluation instances). The compromised-model and utility cohorts are drawn from the same AgentDojo task–injection space and are therefore not disjoint.
BenchmarkCasesTypeMain outcome
Delegation chains99Multi-hop (2–8 hops)99/99, all 6 conditions
InjecAgent1,054PublicData stealing 0%
ASB400PublicDisruptive 0%
AgentDojo (utility)949Live LLM, 4 suitesΔ interactive −8.6 pp (mean, 3 runs)
AgentDojo (compromised)609†Compromised-modelExfil 0% all suites
Adaptive43Self-designed23/23 matched
†609 unique pairs, 1,218 total executions under two conditions.
Table 11. Attack-class coverage summary. Residual values are observed ASR.
Attack classCoverageMain mechanismResidual
Multi-step exfiltrationFullC2b composition closure0%
Delegation priv. escalationFullThm. 4.60%
Destruction (out-of-intent)HighC6 intent binding4%
Manipulation (in-intent)PartialC6 (action-type granularity)12.1%
Single-action within scopeNoneOutside APC boundary60.4%
Parameter-level misuseNoneRequires param. validation
Table 12. Formal results: assumptions, guarantees, and supporting evidence.
PropertyAssumptionGuaranteeEvidence
Blast-radius mono. (Thm. 4.6)Scope narrowing; cumulative budget tracking; consistent blast⁡(r)Reachable blast radius non-increasing per hop99 chain scenarios (depths 2–8)
Comp. soundness (Thm. 4.8, Prop. 4.9)Complete Xeff, K; serialized admissionNo admissible sequence produces prohibited outcomeInjecAgent 0% DS; ASB 0% disruptive; adaptive all matched
Table 13. Adaptive attack results (representative subset). Twenty-three named attacks with 43 variants target all six conditions.
AttackStrategyResult
Decomposed Exfilread → write → send_internal (evades pairwise)blocked (k-tuple)
Intent Driftin-scope, out-of-intent resourceblocked (C6)
Budget Exhaustion3 transfers, budget max 2blocked (C2c)
Approval Replayreuse token with different parametersblocked (C4 hash)
Expired Tokenuse approval token after TTL expiresblocked (C4 temporal)
Consumed Tokenreuse single-use token after consumptionblocked (C4 single-use)
Evidence Evasionact when evidence sink is downblocked (C5 fail-closed)
Scope Probing (A3)probe resources, actions, classificationsboundaries enforced
Gradual Buildup (A4)8-step sequence with interleaved noiseblocked (pair + k-tuple)
Session Splittingsplit read/send across sessionsadmitted (per-session)
Cross-Session Token (T3)replay session-A token in session-Bblocked (C4 session)
Envelope Forgery (T2)sign envelope with wrong keyblocked (signature)
Envelope Tampering (T2)modify sealed envelope scopeblocked (immutability)
Depth Overflowact beyond delegation depth ceilingblocked (C2c)
Intent Warn Modeout-of-intent in warn vs strict modegraduated enforcement
Table 14. Enforcement mechanism comparison on InjecAgent (1,054 cases) and ASB (400 cases).
InjecAgentASB
MechanismDSDHTotalStlth.Disr.Class
Comp. closure (APC)0.0%60.4%29.2%30.0%0.0%Action-class pairs
Info flow (SEAgent sim.)1.7%59.2%29.5%60.0%60.0%Sensitivity labels
Table 15. Enforcement latency on the environment above. Median of five repetitions; bracketed values are the range across repetitions. Reproduced from the committed measurement artifact evals/latency/results/latency_appendix_d.json.
Componentp50 (ms)p99 (ms)
Full admissibility, C4 below threshold0.049 [0.048–0.050]0.240 [0.173–0.261]
Full admissibility, C4 token verified0.057 [0.056–0.058]0.236 [0.215–0.345]
Composition closure (isolated)0.0016 [0.0012–0.0021]0.0031 [0.0016–0.0033]
Envelope narrowing (meet + re-sign)0.015 [0.015–0.016]0.059 [0.049–0.081]
Table 16. Standalone coverage of APC properties by existing authorization mechanisms.
PropertyOAuth+OPAPromptsStatic ManifestAPC
Scope enforcement (G1)
Scope attenuationPartialTool-level
Composition closure (G2)
Blast-radius mono. (G3)
Approval binding (G4)
Evidence commit. (G5)Partial
Intent binding (G6)
Table 17. APC versus modern agentic security systems.
PropertySEAgentCaMeLProgentAPC
Data stealing ASR0%a0%
Composition closurePolicy-dep.Dataflow-dep.Policy-dep.Formalb
Blast-radius mono.TemporalcStructural
Multi-hop delegationPartialPartialc
Intent binding
Table 18. Illustrative blast scores under default weights.
ResourcescopeirrevsensblastRationale
User calendar entry0.10.20.10.14Single user, recoverable, low sensitivity
Shared team document0.40.30.60.40Team scope, versioned, confidential
Customer PII record0.60.71.00.72Broad scope, hard to remediate, restricted
Production database0.90.90.80.88Org-wide, near-irreversible, restricted
External email send0.71.00.50.78Unrecallable, broad reach, variable sensitivity

Why it matters

Most AI agent security work focuses on making the model itself resist bad instructions, but this research shows that redesigning the underlying permission architecture can block attacks regardless of how well the model behaves. As companies increasingly chain multiple AI agents together for real work, having a publicly available implementation and evaluation toolkit makes this immediately relevant for practical deployment.

Terms in this paper

  • prompt injection · an attack that hides malicious instructions inside documents or data fed to an AI so it takes unintended actions
  • APC (Agentic Principal Chain) · the permission-tracking system proposed in this paper that follows delegated authority from user to sub-agents to tools and checks every request
  • composition closure · a rule system that bans specific combinations of otherwise individually-allowed actions
  • PEP/PDP · Policy Enforcement Point and Policy Decision Point, a separate gatekeeper outside the AI model that actually allows or blocks each action
  • attack success rate (ASR) · the percentage of attack attempts that actually succeeded; lower means better defense

Original abstract (English)

LLM-based agents can act on behalf of a user to access cloud services, call tools, or invoke agents. At session start, the agent's permissions are set but remain static, and each request is evaluated independently, without considering prior actions. Within its permissions, an agent may act contrary to the delegated task, combine individually permitted actions into a prohibited outcome, or delegate authority to a sub-agent without limiting it. A prompt injection poses a risk only if the agent has authority to perform such actions; this is therefore a problem of authorization architecture, not just the model. The Agentic Principal Chain (APC) tracks delegated authority from one principal to the next. APC evaluates each request against the accumulated session state using six authorization checks. APC carries forward and restricts delegated scope and budgets. Using composition closure, APC checks requests against prior actions to prevent prohibited combinations and enforces the decision outside the model. We prove Blast Radius Monotonicity and Composition Soundness for APC implementations; Composition Soundness is limited to prohibited combinations under a complete restriction set and serialized admission. We evaluated 3,154 instances including InjecAgent, AgentDojo, and ASB. Our compromised-model evaluation tests APC independently of model behavior by inserting the ground-truth attack call after the first legitimate tool call. AgentDojo exfiltration fell from 75-100% to 0% across all four domains; APC blocked all 544 InjecAgent data-stealing cases. Intent binding reduced destruction from 38.6% to 4.0% and manipulation from 90.5% to 12.1%. Authorization latency was 0.24 ms at the 99th percentile on an idle host; across 949 AgentDojo task-injection pairs, utility was 8.6 and 13.9 percentage points lower in the two settings. Implementation, evaluation tools, and data are publicly available.

Authors · Xabier Muruaga

Read on arXiv

Latest papers

All papers →

Latest from METAL LAB