Three Boxes to Put an AI Agent In
A write-up doing the rounds this week frames AI agent security as three layers: sandboxes, permissions, and network controls. It is written for engineers, and the useful part translates cleanly for anyone running a business. Almost everything published about agent risk tells you what could go wrong, which is interesting and not actionable. This framing does something better. It assumes something will eventually go wrong, and asks how far the damage can travel when it does. That question has real answers.
Prediction is the wrong tool
Agents fail in ways nobody put on a list. They follow instructions buried inside a document they were asked to summarise. They misread an ambiguous request in a way that looks entirely reasonable in hindsight. They take a sensible action against the wrong record. Any approach that depends on having anticipated the specific failure is one novel surprise away from not working, and novel surprises are the defining feature of this technology. Containment asks nothing of your foresight. An agent that can reach three folders and two systems has a bounded worst case regardless of how creatively it goes wrong.
The three boxes, in plain terms
| Box | The question it answers | Practical version |
|---|---|---|
| Execution | What can it run? | A throwaway environment, not a real machine |
| Access | What can it open? | Its own account, only the data it needs |
| Reach | Where can it send things? | A short list of approved destinations |
These are not equally urgent for a small business. The first box matters mainly if your agent writes and runs code, which most do not. The third is the hardest to implement without technical help and the easiest to skip early. The second is the one nearly everybody needs, nearly everybody can do this week, and nearly everybody has quietly got wrong.
Stop lending the agent a human login
Here is the single most common shortcut, and it is understandable, because it is genuinely the fastest way to get an agent working. Someone hands it credentials that already exist, usually belonging to whoever set it up, usually a person with broad access accumulated over years. The agent now inherits every one of those permissions, including the ones nobody remembers granting. Worse, it destroys traceability: the logs record a human name against actions that human never took, which is exactly the gap behind businesses that cannot trace what their agents do. Giving the agent its own narrow account fixes the blast radius and the audit trail in one step.
Why reach matters more than it sounds
The third box is the least intuitive and it is the one that turns a mistake into an incident. An agent that reads a poisoned document and gets confused is a bad afternoon. An agent that reads a poisoned document and can also send data to any address on the internet is a breach, and the difference between those two outcomes is entirely a question of where it was allowed to connect. That is the mechanism behind prompt injection, and it is why constraining destinations does more work than trying to sanitise every input an agent might encounter.
Approvals are not containment
A human approval step is worth having and it is not a substitute. Approvals degrade under volume, because someone asked to approve two hundred items will approve them, and a control that becomes a formality is worse than no control because it manufactures false confidence. Approvals also only cover the actions you thought to route through them. Containment works differently: it limits what is possible rather than what is permitted, so it holds at three in the morning when nobody is watching. The sensible split is to require approval for consequential and irreversible actions, and rely on the boxes for everything else.
Start where the value is
If you take one action this week, create a separate account for each agent with the shortest permission list that lets it do its job, then review that list once a quarter, because permissions only ever grow. It is unglamorous, it requires no new software, and it does more for your actual exposure than any amount of reading about how agents can be hijacked. The same instinct applies to money as to data: bound what is possible in advance, which is why turning on spend controls belongs in the same afternoon.
Frequently Asked Questions
What is the idea here?
A widely shared write-up this week set out AI agent security as three layers: sandboxes that limit what code an agent can execute, permissions that limit what data and systems it can reach, and network controls such as proxies that limit where it can send anything. The reason that framing is useful is that it stops trying to predict what an agent will do wrong. Instead it assumes something eventually goes wrong and asks a simpler question: when it does, how far can the damage travel? That question has concrete answers, and prediction does not.
Why is containment better than prevention?
Because agents fail in ways nobody enumerated in advance. They follow instructions hidden inside a document they were asked to read, they misinterpret an ambiguous request, they take a reasonable-looking action against the wrong record. You cannot write a list of every bad outcome, and any security approach that depends on having written that list is one surprise away from failing. Containment does not require foresight. If an agent can only touch three folders and can only reach two systems, the worst case is bounded no matter how it goes wrong.
What do the three boxes look like in a small business?
They translate more simply than the technical language suggests. The first box is execution: if an agent runs code or scripts, that should happen in a throwaway environment, not on a machine that matters. The second is access: give the agent its own account with only the folders, inboxes, and records it needs, never a shared admin login. The third is reach: limit where it can send data and which external services it can call. Most small businesses can implement the second box today with existing tools, and it is the one that eliminates the most risk.
What should we do first?
Give the agent its own identity with narrow permissions. This is the highest-value step and the most commonly skipped, because the fastest way to make an agent work is to hand it credentials that already exist, usually belonging to a person with broad access. Doing that inherits every permission that person accumulated over years, and it also destroys your audit trail, because the logs will show a human name against actions no human took. A separate account with a short list of permissions fixes the blast radius and the traceability problem at the same time.
Is a human approval step enough on its own?
It helps, and it is not sufficient. Approval steps degrade quickly under volume, because a person asked to approve two hundred items will approve them, and what began as a control becomes a formality with a timestamp. Approval also only covers the actions you thought to route through it. The three boxes work differently: they limit what is possible rather than what is permitted, so they hold even when nobody is paying attention. Use approvals for consequential and irreversible actions, and use containment for everything else.
Deploy agents with the damage bounded
We help Canadian businesses give AI agents their own identities, narrow permissions, and limited reach, so a surprise stays a small one.
Related Articles
From Chatbots to Agent Gateways: How to Control What AI Agents Can Touch
Google DeepMind Maps 6 Ways Hackers Can Hijack Your AI Agent
AI Safety Testing Is Moving Outside the Vendors
Ajan leads the ChatGPT.ca team: 200+ custom GPT builds and automation projects for 50+ businesses across 20+ industries. Based in Markham, Ontario. PIPEDA-compliant solutions.