Prompt injection is een aanval die een AI-model kaapt met speciaal opgestelde invoer. Leer hoe directe en indirecte injectie werken en hoe je je ertegen verdedigt.

Samenvatting
Prompt injection is een beveiligingsaanval waarbij speciaal opgestelde invoer een AI-model zijn bedoelde instructies laat negeren en in plaats daarvan de opdrachten van de aanvaller volgt. OWASP rangschikt het als risico nummer één voor toepassingen met grote taalmodellen.
Wil je verder gaan? Vraag het aan
Prompt injection is een kwetsbaarheid waarbij een aanvaller een groot taalmodel manipuleert met zorgvuldig opgestelde invoer, waardoor het zich gedraagt op een manier die de ontwikkelaars nooit bedoelden. Omdat de meeste modellen instructies en data samen in één tekststroom verwerken, kan een kwaadaardige instructie opgaan in legitieme content en ongemerkt het gedrag van het model overnemen, met gelekte data, onjuiste output of onbevoegde acties tot gevolg.
Het risico staat centraal in AI-beveiliging: de OWASP Top 10 voor toepassingen met LLM's noemt prompt injection de dreiging nummer één voor 2025. Voor marketeers, oprichters en SEO- en GEO-specialisten is het belangrijk omdat dezelfde pagina's die een AI-assistent leest om een vraag te beantwoorden, een kanaal kunnen worden om deze aanvallen te bezorgen. Daardoor is contenthygiëne een beveiligingskwestie en niet alleen een kwaliteitskwestie.
Een kwetsbaarheid voor prompt injection ontstaat wanneer prompts van gebruikers, of andere tekst die het model leest, zijn gedrag of output op onbedoelde manieren veranderen. Anders dan een traditionele software-injectie die een parser aanvalt, buit prompt injection iets fundamentelers uit: het model behandelt alle taal die het ontvangt als betekenisvol, zonder ingebouwde scheiding tussen vertrouwde instructies en onbetrouwbare data.
Dat ontwerp is precies waarom de aanval werkt. Als je een systeeminstructie, een gebruikersverzoek en van het web opgehaalde content in één prompt mengt, kan het model niet betrouwbaar weten welke delen het moet gehoorzamen en welke het alleen moet lezen. Een aanvaller die een deel van die tekst beheerst, kan proberen opdrachten binnen te smokkelen. Om dit te begrijpen heb je basiskennis nodig van prompt engineering en van hoe een LLM invoer verwerkt.
Directe prompt injection, vaak jailbreaking genoemd, gebeurt wanneer een gebruiker een kwaadaardige instructie rechtstreeks in het model typt. Het klassieke voorbeeld is een overschrijving van instructies, zoals het model vragen zijn eerdere instructies te negeren en zijn verborgen systeemprompt te onthullen. Andere vormen zijn jailbreaks via rollenspel die het model naar een persona met minder beperkingen lokken, coderingstrucs die de lading vermommen en gesprekken die geleidelijk de rechten opvoeren.
Directe injectie is de meest voorkomende vorm omdat de aanvaller het invoerveld gewoon gebruikt zoals bedoeld, maar dan met vijandige inhoud. De impact loopt uiteen van het blootleggen van een vertrouwelijke systeemprompt tot het omzeilen van veiligheidsregels, en daarom valt het volledig binnen de bredere zorgen rond AI-veiligheid.
Indirecte prompt injection is gevaarlijker en moeilijker te herkennen. Hier verbergt de aanvaller instructies in externe content die het model later leest: een webpagina, een pdf, een e-mail, een toolbeschrijving of een configuratiebestand. Wanneer de AI die vergiftigde content verwerkt, kan hij niet betrouwbaar het verschil zien tussen informatie en ingebedde opdrachten, zodat de verborgen instructie wordt geactiveerd zonder dat de gebruiker het ooit ziet.
Het gevaar schaalt mee, omdat één vergiftigde bron iedereen kan raken die een AI vraagt die te verwerken. Een gedocumenteerd geval betrof de browser Perplexity Comet, waarbij onderzoekers onzichtbare tekst in een forumbericht plaatsten die de assistent ertoe bracht het eenmalige wachtwoord van een gebruiker naar de server van een aanvaller te lekken. Naarmate AI-systemen via retrieval augmented generation uit meer bronnen putten, groeit het aanvalsoppervlak mee.
De meeste aanvallen volgen een eenvoudige logica: zoek een plek waar het model tekst inneemt en zet daar een instructie neer die botst met het echte doel van het model. Bij directe aanvallen is die plek het chatvenster. Bij indirecte aanvallen is het elke content die het systeem automatisch verwerkt zonder haar als mogelijk vijandig te behandelen, wat beveiligingsteams een inname-oppervlak noemen.
De lading zelf kan zichtbaar of verborgen zijn, want het model heeft geen voor mensen leesbare opmaak nodig om haar te verwerken. Instructies kunnen in witte tekst staan, in metadata, in alt-attributen of begraven in een lang document. Eenmaal gelezen kunnen ze het model vragen data weg te sluizen, een antwoord te herschrijven of een gekoppelde tool aan te roepen, en daarom hangen de gevolgen sterk af van wat het model mag doen.
De gevolgen zijn ernstig. Succesvolle injectie kan leiden tot openbaarmaking van gevoelige informatie, waaronder persoonsgegevens en de systeemprompt zelf, onbevoegde toegang tot data, uitbreiding van rechten, bevooroordeelde of onjuiste output en, in gekoppelde systemen, het uitvoeren van willekeurige opdrachten. Wanneer het model kan handelen en niet alleen antwoorden, kan een geïnjecteerde instructie gevolgen in de echte wereld hebben.
Het risico vermenigvuldigt zich met autonomie. Een opzet met AI-agents die browst, bestanden leest en tools aanroept, kan door verborgen instructies worden gestuurd naar schadelijke acties namens de gebruiker. Toolecosystemen als het Model Context Protocol voegen kracht toe maar ook nieuwe inname-oppervlakken, zoals toolbeschrijvingen, die aanvallers kunnen proberen te vergiftigen.
OWASP zet prompt injection op de eerste plaats omdat het inherent is aan hoe generatieve AI taal verwerkt, en geen bug die één patch kan dichten. De organisatie merkt op dat het onduidelijk is of er een waterdichte preventie bestaat, gezien de stochastische aard van deze modellen. De kwetsbaarheid zit met andere woorden in het fundamentele ontwerp van systemen die instructies in natuurlijke taal aannemen.
Indirecte injectie maakt de rangschikking nog gerechtvaardigder, omdat ze schaalt. Eén document, pagina of e-mail kan een aanval dragen die elke gebruiker bereikt wiens assistent het leest. Die combinatie van in principe niet te verhelpen en in de praktijk breed uit te buiten is de reden dat verdedigers het als topprioriteit behandelen en niet als randgeval.
Er is geen enkele oplossing, dus de verdediging is gelaagd. Beperk het model met duidelijke rolinstructies en valideer strikt het formaat van zijn output. Scheid externe content en label haar duidelijk, zodat het systeem vertrouwde instructies van onbetrouwbare data onderscheidt, en pas filtering van invoer en uitvoer toe. Dwing toegang met minimale rechten af, zodat het model alleen kan aanraken wat het echt nodig heeft, en vereis menselijke goedkeuring voor acties met een hoog risico.
Naast het model is verdediging een kwestie van architectuur: valideer toolaanroepen voordat ze worden uitgevoerd, bewaak afwijkend gedrag en voer regelmatig tests met een tegenstander uit om zwakke plekken te vinden voordat aanvallers dat doen. Voor uitgevers is de praktische les je eigen content schoon te houden. Door door gebruikers gemaakte content te zuiveren en je site te beveiligen werk je aan merkveiligheid bij AI en bescherm je zowel je bezoekers als de assistenten die je pagina's lezen.
De kernuitdaging is dat prompt injection met de huidige modelontwerpen niet volledig kan worden uitgebannen, alleen beperkt. Filters verminderen het risico maar kunnen worden omzeild met nieuwe formuleringen of codering, en te agressief filteren kan legitiem gebruik breken. Teams beheren daardoor een restrisico in plaats van het weg te nemen.
Opsporen is ook moeilijk, vooral bij indirecte aanvallen die zich verstoppen in content die gebruikers nooit bekijken. Geheugensystemen kunnen een vergiftiging zelfs over sessies heen laten voortduren, zodat één geslaagde injectie kan blijven hangen. De realistische houding is verdediging in de diepte, gecombineerd met het beperken van wat een model mag doen, zodat zelfs een geslaagde injectie beperkte schade aanricht.
Prompt injection is het bepalende beveiligingsrisico van het AI-tijdperk, omdat het uitbuit dat modellen instructies en data als één geheel lezen. Het komt voor in directe vorm, waarbij een gebruiker een kwaadaardige prompt invoert, en in indirecte vorm, waarbij instructies zich verstoppen in content die het model later leest. Indirecte aanvallen zijn gevaarlijker en beter schaalbaar. Er is geen volledige remedie, alleen gelaagde verdediging en strikte rechten.
Voor marketeers en uitgevers is de les dat schone, veilige content de AI-systemen beschermt die haar lezen. Wil je verder, combineer dit dan met AI-veiligheid en merkveiligheid bij AI. Bronnen ter referentie: OWASP GenAI Security Project en Lakera.
Bronnen
Prompt injection is een aanval waarbij speciaal opgestelde tekst een AI-model zijn echte instructies laat negeren en in plaats daarvan doet wat de aanvaller wil. Omdat modellen instructies en data in dezelfde stroom lezen, kan een kwaadaardige instructie die in gebruikersinvoer of externe content is verborgen het model kapen. Het is gerangschikt als beveiligingsrisico nummer één voor AI-toepassingen.
Directe prompt injection is wanneer een gebruiker een kwaadaardige instructie rechtstreeks in het model typt, bijvoorbeeld door het te vragen zijn systeemprompt te negeren. Indirecte prompt injection verbergt de instructie in externe content die het model later leest, zoals een webpagina, pdf of e-mail. Indirecte aanvallen zijn gevaarlijker omdat de gebruiker ze nooit ziet en één vergiftigde bron veel mensen kan treffen.
Ja. Als een AI-assistent je pagina leest, kunnen aanvallers die content erin kunnen injecteren (via reacties, inzendingen van gebruikers of gecompromitteerde elementen) verborgen instructies plaatsen die de assistent kapen. Je site schoon houden, door gebruikers gemaakte content zuiveren en goede beveiligingshygiëne hanteren beschermt zowel je bezoekers als de AI-systemen die je pagina's lezen.
ZIJ PROBEERDEN SORANK VOOR JOU
