Runtime Authorization of Self-Generated Subgoals in Long-Horizon Tool-Using AI Agents
Organizations: Accentrust, Vancouver, Canada · Georgia Institute of Technology, School of Computer Science, Atlanta, Georgia, USA · University of Illinois Urbana-Champaign, Department of Computer Science, Urbana, Illinois, USA
Abstract
Long-horizon tool-using AI agents create subgoals, replan, delegate work, and compose sibling results. Per-tool permission checks cannot establish that a changing goal graph remains within the principal-approved task. We address this authorization gap in a finite structured domain with one principal and one authorization root. Each proposed goal-graph mutation carries a version-bound witness that its continuation traces, resources, obligations, invariants, and closing condition refine the active root contract; every protected effect is rechecked at an atomic commit boundary. Free-form goal text supplies no authority. We prove trace-policy and modeled forbidden-state preservation under explicit mediation, abstraction, freshness, and atomicity assumptions, plus conditional root-success preservation, a separation result for memoryless allowlists, exact finite-domain decidability, and universal-safety monotonicity under sound abstraction refinement. An executable model explores 340 states and 419 transitions. Across 96 matched cases covering 25 structural schemas, the complete mechanism commits zero forbidden states in 48 drifted cases and completes all 48 benign counterparts. Two public upstream runtime paths execute 258 native dispatches across 32 cases, with every case-level decision and receipt chain matching. A frozen host-local study covers 129 synthetic one-factor-at-a-time cells, all matching fixed decisions and reasons. A history-aware continuation comparator blocks every modeled bad trace prefix but commits all operations in 11 cases whose violations lie in typed resources, freshness, or explicit-join evidence outside its trace projection. Within the registered structured domains, runtime authorization preserves useful replanning while preventing self-generated subgoals from becoming a source of new authority.
Figures & tables
| Work and status | Primary controlled object | Decision point | Dynamic goal-graph mutation | Version-bound reauthorization | Protected-effect gate |
|---|---|---|---|---|---|
| Security/edit automata ( Schneider, 2000 ; Ligatti et al., 2005 ) (PR) | Event traces | During execution | Not a planning model | Policy-state dependent, but no goal witness | Abstract enforcement event |
| HTN/HGN planning ( Nau et al., 2003 ; Shivashankar et al., 2012 ; Chan et al., 2026 ) (PR) | Task or goal decomposition | Plan construction/progression | Decomposition, without a security-authorization adversary | Not an authorization lifecycle | Not its control boundary |
| AgentSpec ( Wang et al., 2026a ) (PR) | Structured behavioral rules | Runtime events | Not explicit | Not explicit | Runtime enforcement |
| Formal Methods Meet LLMs ( Alamdari et al., 2026 ) (PR) | Temporally extended constraints | Audit, monitor, predict, intervene | Not explicit | Monitor state evolves; witness invalidation not explicit | Intervention on predicted or observed behavior |
| CaMeL ( Debenedetti et al., 2026 ) (PR) | Control/data flow and capabilities | Program/tool execution | Not explicit | Not explicit | Capability-mediated tool calls |
| CaMeLoT ( Nikolaou et al., 2026 ) (A) | Generated finite-state plan | Before plan execution | Reverification of mid-run mutations not explicit | Not explicit | Complements CaMeL execution controls |
| Operation | State change | Required checks |
|---|---|---|
| registerRoot | create root and initial active goal | principal approval, schema validity, nonempty permitted language, initial invariant |
| proposeGoal | proposed child becomes active | same root; parent active; trace, resource, obligation, frame, success, and version refinement |
| replaceGoal | invalidate old goal; activate replacement | all child checks plus preservation of already committed prefix and residual work |
| delegateGoal | assign an active child to a worker | same root, attenuated resource scope, bound worker identity, no new authorization root |
| joinGoals | authorize sibling composition | same root; witnessed order/interleaving; joint trace, multiplicity, frame, and completion checks |
| authorizeEffect | reserve next normalized effect | active current goal; current versions; effect admitted by residual language and state guard |
| Formal object | Reference representation | Enforced boundary |
|---|---|---|
| finite lists of maximal completion traces; prefix closure is implicit | exact order and multiplicity; an empty residual is required for closure | |
| deterministic typed state transformer per registered effect | preconditions, forbidden predicates, frames, and current policy are rechecked | |
| one fresh leaf-to-root witness path and all ancestor residuals | a graph revision stales other paths; only explicit join composes siblings | |
| all effect-level shuffles preserving component order and registered precedence | every enumerated prefix and terminal state is checked | |
| finite resource identifiers with set inclusion | no quantitative concurrent-resource claim | |
| parent obligations minus catalog-validated discharge | a child cannot mint an obligation or erase one by replacement |
| Evidence item | Count |
|---|---|
| Canonical structural schemas | 25 |
| Contextual workflow instances | 48 |
| Matched benign/drifted cases | 96 |
| Public source-derived scenario seeds | 24 |
| Mechanism–case decisions | 576 |
| Protocol conformance checks | 65 |
| Mechanism | Benign | Commit | Deny | Reauth. | Post-detect | Forbidden | Prevent |
|---|---|---|---|---|---|---|---|
| Memoryless action allowlist | 48 | 44 | 4 | 0 | 0 | 33 | 4 |
| Static goal effect set | 48 | 39 | 9 | 0 | 0 | 33 | 9 |
| Per-step declared purpose | 48 | 39 | 9 | 0 | 0 | 33 | 9 |
| Final-state check | 48 | 11 | 4 | 0 | 33 | 33 | 4 |
| History-aware complete-continuation check | 48 | 11 | 37 | 0 | 0 | 0 | 37 |
| Complete transition authorization | 48 | 0 | 43 | 5 | 0 | 0 | 48 |
| Stage | Median | p95 | p99 | Receipt B |
|---|---|---|---|---|
| Transition authorization | 83.584 | 131.000 | 225.166 | 1348 |
| Effect authorization | 22.292 | 31.292 | 57.167 | 847 |
| Effect commit | 42.375 | 60.250 | 147.000 | 1673 |
| Dimension | At/below or ceiling probe; observed result | Contrast probe; observed result |
|---|---|---|
| Goal population | G-064 (64); Allow | G-065 (65); Indeterminate ; E_PROFILE_LIMIT |
| Depth below root | D-063 (63); Allow | D-064 (64); Indeterminate ; E_PROFILE_LIMIT |
| Maximum trace length | L-064 (64); Allow | L-065 (65); Indeterminate ; E_PROFILE_LIMIT |
| Continuation count | T-256 (256); Allow | T-257 (257); Indeterminate ; E_PROFILE_LIMIT |
| Resource count | R-256 (256); Allow | R-257 (257); Indeterminate ; E_PROFILE_LIMIT |
| Obligation count | O-256 (256); Allow | O-257 (257); Indeterminate ; E_PROFILE_LIMIT |
Appendix figures & tables1 asset
Supplementary material from the paper’s appendix.
Appendix
| Cell | Factor | Class | Decision/reason | Median | p95 | p99 | Ratio | State B |
|---|---|---|---|---|---|---|---|---|
| G-002 | 2 | interior | Allow | 168.958 | 208.750 | 255.042 | 0.99 | 6547 |
| G-004 | 4 | interior | Allow | 170.209 | 212.750 | 264.708 | 1.00 | 15885 |
| G-008 | 8 | interior | Allow | 168.041 | 220.417 | 273.416 | 0.99 | 34561 |
| G-016 | 16 | interior | Allow | 172.125 | 209.042 | 267.666 | 1.01 | 71920 |
| G-032 | 32 | interior | Allow | 168.250 | 204.083 | 321.250 | 0.99 | 146640 |
| G-048 | 48 | interior | Allow | 170.917 | 208.375 | 482.541 | 1.00 | 221360 |
Runtime Enforcement for AI Agents
Runtime enforcement for AI agents checks and constrains actions as they execute, helping prevent unsafe or unauthorized effects.
See all 270 papers