AI agents now write code, run commands and browse on our behalf. Sooner or later one will follow an instruction we did not give. A good sandbox makes sure that, when it does, it finds nothing of value and has nowhere to send it. Four ways a sandbox falls short, and what a good one looks like. AI-agents schrijven nu code, voeren opdrachten uit en surfen namens ons. Vroeg of laat volgt er één een opdracht die wij niet gaven. Een goede zandbak zorgt ervoor dat hij dan niets van waarde vindt en het nergens heen kan sturen. Vier manieren waarop een zandbak tekortschiet, en hoe een goede eruitziet.
Coding agents and AI assistants that run commands usually start on an employee's laptop or a shared server. There they work with that person's rights: files, saved passwords, cloud keys, and often a route into production. They also read text nobody checked: web pages, tickets, other people's code. A hidden instruction in that text can steer them (see AI at work). NCSC UK (blog, December 2025) warns that this may never be fully fixed inside the model. It advises safeguards outside the model that limit what the system can do. A sandbox is such a safeguard.
Business impact: whatever the person can reach, a hijacked agent can reach too, at machine speed. Built-in sandboxes are not always on: Anthropic's documentation (2026) says the Claude Code sandbox is off by default. We suggest checking the setting rather than assuming it, and giving agents a machine of their own rather than someone's laptop.
Codeeragents en AI-assistenten die opdrachten uitvoeren, starten meestal op de laptop van een medewerker of op een gedeelde server. Daar werken ze met de rechten van die persoon: bestanden, opgeslagen wachtwoorden, cloudsleutels, en vaak een weg naar productie. Ze lezen ook tekst die niemand controleerde: webpagina's, tickets, code van anderen. Een verborgen opdracht in die tekst kan ze sturen (zie AI op de werkvloer). Het NCSC UK (blog, december 2025) waarschuwt dat dit binnen het model misschien nooit helemaal te verhelpen is. Het adviseert waarborgen buiten het model die beperken wat het systeem kan doen. Een zandbak is zo'n waarborg.
Bedrijfsimpact: waar de persoon bij kan, kan een gekaapte agent ook bij, op machinesnelheid. Ingebouwde zandbakken staan niet altijd aan: volgens de documentatie van Anthropic (2026) staat de zandbak van Claude Code standaard uit. Wij raden aan de instelling te controleren in plaats van aan te nemen, en agents een eigen machine te geven in plaats van iemands laptop.
Hidden instructions are cheap to write and test. An attacker only needs the agent to read one poisoned page or ticket.Verborgen opdrachten zijn goedkoop te schrijven en te testen. Een aanvaller hoeft de agent maar één vergiftigde pagina of ticket te laten lezen.
A colleague can ask an agent with broad rights to fetch data they would not normally open. The logs then show the agent, not the person.Een collega kan een agent met ruime rechten data laten ophalen die hij normaal niet zou openen. De logs tonen dan de agent, niet de persoon.
Filters that spot hidden instructions catch known patterns only. A sandbox limits the damage whether or not the filter fires.Filters die verborgen opdrachten herkennen, vangen alleen bekende patronen. Een zandbak beperkt de schade, of het filter nu afgaat of niet.
Not every sandbox is equally strong. A container keeps programs apart, but every container on a machine talks to the same kernel. The gVisor documentation (2026) puts it plainly: such a workload is "one system call away from host compromise". Stronger walls exist. gVisor adds its own kernel layer between the program and the machine. A microVM such as Firecracker, which runs AWS Lambda, or a full virtual machine gives the agent a kernel of its own. Anthropic's documentation (2026) calls a dedicated virtual machine the strongest separation.
Business impact: a container is often enough for your own reviewed code. For code an AI wrote after reading the internet, or a repository you do not trust, a stronger wall is worth the extra cost. OWASP lists unexpected code execution among the ten main risks for AI agents (Top 10 for Agentic Applications, December 2025).
Niet elke zandbak is even sterk. Een container houdt programma's uit elkaar, maar elke container op een machine praat met dezelfde kernel. De documentatie van gVisor (2026) zegt het zonder omwegen: zo'n workload is "één systeemaanroep verwijderd van overname van de host". Er bestaan sterkere muren. gVisor zet een eigen kernellaag tussen het programma en de machine. Een microVM zoals Firecracker, waarop AWS Lambda draait, of een volledige virtuele machine geeft de agent een eigen kernel. De documentatie van Anthropic (2026) noemt een eigen virtuele machine de sterkste scheiding.
Bedrijfsimpact: voor uw eigen, beoordeelde code is een container vaak genoeg. Voor code die een AI schreef na het lezen van internet, of een repository die u niet vertrouwt, is een sterkere muur de extra kosten waard. OWASP noemt onverwachte code-uitvoering bij de tien belangrijkste risico's voor AI-agents (Top 10 for Agentic Applications, december 2025).
Escaping a container still needs a kernel flaw. AI can help adapt a published flaw faster; a kernel of its own still raises the bar.Ontsnappen uit een container vraagt nog steeds een kernelfout. AI kan helpen een gepubliceerde fout sneller aan te passen; een eigen kernel legt de lat hoger.
An agent told to "just make it work" may ask to rerun a blocked command outside the sandbox. One tired click lets it out.Een agent die "het gewoon werkend moet krijgen" kan vragen een geblokkeerde opdracht buiten de zandbak te herhalen. Eén vermoeide klik laat hem eruit.
Central policy can make the sandbox mandatory, and stop the agent when the sandbox fails to start instead of quietly running without it.Centraal beleid kan de zandbak verplicht maken, en de agent stoppen als de zandbak niet start, in plaats van stilletjes zonder te draaien.
A sandbox with open internet access and real keys inside is a locked room with the window open. A hijacked agent can send what it reads to any site, or use a key it finds to log in elsewhere. Anthropic's documentation (2026) is plain about it: any sandbox that allows outbound traffic can still leak data the agent can read. Two settings close most of this. Outbound traffic is blocked by default, with a short list of allowed sites. And the real keys stay outside: a broker hands in a short-lived token for one task.
Business impact: without these two, a sandbox protects the laptop but not your data or your cloud account. With them, a hijacked agent finds nothing worth stealing and nowhere to send it. OWASP's AI Agent Security Cheat Sheet advises against unrestricted tool access and wildcard permissions for the same reason.
Een zandbak met open internettoegang en echte sleutels erin is een afgesloten kamer met het raam open. Een gekaapte agent kan wat hij leest naar elke site sturen, of een sleutel die hij vindt gebruiken om elders in te loggen. De documentatie van Anthropic (2026) zegt het duidelijk: elke zandbak die uitgaand verkeer toestaat, kan nog steeds data lekken die de agent kan lezen. Twee instellingen sluiten het meeste hiervan af. Uitgaand verkeer staat standaard dicht, met een korte lijst toegestane sites. En de echte sleutels blijven buiten: een sleutelbeheerder geeft een kortlevend token voor één taak.
Bedrijfsimpact: zonder deze twee beschermt een zandbak de laptop, maar niet uw data of uw cloudaccount. Met deze twee vindt een gekaapte agent niets wat het stelen waard is, en kan hij het nergens heen sturen. De AI Agent Security Cheat Sheet van OWASP raadt om dezelfde reden onbeperkte tooltoegang en jokerrechten af.
Getting an agent to put data into a web address is a known trick. The data leaves inside an ordinary-looking request.Een agent data in een webadres laten zetten is een bekende truc. De data vertrekt in een verzoek dat er gewoon uitziet.
A key left inside a sandbox outlives the task. Anyone who later reads the image or the logs can reuse it.Een sleutel die in een zandbak achterblijft, overleeft de taak. Wie later de image of de logs leest, kan hem hergebruiken.
The proxy log shows every attempt to reach a site not on the list. That is often the first sign an agent was steered.Het proxylog toont elke poging om een site buiten de lijst te bereiken. Dat is vaak het eerste teken dat een agent werd gestuurd.
"Sandbox" also means a place to try AI. A team starts a pilot in a separate environment. To make the demo convincing, someone copies in real customer data. To make it useful, someone connects a live system. Months later the pilot is in daily use, with no owner, no logging and no review. Personal data in a pilot is still personal data: the GDPR applies there too.
Business impact: the riskiest AI system is often the one nobody decided to run. We suggest three rules for every AI pilot: fake or masked data, an end date with exit criteria, and one route to production through the normal review. Not to be confused with the AI Act's "regulatory sandbox": a supervised test space that the AI Act requires each Member State to have running by 2 August 2027 (Art. 57, date moved by the 2026 AI Omnibus). Worth knowing if you build AI products; it is not a technical control.
"Zandbak" betekent ook een plek om AI uit te proberen. Een team start een pilot in een aparte omgeving. Om de demo overtuigend te maken, kopieert iemand echte klantdata erin. Om hem nuttig te maken, koppelt iemand een live systeem. Maanden later is de pilot dagelijks in gebruik, zonder eigenaar, zonder logging en zonder review. Persoonsgegevens in een pilot blijven persoonsgegevens: de AVG geldt daar ook.
Bedrijfsimpact: het riskantste AI-systeem is vaak het systeem waarvan niemand besloot het te laten draaien. Wij stellen drie regels voor elke AI-pilot voor: nep- of gemaskeerde data, een einddatum met exitcriteria, en één route naar productie via de gewone review. Niet te verwarren met de "regulatory sandbox" uit de AI-verordening: een testomgeving onder toezicht die volgens de AI-verordening elke lidstaat uiterlijk 2 augustus 2027 moet hebben (art. 57, datum verschoven door de AI-omnibus van 2026). Goed om te weten als u AI-producten bouwt; het is geen technische maatregel.
A forgotten pilot is rarely patched or watched. That makes it an easy way in, with real data behind it.Een vergeten pilot wordt zelden gepatcht of bewaakt. Dat maakt hem een makkelijke ingang, met echte data erachter.
Copying a customer export into a pilot takes minutes and looks like helpfulness. Nobody asks where the data went.Een klantexport in een pilot kopiëren kost minuten en lijkt behulpzaam. Niemand vraagt waar de data bleef.
AI can generate realistic synthetic records, so real customer data is rarely needed to test an idea.AI kan realistische synthetische records maken, dus echte klantdata is zelden nodig om een idee te testen.
Where to start is your call. The agent gets a machine with nothing of value in it. Every way out is a control point: named sites, short-lived keys, a person's yes.
Waar u begint, bepaalt u zelf. De agent krijgt een machine zonder iets van waarde erin. Elke uitgang is een controlepunt: genoemde sites, kortlevende sleutels, het ja van een mens.
| Control | Addresses | In one line |
|---|---|---|
| Throwaway sandbox per task | Your rights (01) | A fresh machine for each task, wiped afterwards. Nothing of value inside, and nobody's laptop. |
| Sandbox enforced centrally | Your rights (01) | Set and locked by policy: agents run sandboxed, or they do not run. |
| Wall matched to risk | The wall (02) | A container for your own reviewed code; gVisor, a microVM or a VM for AI-written code and untrusted repositories. |
| Outbound blocked by default | The door (03) | A short allowlist, such as the model API and an internal package mirror. Everything else is blocked and logged. |
| No standing keys inside | The door (03) | A broker holds the secrets and hands in short-lived tokens for one task. |
| A person at every exit | All (01–04) | Merging code, deploying, sending mail and paying wait for a named person. |
| Pilot rules | The pilot (04) | Fake or masked data, an end date with exit criteria, and one route to production through normal review. |
| Logs outside the sandbox | All (01–04) | Commands, network requests and approvals, kept where an agent cannot reach them. |
| Maatregel | Pakt aan | In één zin |
|---|---|---|
| Wegwerpzandbak per taak | Uw rechten (01) | Een verse machine voor elke taak, daarna gewist. Niets van waarde erin, en niemands laptop. |
| Zandbak centraal afgedwongen | Uw rechten (01) | Ingesteld en vastgezet via beleid: agents draaien in de zandbak, of ze draaien niet. |
| Muur passend bij het risico | De muur (02) | Een container voor uw eigen, beoordeelde code; gVisor, een microVM of een VM voor code van AI en repositories die u niet vertrouwt. |
| Uitgaand standaard dicht | De deur (03) | Een korte lijst toegestane sites, zoals de model-API en een interne pakketbron. Al het andere wordt geblokkeerd en gelogd. |
| Geen vaste sleutels binnen | De deur (03) | Een sleutelbeheerder bewaart de geheimen en geeft kortlevende tokens voor één taak. |
| Een mens bij elke uitgang | Alles (01–04) | Code mergen, uitrollen, mail versturen en betalen wachten op een genoemde persoon. |
| Pilotregels | De pilot (04) | Nep- of gemaskeerde data, een einddatum met exitcriteria, en één route naar productie via de gewone review. |
| Logs buiten de zandbak | Alles (01–04) | Opdrachten, netwerkverkeer en goedkeuringen, bewaard waar een agent er niet bij kan. |
Agents read untrusted text every day, and NCSC UK expects hidden instructions to stay a problem. Whether it hurts depends on where the agent runs.Agents lezen elke dag onbetrouwbare tekst, en het NCSC UK verwacht dat verborgen opdrachten een probleem blijven. Of het pijn doet, hangt af van waar de agent draait.
Without a sandbox, a hijacked agent has a person's full reach: data, cloud keys and a route into production, at machine speed.Zonder zandbak heeft een gekaapte agent het volledige bereik van een persoon: data, cloudsleutels en een weg naar productie, op machinesnelheid.
In a throwaway machine with outbound traffic blocked and no standing keys, a hijacked agent finds little and can send nothing. A person at each exit covers the rest.In een wegwerpmachine met uitgaand verkeer dicht en zonder vaste sleutels vindt een gekaapte agent weinig en kan hij niets versturen. Een mens bij elke uitgang dekt de rest.
The CISO sets the sandbox standard; the head of engineering owns where agents run. Each pilot has a named business owner.De CISO bepaalt de zandbakstandaard; het hoofd engineering is eigenaar van waar agents draaien. Elke pilot heeft een genoemde eigenaar in de business.
Share of agent runs inside a sandbox · agents or sandboxes holding standing keys · blocked outbound attempts per week · AI pilots with real data or no end date.Aandeel agent-runs binnen een zandbak · agents of zandbakken met vaste sleutels · geblokkeerde uitgaande pogingen per week · AI-pilots met echte data of zonder einddatum.
“An AI agent that follows hidden instructions, or an AI pilot that outgrew its sandbox, uses an employee's rights, open internet access or real data to leak information or change systems without approval, because it was not run in an isolated environment with guarded exits.”“Een AI-agent die verborgen opdrachten volgt, of een AI-pilot die zijn zandbak ontgroeide, gebruikt de rechten van een medewerker, open internettoegang of echte data om informatie te lekken of systemen zonder goedkeuring te wijzigen, omdat hij niet in een geïsoleerde omgeving met bewaakte uitgangen draaide.”
| Framework | What it requires of you | When a supplier hands you their report | When this incident happens |
|---|---|---|---|
| NIS2 | NIS2 requires security in the development and maintenance of systems (Art. 21(2)(e)) and access control policies (Art. 21(2)(i)). AI agents that write or run code fall under both. In the Netherlands this runs through the Cyberbeveiligingswet, in force since 15 August 2026. | Ask whether their AI agents run in an isolated environment, with whose rights, and whether your data ever enters one. | A hijacked agent that leaks data or disrupts a service can count as a significant incident if it meets the thresholds. Early warning within 24 hours of becoming aware, incident notification within 72 hours, final report within one month. |
| DORA | DORA requires limiting logical access to ICT assets to what legitimate, approved functions need (Art. 9(4)(c)). An agent's rights are access rights. DORA has applied since 17 January 2025. | If an ICT third party uses AI agents on your systems or data, ask for sandboxing, outbound limits and logs in the contract. | Classify promptly. Initial notification within 4 hours of classifying it as major (at most 24 hours after becoming aware), intermediate report within 72 hours of the initial notification, final report within one month. |
| SOC 2 | CC6.1 covers logical access, CC6.6 protection against threats from outside the system boundary, and CC8.1 change management, which an agent's changes should pass through. | Check whether AI agents and their environments appear in the system description at all. If they do not, the report says nothing about them. | An incident in scope will likely appear as an exception in the next report. |
| ISAE 3402 | The focus is financial reporting. AI agents appear only as general IT controls where they can change the financial process. | Ask whether AI agents can change anything in the financial process, and through which approval. | ISAE 3402 creates no duty to notify user auditors. Expect a deviation in the next report, and ask for interim disclosure in the contract. |
| Kader | Wat het van u vraagt | Als een leverancier u zijn rapport geeft | Als dit incident u treft |
|---|---|---|---|
| NIS2 | NIS2 vraagt beveiliging bij de ontwikkeling en het onderhoud van systemen (art. 21 lid 2 onder e) en beleid voor toegangsbeheer (art. 21 lid 2 onder i). AI-agents die code schrijven of uitvoeren, vallen onder beide. In Nederland loopt dit via de Cyberbeveiligingswet, van kracht sinds 15 augustus 2026. | Vraag of hun AI-agents in een geïsoleerde omgeving draaien, met wiens rechten, en of uw data daar ooit in komt. | Een gekaapte agent die data lekt of een dienst verstoort, kan als significant incident gelden als het de drempels haalt. Vroegtijdige waarschuwing binnen 24 uur na ontdekking, incidentmelding binnen 72 uur, eindverslag binnen een maand. |
| DORA | DORA vraagt logische toegang tot ICT-middelen te beperken tot wat legitieme, goedgekeurde functies nodig hebben (art. 9 lid 4 onder c). De rechten van een agent zijn toegangsrechten. DORA geldt sinds 17 januari 2025. | Als een ICT-derde AI-agents gebruikt op uw systemen of data, vraag dan in het contract om een zandbak, beperkt uitgaand verkeer en logs. | Classificeer snel. Eerste melding binnen 4 uur na classificatie als ernstig (uiterlijk 24 uur na ontdekking), tussenrapport binnen 72 uur na de eerste melding, eindrapport binnen een maand. |
| SOC 2 | CC6.1 gaat over logische toegang, CC6.6 over bescherming tegen dreigingen van buiten de systeemgrens, en CC8.1 over wijzigingsbeheer, waar ook de wijzigingen van een agent doorheen horen te gaan. | Controleer of AI-agents en hun omgevingen überhaupt in de systeembeschrijving staan. Zo niet, dan zegt het rapport er niets over. | Een incident binnen scope komt waarschijnlijk als afwijking in het volgende rapport. |
| ISAE 3402 | De focus ligt op de financiële verslaggeving. AI-agents komen alleen voor als algemene IT-beheersmaatregelen waar ze het financiële proces kunnen wijzigen. | Vraag of AI-agents iets in het financiële proces kunnen wijzigen, en via welke goedkeuring. | ISAE 3402 schept geen meldplicht aan de auditors van gebruikers. Verwacht een afwijking in het volgende rapport en vraag in het contract om tussentijdse melding. |
Checked against: NCSC UK, Prompt injection is not SQL injection (8 Dec 2025), OWASP Top 10 for Agentic Applications 2026 (9 Dec 2025), OWASP AI Agent Security Cheat Sheet (checked Oct 2026), Anthropic Claude Code sandboxing and sandbox environments (2026), gVisor documentation (2026), Firecracker (2026), AI Act Art. 57 as amended by Regulation (EU) 2026/1744 (consolidated 27 Jul 2026), NIS2 Art. 21 and 23, DORA Art. 9 and 19, GDPR Art. 4, NCSC-NL (Aug 2026), AICPA Trust Services Criteria CC6.1, CC6.6 and CC8.1 (2017, points of focus 2022) · October 2026.
Gecontroleerd tegen: NCSC UK, Prompt injection is not SQL injection (8 dec 2025), OWASP Top 10 for Agentic Applications 2026 (9 dec 2025), OWASP AI Agent Security Cheat Sheet (gecontroleerd okt 2026), Anthropic Claude Code sandboxing en sandbox environments (2026), gVisor-documentatie (2026), Firecracker (2026), AI-verordening art. 57 zoals gewijzigd door Verordening (EU) 2026/1744 (geconsolideerd 27 jul 2026), NIS2 art. 21 en 23, DORA art. 9 en 19, AVG art. 4, NCSC (aug 2026), AICPA Trust Services Criteria CC6.1, CC6.6 en CC8.1 (2017, aandachtspunten 2022) · oktober 2026.