
The AI Agent Recovery Drill Every Enterprise Should Run
An operational exercise for testing whether your organization can contain an agent, account for its actions, and restore service under accountable human authority.
A customer support agent retrieves a troubleshooting note. Inside the tool response is an instruction to export customer records to a purported diagnostic service. The agent attempts the export. Your monitoring raises an alert, and an operator disables the agent.
What happens to the work it already delegated?
That question belongs in every enterprise agent deployment review. A stopped process can leave behind queued jobs, pending approvals, cached permissions, and contaminated memory. Recovery requires knowing which of those remain active and what business effects have already occurred.
In my earlier discussion of runtime governance, I focused on connecting policy to execution. A recovery drill tests that connection under pressure. For security, AI platform, and business leaders, it provides evidence for deciding how much authority an agent should receive.
The exercise below is a proposed practical framework. It describes a fictional incident and has not been validated here against a production system.
Establish the exercise boundary
Use an isolated environment with synthetic customer records, dummy destinations, and test-only identities. Block production connectivity and external delivery. Verify those boundaries before introducing the scenario. No production credentials or customer information should enter the exercise.
Define the agent’s legitimate task: investigate one support ticket, retrieve the relevant account information, and prepare a response. Bulk export is prohibited. A simulated consequential account change requires approval from a named support manager.
Then introduce a poisoned tool response that claims a diagnostic export is necessary. This is an indirect prompt-injection scenario: untrusted content attempts to change the agent’s instructions. OWASP’s prompt-injection guidance discusses malicious external content and tool-output manipulation, and recommends enforcing permissions at the tool boundary.
Assign an exercise controller, an incident commander, the platform operator, and a business owner. Agree on stop conditions and success criteria before starting. Preserve an independent record of injected events so investigators can compare their reconstruction with known facts.
If the export attempt is blocked immediately, record that prevention result. Use a separately labeled, prearranged sandbox inject to test delegated work already in flight. Do not weaken the prevention control and quietly count the altered configuration as the same test.
Contain the whole execution chain
At the alert, ask the incident commander to invoke the documented containment procedure. Capture the time of the request and the time each enforcement point confirms it took effect.
Containment must reach the initiating agent and its descendants. Trace delegated identities, tool sessions, scheduled tasks, retries, and queued jobs. Identify where authority is checked: at submission, at execution, or both. A job accepted before revocation may still run afterward if the worker never checks again.
Test cached authorization explicitly. Revoking a grant at the source does not establish that every connector has stopped honoring a cached copy. Where a platform cannot revoke authority promptly, exercise a compensating boundary such as disabling the connector or isolating its outbound path. Record the resulting service impact.
Keep evidence collection available while stopping unsafe work. Preserve queue entries and decision records before destructive cleanup, without delaying urgent containment.
Finally, probe the boundaries. Attempt another prohibited sandbox export through the original agent, a delegate, and a retry path. Observe the receiving test service as well as the agent logs. A cancellation message proves that cancellation was requested; independent checks establish what actually stopped.
Make the approver unavailable
The second inject is operational: the designated support manager does not respond to the simulated account-change request.
Before the drill, define how long the request may remain pending, the alternate approver, and the escalation owner. For example, this exercise could expire approval requests after five minutes and route unresolved cases to the duty manager. The interval must fit the workflow’s consequences and service requirements.
When the timeout expires, verify that the gated action remains blocked. Silence must not become approval. A late response should require a fresh check of the action, target, and current authority.
Exercise business continuity at the same time. Route support cases to an authorized human queue, preserve their place and context, and give the business owner visibility into the backlog. Fail-closed behavior needs a workable manual fallback, with people who can perform the task and permissions appropriate to it.
Reconstruct authority and outcomes
Give investigators a concrete assignment: explain the incident from the available records without relying on the agent’s narrative.
They should reconstruct who granted authority, its scope and expiry, how delegation changed it, which policy version evaluated each request, and whether approval was requested or received. Link those decisions to tool calls, destination identifiers, timestamps, and observed outcomes using stable correlation IDs.
Separate proposed actions, submitted attempts, denied requests, confirmed executions, and unresolved outcomes. A tool timeout does not prove that the remote operation failed. Reconcile against the destination’s records before retrying anything that might create a duplicate effect.
Retain only the evidence needed for investigation. Protect it against alteration and inappropriate access; exclude secrets and unnecessary customer content. Missing telemetry should appear as an explicit uncertainty in the incident record.
This approach follows the broader incident-management discipline in NIST SP 800-61 Revision 3, which integrates preparation, response, and recovery into cybersecurity risk management. The agent-specific addition is tracing delegated authority and persistent context alongside ordinary system activity.
Restore service with an accountable restart decision
Reconcile every affected action before resuming the workflow. Reverse a database change only where a verified rollback is appropriate. Otherwise, document a compensating action, its owner, and its status.
An exported record or delivered message may be impossible to retrieve. Restoring a database cannot undo that disclosure. In the drill, record any delivery to the dummy destination as a simulated disclosure and exercise the required impact-assessment and notification decisions.
Inspect what the agent retained. Quarantine suspect memories, summaries, retrieved documents, and derived records while preserving evidence. Check shared stores and downstream agents for propagated content. OWASP’s Agentic Top 10 for 2026 identifies memory and context poisoning as a persistent risk, including corruption that spreads between agents.
Restore from a reviewed state, repair the failed boundary, and issue fresh, least-privilege authority. Revalidate queued work rather than replaying the backlog indiscriminately.
Require a named owner to authorize restart against documented criteria. Test normal service, the original malicious input, delegated execution, expired approvals, and retry behavior. Start with restricted traffic and heightened observation. Specify what evidence would trigger containment again and when the restart observation period ends.
Score what the exercise established
Use a short scorecard with thresholds approved before the drill:
Containment time: alert to containment request, then request to verified enforcement across every in-scope execution path. Record the slowest path.
Actions after revocation: count attempts, accepted calls, and completed effects separately. Distinguish newly initiated work from operations already in flight, and document propagation delays.
Trace completeness: report how many independently observed consequential attempts have linked grants, decisions, calls, destinations, and outcomes. List every unresolved outcome.
Approval behavior: verify timeout, escalation, late-response handling, and successful manual processing of a support case.
Recovery tests: record which tests passed, which failed, the reconciled side effects, quarantined state, and the person who authorized restart.
For this scenario, any completed unauthorized bulk export fails the prevention objective. Other thresholds should reflect explicitly defined policy and service requirements. An unexplained action or missing trace must remain visible; averaging scores should never conceal it.
Keep the report precise about scope. Passing this exercise supports a claim about the tested configuration, paths, and conditions. It does not certify the system or establish that all future attacks will be contained.
Close with an owner, due date, and retest condition for each finding. The incident-response playbook and assurance-pack templates in the Governance Toolkit provide a place to organize that work.
The leadership decision is how much operational authority the evidence supports. Run the drill before expanding that authority, and repeat relevant tests when permissions, delegation, connectors, or memory behavior change. Recovery readiness should be part of the deployment decision.
Sources
1. NIST, SP 800-61 Revision 3, final publication April 3, 2025. Publication and download.
2. OWASP, Top 10 for Agentic Applications for 2026, released December 9, 2025. Primary publication.
3. OWASP, LLM Prompt Injection Prevention Cheat Sheet, continuously maintained guidance, accessed October 11, 2026. Current guidance.
Get the free ACR Governance Toolkit — assess your maturity, classify agent risk, and test your incident response.
Want more governance insights?