Op 26 oktober beschreven onderzoekers van het beveiligingsbedrijf Forever Security een aanval die opvallend weinig techniek nodig had. Op de computer van een klant stond in de map Downloads een gewoon tekstbestand met de naam AGENTS.md. Zo'n bestand is bedoeld als werkinstructie voor een AI-agent: een programma dat zelfstandig taken uitvoert op je computer, zoals code schrijven, bestanden aanpassen of software installeren. Dit bestand zag eruit als nette richtlijnen voor programmeurs. Verstopt daartussen stond de opdracht om een kwaadaardig softwarepakket te installeren. De beveiliging van de klant hield die installatie tegen. Niemand wist hoe het bestand daar was gekomen.
In hun eigen proeven deed de programmeerhulp Codex van OpenAI in meer dan 90 procent van de pogingen wat het bestand zei. Claude Code van Anthropic, waarvoor de onderzoekers een eigen variant schreven, volgde de omleiding naar een server van de aanvallers in ongeveer de helft van de gevallen. Volgens de onderzoekers valt er voor die twee leveranciers niets te repareren: een agent die de instructies in zijn map opvolgt, doet precies waarvoor hij gebouwd is. Er werd geen fout in software misbruikt. Er werd alleen iets opgeschreven.
Mijn stelling is dat dit voor elk bedrijf geldt dat AI-agents inzet, niet alleen voor programmeurs. Een AI-agent kan informatie niet onderscheiden van een opdracht. Wat hij mag, moet daarom afhangen van wat hij leest. Een agent die tekst van buiten verwerkt, mag niet zelfstandig iets doen wat niet terug te draaien is.
Een taalmodel kent geen verschil tussen lezen en gehoorzamen
Het Britse nationale cyberbeveiligingscentrum NCSC legde in december 2025 uit waarom dit zo hardnekkig is. Bij gewone software kun je gegevens en opdrachten strikt gescheiden houden. Een taalmodel, de techniek achter ChatGPT, Claude en vergelijkbare assistenten, heeft die scheiding niet. Alles wat erin gaat is tekst, en uit al die tekst bepaalt het model wat het daarna doet. Een zin in de mail van een onbekende weegt voor het model in principe net zo zwaar als een zin die jij zelf als opdracht typt.
Het NCSC verwacht daarom dat dit probleem, dat vakmensen prompt-injectie noemen, misschien nooit helemaal is op te lossen. Het advies is dan ook niet om het volledig te voorkomen, maar om de schade te beperken. Daar hoort een regel bij die ik voor elke directeur bruikbaar vind: als een taalmodel informatie van een partij verwerkt, zakken zijn bevoegdheden naar die van die partij. Leest jouw agent een mail van een onbekende afzender, dan zou hij op dat moment niet meer mogen kunnen dan die afzender.
Dit gaat niet alleen over programmeurs
Het is verleidelijk om de aanval via de map Downloads af te doen als iets voor softwarebedrijven. Dat zou een vergissing zijn, want het mechanisme is overal hetzelfde. Een agent die je inbox sorteert, leest mails van vreemden. Een agent die offertes vergelijkt, leest bestanden van leveranciers. Een agent die op internet prijzen of gegevens opzoekt, leest websites die iedereen kan maken. In elk van die teksten kan een zin staan die zich voordoet als opdracht: stuur deze factuur door, wijzig dit rekeningnummer, mail dit dossier naar dat adres.
Hoe gewoon zulke agents al zijn, blijkt uit onderzoek dat ServiceNow op 20 oktober publiceerde onder ruim 3.700 beslissers op het gebied van beveiliging en techniek in twintig landen. Volgens dat onderzoek had 90 procent van hun organisaties het afgelopen jaar een beveiligingsincident met een AI-agent. Twee derde kan niet automatisch ingrijpen als een agent zich vreemd gedraagt. In de Nederlandse cijfers, die Techzine op 28 oktober uitlichtte, ging het om 91 procent, en loste 34 procent het incident binnen een dag op.
Die cijfers moet je met enige voorzichtigheid lezen. Het zijn antwoorden op een enquête, het gaat vooral om grote organisaties, en ServiceNow verkoopt zelf beveiliging voor agents. Maar de richting is duidelijk: de agents draaien al, de bescherming komt erachteraan.
Het sterkste tegenargument: de modellen worden beter
De meest gehoorde tegenwerping is dat dit een overgangsprobleem is. Modellen leren steeds beter om verdachte opdrachten te negeren, en de proeven lijken dat te steunen: Claude Code liet zich duidelijk minder vaak misleiden dan Codex. Over een jaar, zo gaat de redenering, is dit opgelost en kun je een agent gewoon vertrouwen.
Ik geloof dat de modellen beter worden. Ik geloof niet dat dat genoeg is. Een slot dat de helft van de inbrekers tegenhoudt, noemt niemand veilig. Bovendien hoeft een aanvaller maar één keer te slagen, terwijl jouw agent elke dag honderden mails en documenten leest. De Cloud Security Alliance, een brancheorganisatie voor cloudbeveiliging, concludeerde op 27 oktober in een analyse van deze en eerdere aanvallen dat de reparaties van de leveranciers nodig zijn, maar niet voldoende. Haar advies is om niet te vertrouwen op geschreven regels die het model zelf moet naleven, maar verboden vast te leggen in instellingen die de agent niet kan omzeilen.
Dat sluit aan bij het NCSC. Wie zijn veiligheid laat afhangen van het oordeel van het model, legt dat oordeel uiteindelijk in handen van degene die de slimste tekst schrijft.
Scheid de agent die leest van de agent die handelt
Wat betekent dit in de praktijk? Dat je bij elke agent twee vragen stelt en de antwoorden naast elkaar legt. Welke tekst van buiten krijgt hij te lezen? En wat kan hij doen dat niet terug te draaien is: geld overmaken, mail versturen namens het bedrijf, klantgegevens delen, software installeren?
Zolang een agent alleen tekst leest die jij of je collega's schreven, blijft het risico beperkt. Zodra hij tekst van vreemden verwerkt, moet hij die tweede soort handelingen niet meer zelf kunnen uitvoeren. Dan stelt hij voor, en een mens keurt goed. Of je verdeelt het werk: de ene agent leest de binnenkomende post en maakt er een samenvatting van, een tweede agent die nooit rechtstreeks post van buiten ziet, voert alleen uit wat een medewerker heeft goedgekeurd.
Hetzelfde geldt voor de instructies zelf. Bestanden met werkinstructies voor agents zijn in feite software geworden. Het verdient dezelfde vraag als elk programma op je computers: wie heeft dit geschreven, en wie mag het veranderen?
Ik bouw zelf ook zo. Bij Gemeenteregels, mijn app die vragen over gemeentelijke regels beantwoordt, wordt de vraag van de bezoeker afgeschermd verwerkt, geeft het model zijn antwoord in een vast schema en wordt dat antwoord gecontroleerd voordat het getoond wordt. Het model mag formuleren. Het bepaalt niet zelf wat er naar buiten gaat.
De keuze die je nu moet maken
Zet de AI-agents in je bedrijf op een rij, ook die in pakketten van leveranciers. Schrijf per agent op welke tekst van buiten hij leest en welke handelingen hij zelf kan uitvoeren die niet terug te draaien zijn. Waar in beide kolommen iets staat, kies je nu: of de agent leest geen tekst van buiten meer, of hij verliest het recht om zelf te handelen en legt zijn voorstel eerst aan een mens voor.
Koop je een agent in, vraag dan niet hoe slim het model is, maar wat de agent nog kan nadat hij een mail van een vreemde heeft gelezen. Is het antwoord dat het model verdachte opdrachten herkent, dan weet je dat de veiligheid afhangt van wie de beste tekst schrijft.
Bronnen
- AI coding agents fall for malicious instructions planted in the Downloads folder, Help Net Security, 2026-10-26
- Prompt injection is not SQL injection (it may be worse), National Cyber Security Centre (VK), 2025-12-08
- ServiceNow Research Study Warns Security Leaders: Ungoverned Agentic AI Exposure Is Compounding Inside Enterprises, ServiceNow, 2026-10-20
- 91% Nederlandse organisaties had incident met AI-agent, Techzine, 2026-10-28
- Markdown Is the New Executable: Instruction-File Poisoning of AI Coding Agents, Cloud Security Alliance, 2026-10-27