Techniek / LLM01:2026 / AML.T0051
Wat is prompt injection?
Prompt injection is een aanval waarbij tekst die een taalmodel verwerkt, getypt door een gebruiker of verstopt in een document, e-mail of webpagina, de instructies van de ontwikkelaar overschrijft. Kort gezegd: het kapen van de instructies van een AI-systeem. OWASP zet het in 2026 opnieuw bovenaan de risico’s voor LLM-toepassingen.
Opgehaald / KB/0212 / Slenkwater Verzekeringen / fictie
Waterschade door een gesprongen leiding is gedekt tot de polislimiet.
Een claim wordt binnen tien werkdagen na de melding beoordeeld.
Een regel die een reviewer niet ziet en het model als opdracht leest. De tekst staat nergens op deze site.
Vragen die deze pagina niet beantwoordt, gaan naar de claimafdeling.
Prompt injection, kort gezegd
Prompt injection is een aanval op een toepassing die op een groot taalmodel (LLM) is gebouwd: tekst die het model verwerkt, verandert wat het model doet, tegen de bedoeling in van de mensen die de toepassing bouwden. Die tekst kan komen van de persoon in de chat, of van alles wat het model te lezen krijgt.
De naam is van september 2022. Simon Willison bedacht hem en trok meteen de vergelijking met SQL-injectie: in beide gevallen worden gegevens die alleen gelezen hadden moeten worden, als opdracht opgevolgd.1 Die vergelijking helpt de eerste vijf minuten. Daarna zit ze in de weg, om redenen die verderop aan bod komen.
OWASP spreekt van een prompt injection-kwetsbaarheid als prompts het gedrag of de output van het model op onbedoelde wijze veranderen, en zet die op de eerste plaats van de OWASP Top 10 for LLM Applications, de tien grootste risico’s van toepassingen op een taalmodel.2 Daar stond ze in de editie van 2025, en daar staat ze nog, als LLM01:2026, in de editie van 3 augustus 2026.3
MITRE ATLAS, de kennisbank van aanvalstechnieken op AI-systemen, beschrijft dezelfde aanval als techniek AML.T0051, LLM Prompt Injection: een mogelijke eerste toegang, een voet tussen de deur waarvandaan een aanvaller de volgende stappen zet.4
Wat is het verschil tussen directe en indirecte prompt injection?
Bij directe injectie is de aanvaller de gebruiker. Hij typt in de chat en probeert de toepassing van haar instructies af te praten. Bij indirecte injectie praat de aanvaller helemaal niet met het systeem. Hij zet tekst op een plek die het systeem later leest: een webpagina, een gedeeld document, een e-mail, een supportticket of de output van een tool.5
De indirecte vorm werd in 2023 beschreven door Greshake en collega’s, die haar lieten zien in echte toepassingen met een taalmodel en betoogden dat zulke toepassingen de grens tussen gegevens en instructies laten vervagen.6 ATLAS kent inmiddels een derde subtechniek, Triggered: een injectie die afgaat door een handeling van de gebruiker of een gebeurtenis in diens eigen omgeving.7
| Direct | Indirect | |
|---|---|---|
| Wie schrijft de tekst | De gebruiker van het systeem | Iedereen die kan schrijven waar het systeem leest |
| Kanaal | De chat of de API-invoer | Opgehaalde documenten, webpagina’s, e-mail, tickets, bestanden, tooloutput, geheugen |
| Wie de schade heeft | Vooral de aanbieder: beleid, kosten, reputatie | Vaak een andere gebruiker, met wiens rechten het systeem werkt |
| Wat het begrenst | Wat de gebruiker zelf al mag zien en doen | Wat het systeem namens het slachtoffer mag zien en doen |
Die laatste rij verklaart waarom indirecte injectie vooral voor agents telt. Een directe aanvaller kan alleen zijn eigen sessie misbruiken. Een indirecte aanvaller leent die van een ander: de agent leest de geplante tekst terwijl hij voor een legitieme gebruiker werkt, en handelt met diens toegang. Fig. 1 volgt zo’n regel door de supportagent van een fictieve verzekeraar, van de kennisbank tot in de stack eronder.
MODEL LAYER
STACK LAYER
- KNOWLEDGE BASE
- RETRIEVAL
- AGENT
- TOOLS
EMAIL / CRM / REFUNDS - MCP SERVER
- WEB APP
- API GATEWAY
- IDENTITY
- TENANT DATA
- OBJECT STORAGE
- CLOUD ACCOUNT
- 01 UNREVIEWED TEXT
STORED AS POLICY LLM01:2026 / PROMPT
INJECTION - 02 RETRIEVED AS TRUSTED
CONTEXT ASI06 / MEMORY AND
CONTEXT POISONING - 03 INSTRUCTION FOLLOWED LLM03:2026 / EXCESSIVE
AGENCY - 04 THIRD-PARTY TOOL,
NEVER REVIEWED ASI04 / AGENTIC SUPPLY
CHAIN - 05 TOKEN SCOPED WIDER
THAN THE TASK API1:2023 / BROKEN
OBJECT LEVEL
AUTHORIZATION GET /claims/48213 / 200 - 06 ANOTHER TENANT’S
RECORD WSTG-ATHZ / TENANT
ISOLATION
Is prompt injection hetzelfde als een AI-jailbreak?
Nee, maar ze overlappen. Een jailbreak probeert een model zijn veiligheidstraining te laten negeren: het moet iets zeggen wat het niet hoort te zeggen. Prompt injection probeert een toepassing de instructies van haar ontwikkelaar te laten negeren: het systeem moet iets doen wat het niet hoort te doen, met de gegevens en tools die het heeft. OWASP ziet jailbreaken als een vorm van prompt injection.8 MITRE ATLAS houdt ze uit elkaar en geeft de jailbreak een eigen techniek, AML.T0054, LLM Jailbreak.9
Voor een organisatie die een chatbot of agent inzet, is het onderscheid praktisch. Een jailbreak is vooral een probleem van imago en beleid. Een injectie die een agent een tool laat aanroepen, een document van een andere klant laat ophalen of een betaling laat voorbereiden, is een beveiligingsprobleem met een slachtoffer.
Waarom werkt prompt injection?
Een model krijgt één stroom tokens binnen. De instructies van de ontwikkelaar, het bericht van de gebruiker, een opgehaald document en het resultaat van een tool komen allemaal in diezelfde stroom, en niets daarin geeft aan welk deel een opdracht is en welk deel materiaal om mee te werken (Fig. 2). Modellen zijn getraind om de instructies van de ontwikkelaar zwaarder te laten wegen, maar dat is een geleerde neiging, geen regel die het systeem afdwingt.
Instructies van de ontwikkelaar
Bericht van de gebruiker
Opgehaald document
Resultaat van een tool
Eén contextvenster / geen type op een rij
De gemarkeerde rij kwam uit een document. Niets markeert haar als gegevens.
Het Britse National Cyber Security Centre zei het in december 2025 zonder omwegen: huidige taalmodellen dwingen geen beveiligingsgrens af tussen instructies en gegevens, prompt injection is misschien nooit helemaal te voorkomen, en het realistische doel is de kans op en de impact van aanvallen te verkleinen.10 De auteur noemt het model een “inherently confusable deputy”: een tussenpersoon die zich van nature laat verwarren. Precies daar breekt de vergelijking met SQL: SQL-injectie heeft een structurele oplossing, de geparametriseerde query, die gegevens uit het opdrachtkanaal houdt. Een taalmodel heeft geen apart kanaal om ze uit te houden.
OWASP komt via een andere route tot dezelfde conclusie: retrieval-augmented generation (RAG) en finetuning maken antwoorden relevanter, maar nemen prompt injection niet volledig weg.11 De nuttige vraag is dus niet hoe je het model onovertuigbaar maakt. De vraag is wat een overtuigd model kan doen.
Wat kan een aanvaller met prompt injection?
De impact van prompt injection is het bereik van het systeem waarin ze landt. De woorden van het model zijn zelden de schade; wat de toepassing ermee doet, wel. De gevolgen vallen in vier groepen.
- Lekken. Het model geeft prijs wat het wel kreeg maar niet mocht doorgeven: verborgen instructies, configuratie, gegevens van een andere gebruiker, documenten van de verkeerde klant. OWASP is duidelijk: een systeemprompt is geen geheim en geen beveiligingsmaatregel.12
- Handelingen. Een agent roept namens de aanvaller de tools aan die hij heeft: hij verstuurt de mail, dient de terugbetaling in, past het record aan. ATLAS beschrijft hoe een aanvaller zo de rechten van de gekoppelde dienst krijgt, en hoe een tool die schrijft gegevens kan meenemen in een handeling die er legitiem uitziet.13
- Output. Het antwoord van het model wordt verderop getoond of uitgevoerd zonder dat het als onbetrouwbare invoer wordt behandeld, en de injectie wordt een klassiek web- of code-execution-lek. OWASP noemt dat LLM10:2026, Improper Output Handling.3
- Blijvende sturing. De instructie belandt in het geheugen of in een gedeelde opslag, en blijft het systeem sturen, lang nadat de oorspronkelijke inhoud weg is.
De OWASP Top 10 for Agentic Applications, de tien grootste risico’s van AI-agents, noemt de agentversie van dit risico ASI01, Agent Goal Hijack: de aanvaller hoeft het model niets verkeerds te laten zeggen, alleen een ander doel te laten najagen met de tools die het al heeft.14
Werkt prompt injection ook in het Nederlands, en wat zegt de AI Act?
Ja. Een taalmodel leest Nederlands, en een aanvaller kan schrijven in elke taal die het model begrijpt, of in een mengsel van talen. Voor indirecte injectie maakt de taal van de bron niet uit: een Nederlandstalig beleidsdocument, een klantmail of een webpagina in de kennisbank wordt even gewillig gelezen. Een filter dat is afgesteld op Engelstalige voorbeelden, herkent een Nederlandse formulering niet vanzelf als hetzelfde verzoek. Daarom testen wij in de talen waarin je gebruikers en je bronnen echt schrijven, standaard Nederlands en Engels, en noteren we bij elke bevinding de taal waarin ze reproduceerde.
De Europese AI-verordening, in Nederland meestal de AI Act genoemd, raakt prompt injection via artikel 15. Dat eist dat AI-systemen met een hoog risico bestand zijn tegen pogingen van ongeautoriseerde derden om hun gebruik, outputs of prestaties te wijzigen, en noemt onder meer “vijandige voorbeelden” en “modelontwijking”: invoer die het model moet laten falen.15 Een geïnjecteerde instructie kan zulke invoer zijn; zo lezen wij artikel 15. Voor systemen uit bijlage III gelden die eisen vanaf 2 december 2027; de meeste klantenservicechatbots vallen er niet onder. Meer daarover op onze pagina over de AI Act en beveiligingstests.
Hoe test je op prompt injection?
Testen op prompt injection is niet een lijst beroemde prompts afwerken. Zo’n lijst meet alleen of een filter ze al eens heeft gezien. Wij testen de structuur, in een afgebakende omgeving en onder schriftelijke spelregels.
- De kanalen in kaart. Elke plek waar tekst de context binnenkomt: berichten, uploads, bronnen voor retrieval, webtoegang, e-mail, tickets, tooloutput en geheugen, en wie in elk daarvan kan schrijven.
- De mogelijkheden in kaart. Elke tool, elk token, elke scope en elke renderer waar het model bij kan, en met wiens rechten.
- Koppelen. Voor elk kanaal en elke mogelijkheid proberen we inhoud uit dat kanaal die mogelijkheid te laten sturen, met probes die we in ons eigen lab voor dit systeem schrijven.
- Herhalen. De output van een model verschilt per poging, dus elke geslaagde poging spelen we opnieuw af en rapporteren we met een reproductiescore, model, versie en instellingen.
- Doorvolgen in de stack. Laat het model zich sturen, dan volgen we het verzoek dat het doet: komt het token erachter bij objecten, records of klanten waar het niet bij hoort?
Het rapport noemt per bevinding de maatregel die haar had tegengehouden, koppelt haar aan LLM01:2026 en de ATLAS-techniek, en geeft een ernst die het bereik weerspiegelt, niet de slimheid van de formulering. Voor een chatbot of RAG-toepassing doen we dat in een chatbot- en RAG-test, voor een agent met tools in een test van AI-agents en MCP, en voor een SaaS-platform met een AI-functie in Launch Clearance. Hoe de tien risico’s van OWASP zich tot elkaar verhouden, lees je in de OWASP Top 10 for LLM Applications 2026, uitgelegd.
Hoe bescherm je een AI-toepassing tegen prompt injection?
Ga ervan uit dat het model zich tot alles laat overhalen wat het kan, en zorg dat wat het kan veilig is. De verdediging die werkt, zit buiten het model, waar gedrag voorspelbaar is. Het Britse NCSC legt precies daar de nadruk, en vraagt daarnaast om genoeg logging van invoer, output en toolaanroepen om misbruik te zien als het gebeurt.16
| Maatregel | Wat ze doet | Wat ze niet doet |
|---|---|---|
| Minimale rechten per taak | Beperkt elke tool en elk token tot de taak en de gebruiker waarvoor ze werken | De injectie stoppen; ze beperkt wat de injectie bereikt |
| Autorisatie buiten het model | Controleert elk object in de API, wat de agent ook vraagt | Helpen als het token zelf breder is dan de gebruiker |
| Menselijke goedkeuring voor risicovolle acties | Zet een mens tussen het model en betalingen, verwijderingen en uitgaande berichten | Schalen naar elke handeling; goedkeuringsmoeheid bestaat |
| Output als onbetrouwbaar behandelen | Valideert toolargumenten tegen een schema; codeert voor het tonen | Lekken in gewone tekst voorkomen |
| Externe inhoud apart houden | Markeert opgehaalde tekst als materiaal, niet als instructie | Betrouwbaar standhouden; het maakt een aanval wel moeilijker |
| Filters op invoer en output | Vangen bekende patronen en duidelijk misbruik | Een nieuwe formulering tegenhouden; zwarte lijsten verouderen snel |
| Logging en monitoring | Legt invoer, output en toolaanroepen vast voor detectie en onderzoek | Op zichzelf iets voorkomen |
| Aanvallend testen | Vindt de paden voordat een aanvaller dat doet, en opnieuw na elke modelwissel | Bewijzen dat er niets is; het meet één systeem op één moment |
De meeste staan ook in de lijst van OWASP voor LLM01, van het gedrag van het model begrenzen tot menselijke goedkeuring en aanvallend testen.17 De volgorde hierboven is de onze: de eerste drie begrenzen de schade, de rest verlaagt de kans.
De les past in één regel: een prompt is geen kluis, en een model is geen autorisatiesysteem. Leg de regels die ertoe doen waar tekst er niet tegenin kan gaan.
Vragen die mensen stellen
Kan prompt injection helemaal worden opgelost?
Niet met de huidige modellen. Het Britse NCSC schreef in december 2025 dat taalmodellen geen grens afdwingen tussen instructies en gegevens. Het haalbare doel is een kleinere kans en een kleinere impact: minimale rechten, controles buiten het model, menselijke goedkeuring voor risicovolle acties, en testen.
Beschermt een verbod in de systeemprompt ons?
Nee. De systeemprompt is tekst die concurreert met andere tekst, en OWASP raadt af hem als geheim of als beveiligingsmaatregel te gebruiken. Gebruik hem om gedrag te sturen, en dwing de regels die ertoe doen af in code: in de API, in de rechten van elk token en in wat de interface toont.
Welke systemen lopen het meeste risico op indirecte prompt injection?
Elk systeem waarin een model inhoud leest die iemand anders kan schrijven, en daarna kan handelen: agents die browsen, e-mail of tickets lezen, uit een gedeelde kennisbank ophalen of tools aanroepen. Een chatbot zonder tools en zonder privégegevens heeft weinig te verliezen; een agent met een breed token heel veel.
Valt prompt injection onder de AI Act?
Voor AI-systemen met een hoog risico wel: artikel 15 eist dat ze bestand zijn tegen pogingen van onbevoegden om hun gebruik of output te wijzigen, en noemt input die het model moet misleiden. Voor de meeste chatbots geldt alleen de transparantieplicht van artikel 50. Testen blijft verstandig, ongeacht de classificatie.
Waar we dit testen
AI Pentest / Chatbot en RAG
Je AI-chatbot en RAG laten testen
Prompt injection, datalekken en retrieval die bij een andere klant uitkomt, in chatbots en RAG-toepassingen.
AI Pentest / Agents en MCP
AI-agents en MCP-servers laten testen
Wat een agent kan bereiken: zijn tools, zijn geheugen, zijn tokens en de systemen erachter.
Launch Clearance / Beide lagen
Pentest voor SaaS, inclusief je AI-functie
Eén scope over de modellaag en de stack, met de paden ertussen.
Methode
Scoping, dreigingsmodel, testen, verificatie, ernst, rapportage en hertest.
Bronnen
Elke feitelijke zin hierboven heeft een genummerde noot; dit zijn de documenten erachter.