Security Checklist Before Shipping an Agent to Production
Use this as a go/no-go gate before real users, real data, or real money touch an agent with tools.
Search across all documentation pages
Use this as a go/no-go gate before real users, real data, or real money touch an agent with tools.
Tick items only when evidence exists in code, config, or a linked doc - not when they are "planned for next sprint."
run_shell absent from prod registry (or break-glass only with approval).--network none or equivalent unless justified.| Artifact | Linked? | Owner |
|---|---|---|
| Threat model one-pager | ||
| Tool allowlist + approval matrix | ||
| Sandbox config (network, limits, image digest) | ||
| Secret inventory + rotation/revoke notes | ||
| Egress allowlist + deny test results | ||
| Kill-switch drill notes | ||
| Sample redacted audit trace | ||
| Incident runbook link |
| Autonomy | Minimum beyond "docs exist" |
|---|---|
| Draft only | B7-B9, D26, E37, F39, F41 |
| Recommend | + B12-B14, D23-D25, F43 |
| Supervised execute | + C15-C21, D27-D31, E32-E36, F40, F44 |
| Narrow unsupervised | + full E, stronger B13 dual control where needed, F46 formal sign-off |
If you cannot staff kill switch and on-call, do not enable unsupervised execute.
No. Internal agents with prod credentials often have higher blast radius because people trust them more.
Generic shell or open HTTP tools still enabled "temporarily," plus long-lived admin API keys in the worker env.
Yes for isolation of code, but you still need least-privilege tools, scoped creds, egress policy, and budgets.
This is an agent-specific control list that feeds those programs. Map items into your existing control library.
You need every box that matches your data and autonomy. Smaller audience does not shrink shell risk if keys are real.
Joint: product owner + engineering + security. Security should be able to say no on B/C/D/E failures.
On every tool add, privilege increase, new tenant type, major model/provider change, and on a fixed calendar review.
Before unsupervised tools touch untrusted content. Item 48 is the checklist hook; use the prompt-injection section for methods.
Ship draft-only or supervised modes first. Document residual risk if anyone insists on unsupervised execute without controls.
No. LangGraph, CrewAI, OpenAI Agents SDK, and others do not replace your allowlists, sandboxes, and secret layout.
Automated tests plus a staging probe against metadata IP, random public host, and an allowlisted host.
Checklist is go-live evidence. Runbook is what humans do when alerts fire after launch.
Stack versions: Pins from the category manifest (verify at build): OpenRouter (~315+ models, July 2026 pricing/fees); LangGraph 1.0+; CrewAI 1.14+; Microsoft Agent Framework 1.0; Vercel AI SDK 6; Pydantic AI (latest); LlamaIndex (latest); OpenAI Agents SDK (latest + MCP); MCP (Linux Foundation governance); A2A (HTTP+SSE+JSON-RPC 2.0); Solana
@solana/web3.js+@solana/spl-token.
Reviewed by Chris St. John·Last updated Jul 16, 2026