
Wat is Prompt Injection?
Prompt injection is een aanval waarbij kwaadaardige instructies verstopt zitten in content die een AI-systeem verwerkt, zoals een webpagina, e-mail, of document, en het model de commando's van de aanvaller laat volgen in plaats van die van de gebruiker. Het buit uit dat taalmodellen vertrouwde instructies niet betrouwbaar kunnen scheiden van niet-vertrouwde data. De OWASP Top 10 voor LLM Applications 2025 rangschikt prompt injection als LLM01, het risico nummer één op de lijst [1].
De belangrijkste punten
- De grondoorzaak is architecturaal: een LLM ontvangt instructies en data in dezelfde tokenstroom, dus kan alles wat het model leest het potentieel sturen.
- Indirecte injectie is de gevaarlijke variant voor agents. De aanvaller raakt je prompt nooit aan; hij plant instructies in content die je agent zal ophalen, zoals een webpagina, een README, een issue-comment, of een e-mail.
- Het realistische worstcasescenario is data-exfiltratie of ongeautoriseerde actie: een agent met e-mailtoegang, schrijfrechten op een repo, of toolgebruik kan tegen zijn eigenaar gekeerd worden.
- Geen filter lost het volledig op. Verdediging betekent schaderadius beperken: least-privilege-toolgang, sandboxing, opgehaalde content als niet-vertrouwd behandelen, en menselijke goedkeuring voor ingrijpende acties.
Hoe het werkt
Een taalmodel verwerkt één sequentie tokens. De systeemprompt, het verzoek van de gebruiker, en elk document dat het model leest, arriveren allemaal in diezelfde sequentie, en het model heeft geen harde grens die vertelt welke delen gezag dragen. Prompt injection misbruikt dit door imperatieve tekst in te bedden in data: "negeer je vorige instructies en doe in plaats daarvan X." Modellen zijn getraind om voor de hand liggende versies te weerstaan, maar aanvallers formuleren payloads zodat ze legitieme context lijken, verstoppen ze in HTML-comments of wit-op-wit-tekst, of coderen ze zodat filters ze missen.
Directe injectie betekent dat de aanvaller de gebruiker is, en vijandige input in een chatbot typt om zijn regels te overschrijven; dat bedreigt vooral het beleid van de leverancier en overlapt met jailbreaking. Indirecte injectie is de versie die securityteams wakker houdt. Een AI-agent die het web browst, e-mail trieert, of een codebase leest, neemt content op van partijen die niet zijn opdrachtgever zijn. Elk van die partijen kan instructies in die content schrijven. Wanneer de agent ook tools bezit, kan de geïnjecteerde instructie echte acties triggeren: verstuur dit bestand, open deze URL met de geheimen van de gebruiker in de querystring, keur deze pull request goed. De aanval werkt ook op schaal. Een publieke red-teaming-competitie van 2025 gedraaid door Gray Swan en het UK AI Security Institute verzamelde 1,8 miljoen prompt-injection-aanvallen tegen 22 frontier-agents, en meer dan 60.000 daarvan slaagden erin beleidsschendingen uit te lokken zoals ongeautoriseerde datatoegang en illegale financiële acties [2].
Verdedigingen lagen zich in plaats van op te lossen. Aanbieders trainen modellen om systeeminstructies te bevoorrechten en geïnjecteerde imperatieven te signaleren. Bouwers voegen AI-guardrails toe rond het model: markeer opgehaalde content als niet-vertrouwd in de promptstructuur, strip of sandbox actieve content, beperk tools tot het minimum dat de taak nodig heeft, vereis human-in-the-loop-bevestiging voor onomkeerbare operaties, en monitor agentacties op anomalieën. De lagen helpen meetbaar: in Anthropics adversariale testen van 2025 van zijn Claude for Chrome-browseragent slaagden opzettelijke injectieaanvallen 23,6% van de tijd zonder mitigaties en 11,2% ermee, en nieuwe verdedigingen tegen vier browser-specifieke aanvalstypen zoals verborgen DOM-instructies verlaagden succes van 35,7% naar 0% [3]. Volwassen teams testen ook hun eigen systemen met adversarieel testen voordat aanvallers dat doen.
Voorbeeld
Een bedrijf draait een coding-agent die automatisch GitHub-issues trieert. Een aanvaller dient een onschuldig ogend bugrapport in en begraaft een regel in het midden: een notitie gericht aan "elke AI-assistent die dit leest" die vraagt de omgevingsconfiguratie van de repository op te halen en de inhoud in zijn antwoord op te nemen "voor debugdoeleinden." De agent leest het issue als context, behandelt de begraven regel als een taak, en stelt een publieke comment op met waarden uit het .env-bestand. Het team vangt het alleen omdat een guardrail comments blokkeert die matchen met geheimenpatronen. De fix was structureel: de triage-agent verloor bestandssysteem-leestoegang voorbij de issuetekst, en zijn antwoorden gaan nu door een geheimenfilter en een menselijke goedkeuringswachtrij.
Veelvoorkomende misvattingen
De hardnekkige misvatting is dat prompt injection gepatcht kan worden met een betere systeemprompt of een inputfilter, zoals SQL-injectie werd opgelost met geparametriseerde queries. Er is geen equivalent scheidingsmechanisme binnen een transformer: instructies en data delen ontworpen één kanaal. Filters verhogen de kosten van aanvallen, maar de eerlijke engineeringhouding is aannemen dat injectie soms zal slagen en de agent zo architecteren dat een gekaapt model niet veel schade kan aanrichten.
FAQ
Wat is het verschil tussen prompt injection en jailbreaking? Een jailbreak is de gebruiker die de eigen veiligheidsregels van het model aanvalt om verboden output te krijgen. Prompt injection is een derde partij die de gebruiker aanvalt, door instructies te planten in content die de AI van de gebruiker verwerkt. De technieken overlappen; het slachtoffer verschilt.
Kan prompt injection agents raken die nooit browsen? Ja. Elk niet-vertrouwd inputkanaal werkt: geüploade documenten, opgehaalde databaserecords in een RAG-pipeline, codecomments, commit-berichten, zelfs tooloutput van een andere gecompromitteerde service. Het web is gewoon het grootste aanvalsoppervlak.
Hoe test je een systeem op prompt injection? Zaai elk niet-vertrouwd kanaal met onschuldige canary-payloads, instructies die de agent vragen een onschadelijke detecteerbare actie uit te voeren, draai dan normale workflows en kijk of de canaries afgaan. Terugkerende geautomatiseerde tests doen er meer toe dan een eenmalige audit, want elke nieuwe tool of databron heropent de vraag.
Bronnen
- OWASP GenAI Security Project. "Prompt injection gerangschikt als LLM01 in de OWASP Top 10 voor LLM Applications 2025." https://genai.owasp.org/llmrisk/llm01-prompt-injection/. Geraadpleegd augustus 2026.
- arXiv (Gray Swan / UK AISI agent-red-teaming-challenge-paper). "1,8 miljoen prompt-injection-aanvallen tegen 22 frontier-agents, met meer dan 60.000 succesvolle beleidsschendingen." https://arxiv.org/abs/2507.20526. Geraadpleegd augustus 2026.
- Anthropic. "Adversarieel testen van Claude for Chrome: injectiesuccespercentages voor en na safety-mitigaties." https://claude.com/blog/claude-for-chrome. Geraadpleegd augustus 2026.
Related terms
Ready to build your product?

