Thought leaders
Een Prompt Injectie Aanval Die Men Niet Kan Voorkomen: Wensdenken Of Echt Een Zorg?

In dit artikel wil ik de lezer meenemen in een gedachtenexperiment. Ik ga betogen dat in de niet al te verre toekomst, een bepaald type prompt injectie aanval effectief niet te voorkomen zal zijn. Mijn argumentatie zal meer speculatief zijn dan concreet, dus ik probeer je niet van iets te overtuigen. In plaats daarvan nodig ik je uit om deze gedachten te verkennen. Voordat ik begin, zoals elke overtuigende schrijver zou doen, wil ik het over schaken en schaakengines hebben.
Supermenselijke Schaakengines en een Uitspraak Over Menselijke Ervaring
Een van de leukere elementen van schaken die ontbreekt in andere disciplines is de mogelijkheid om objectief de kwaliteit of sterkte van een speler te meten. Het ELO ratingsysteem dat voor dit doel wordt gebruikt, heeft zijn gebreken, maar het biedt een zeer goede ruwe schatting die over tijd standhoudt. Een rating van 2700 of hoger wordt algemeen erkend als wereldklasse (top 30 in de wereld). De beste speler ter wereld heeft een rating van net onder de 2850. Geen mens heeft ooit een rating van 2900 bereikt.
In het midden van de jaren 90 zagen we de eerste AI-engine (Deep Blue) die een wereldklasse niveau bereikte. De praktische implicatie van deze mijlpaal was de brede adoptie van engines door spelers van alle niveaus voor oefening en analyse. In feite werd engine-gebruik essentieel voor de werelds beste spelers. Echter, voor meerdere generaties van deze wereldklasse engines, was het noodzakelijk om hun aanbevolen zetten (d.w.z. output) te controleren. Er was zelfs een speciaal formaat gecreëerd genaamd “geavanceerd schaken” waarin mensen met een engine aan hun zijde concurreerden, en de mens + machine combinatie werd beschouwd als superieur aan de machine alleen.
Het duurde ongeveer 20 jaar, en enkele kritische vooruitgang in Deep Learning en Reinforcement Learning, voordat schaakengines een supermenselijk niveau (ongeveer 3200 ELO) bereikten. Maar eens dat niveau rond 2017 werd bereikt, gebeurde er iets heel verrassends. Nou, eigenlijk gebeurden er twee dingen. Het eerste was volledig verwacht; engines werden de feitelijke bron van “grondwaarheid” in 99% van alle posities. In de praktijk betekende dit dat we de “era van blind vertrouwen” in de engine waren ingegaan. Tegenwoordig is het vrijwel onmogelijk voor een mens om een significant betere zet voor te stellen dan de engine. Hoe vermakelijk “geavanceerd schaken” ook was, het is nu een zinloze oefening; mensen zouden vrijwel niets aan het spel bijdragen. Maar het tweede was schokkend voor de meeste schaakspelers. Deze supermenselijke neurale (d.w.z. diepe neurale netwerk) engines zouden soms op een manier spelen die het beste kan worden omschreven als “romantisch”. Met andere woorden, ze zouden zetten doen waarvan de waarde pas veel, veel zetten later kon worden gewaardeerd, ver voorbij wat een mens of wereldklasse engines kon berekenen. Het voelde heel erg alsof de engines een “gevoel” of “intuïtie” voor bepaalde posities hadden ontwikkeld. Behalve dat deze intuïtie niets is dat een mens ooit kan begrijpen of imiteren.
Anders gezegd, een supermenselijke neurale engine kan zetten doen die voorbij het cognitieve horizon van een mens liggen. Dit is het cruciale punt hier; het probleem is niet dat van uitlegbaarheid. Maar een mens kan eenvoudigweg niet begrijpen waarom een engine een zet aanbeveelt zonder de positie uit te spelen en het resultaat veel zetten later te observeren, d.w.z. de hele traject van mogelijke spelvolgorden uit te rollen. Als gevolg hiervan hebben we een onoverbrugbare kloof in capaciteit. Het is optimaal om engine-output zonder controle te accepteren. Ik kan mijn uitspraak als volgt samenvatten:
Schaken is een bewijs van het bestaan dat supermenselijke AI effectief autonoom zal opereren in sommige domeinen. Het inschakelen van het AI-systeem om beslissingen zonder menselijke controle te nemen, zou de optimale manier zijn om een dergelijk systeem te implementeren.
Aangezien mijn uitspraak voor sommigen als vanzelfsprekend of onopvallend kan lijken, wil ik een paar nuances benadrukken. Stel dat we een AI-systeem hebben dat een supermenselijk niveau aantoont bij een complexe, kritieke taak met concrete, onomkeerbare consequenties. Er zijn twee implicaties van mijn claim:
- Het systeem zou worden geïmplementeerd om beslissingen voor de taak zonder menselijke controle te nemen, ondanks het inherente risico
- Inzicht verkregen uit het monitoren van een dergelijk systeem zou geen schadelijke beslissing voorkomen; de schade zou al zijn gebeurd
Systeemuitvoercontrole en -monitoring zijn precies de laatste twee verdedigingslagen tegen prompt injectie. Daarom kan onze hypothetische prompt injectie aanval deze lagen eenvoudigweg omzeilen door het juiste systeem aan te vallen.
Dit is een heel realistisch scenario in mijn gedachten. Een supermenselijk AI-systeem in een specifiek domein is geen AGI, en de meeste experts geloven dat dergelijke systemen net om de hoek liggen. We hoefden ook niet aan te nemen dat de beslissingen tijdgevoelig zijn, alleen dat de taak complex genoeg is om menselijke controle onuitvoerbaar te maken.
Natuurlijk hebben we tot nu toe alleen de laatste twee verdedigingslagen omzeild, en gelukkig voor ons zijn er nog verschillende andere ontwikkeld. Om de rest aan te pakken, laten we ingaan op de kern-elementen die prompt injectie moeilijk te verdedigen maken.
Wat is Prompt Injectie?
Prompt injectie is een manipulatie van een Large Language Model (LLM) door gekunstelde invoer, waardoor de LLM onbewust de intenties van de aanvaller uitvoert. Het kan worden beschouwd als social engineering voor AI. Cruciaal is dat het geen conventionele softwarebug is. Een prompt injectie aanval exploiteert een inherente LLM kwetsbaarheid. Aangezien LLM’s zowel systeem- als gebruikersprompts als tekstsequenties verwerken, kunnen ze inherent niet onderscheid maken tussen legitieme en schadelijke instructies. De kwetsbaarheid is daarom effectief by-design, in plaats van by-accident.
Prompt Injectie Technieken
Prompt injectie wordt algemeen erkend als de #1 risico voor LLM-toepassingen. Er zijn verschillende redenen waarom dit het geval is. De meest voor de hand liggende factor is de variëteit van injectie technieken die zijn ontwikkeld. Ruwweg gegroepeerd in vier categorieën, zijn de meest bekende technieken:
- Syntax-gebaseerd: gebruik van speciale tekens, emoji’s of alternatieve talen
- Indirect: gebruik van externe bronnen (ophalen van site), codering (base 64), of multimodale verwijzing (tekst in afbeelding)
- “Laat ons doen alsof”: het introduceren van een manipulatieve stijl door bijv. rollenspel, hypothetisch, emotionele appel, ethische kader en formaatwisseling
- Brutaal: expliciete poging om modelinstructies te “forceren” door brute force, versterking of negatieve prompt
De variëteit alleen al biedt een uitdaging voor toepassingsontwikkelaars, maar deze aanvallen hebben ook snel geëvolueerd. De linkerkant van de onderstaande afbeelding beweert de stand van zaken voor begin 2023 te beschrijven, terwijl de rechterkant de aard van aanvallen van vandaag weerspiegelt.

LLM-toepassingsontwikkelaars moeten ook de standaard gebruiksvriendelijkheid vs. veiligheidstrade-off in overweging nemen. Ze zouden zeker elke verdedigingslaag en ontwerppatroon kunnen introduceren, maar tegen welke prijs? Verdedigingslagen voegen aanzienlijke latentie toe en introduceren False Positives (FP’s) – incorrect flaggen van veilige prompts als kwaadaardig – beide factoren hebben een negatief effect op de gebruikerservaring. Als gevolg hiervan is enige mate van compromis onvermijdelijk in de praktijk, en er is geen “zilveren kogel” oplossing.
Echter, in dit artikel ben ik niet echt geïnteresseerd in dit eindeloze kat-en-muisspel. Ik ben meer geïnteresseerd in of een aanval in principe onvoorkombaar kan zijn. Vanuit het perspectief van de ontwikkelaar/verdediger is er slechts één belangrijke inzicht:
Scheiding van instructies van gegevens in de prompt is fundamenteel om prompt injectie risico aan te pakken
We kunnen aannemen dat compromissen geen factor zijn, en elke verdedigingslaag of techniek kan worden gebruikt. Onder deze (sterke) aanname, is het mogelijk om een scenario te construeren waarin instructie-gegevensscheiding in een prompt effectief onmogelijk is?
De DNA-Analogie
Toen het probleem eenmaal was geformuleerd in termen van instructie-gegevensscheiding, was mijn eerste gedachte om biologie als analogie te gebruiken.
Overweeg een cel en een stuk DNA (bekend als een gen). Het gen biedt instructies voor het bouwen van een eiwit door transcriptie en translatie. Het codeert ook de informatie (gegevens) die de structuur en functie van het eiwit beïnvloedt. Als zodanig geeft het gen tegelijkertijd aan wat te bouwen en hoe te bouwen, of zo redeneerde ik. Echter, dit is simpelweg onjuist, aangezien een gen geen beslissing neemt over hoe het zichzelf moet interpreteren. Er is geen equivalent van instructievolging in biologie op gen niveau. Het “hoe” is volledig geëxternaliseerd naar de celmachinerie.
Daarom, zelfs als ik het gevoel niet kan schudden dat toekomstige generaties van LLM’s – of meer accurate, de systemen waarin ze evolueren – meer op biologische machines zullen lijken, werkt de voorgestelde analogie gewoon niet. We kunnen geen cel voor een LLM en een gen voor een prompt substitueren en dan een injectie in het gen doen die uiteindelijk een “beschadigd” eiwit zou laten bouwen. Het lijkt productiever om bij natuurlijke taal en taken te blijven die semantische interpretatie vereisen.
De Verdedigingslagen Afschillen
Het zou geen verrassing moeten zijn dat meerdere verdedigingslagen effectiever zijn in het stoppen van prompt injectie aanvallen. De onderstaande afbeelding toont de meest voorkomende verdedigingslagen in volgorde, en de geassocieerde technieken die in elke laag worden gebruikt.

We hebben al eerder de laatste twee lagen (uitvoer, monitoring) besproken, dus laten we ons focussen op de eerste vier.
Bij de invoerlaag is het redelijk om aan te nemen dat sanitatie of validatie van de prompt vrij succesvol zou zijn in het detecteren van indirecte aanvallen. Echter, als de injectie rechtstreeks wordt geleverd, en zoals eerder gesuggereerd, door te vertrouwen op semantische interpretatie, is sanitatie misschien irrelevant (niets om te saniteren), en validatie is per default onmogelijk, aangezien de berekening moet worden voltooid om het probleem te identificeren.
Er zijn eigenlijk geen limieten aan de beveiligingsmaatregelen die je in de detectielaag kunt construeren. In feite kun je zelfs een toegewijd LLM voor injectie detectie gebruiken. Maar opnieuw, het zal moeilijk zijn voor een classificator of een anomaliedetector om een prompt als verdacht te markeren wanneer het gif zo slim verborgen is binnen de semantiek.
De modellaag kan zeer effectief zijn wanneer het bereik van taken smal is en fine-tuning haalbaar is. Een soortgelijk argument kan worden gemaakt voor de systeemlaag wanneer het gebruik van tools voorspelbaar is. Echter, tenminste intuïtief, zou geen van beiden een alarm slaan als de injectie de interpreter ontregelt.
Huis van Kaarten
Mijn intentie toen ik dit artikel begon te schrijven, was om een “onvoorkombaar” prompt injectie aanval in brede lijnen te beschrijven. Misschien ben ik uiteindelijk een “niet-constructieve” aanpak gevolgd door gaten te prikken in bestaande verdedigingslagen. Defensieve technieken blijven snel evolueren, en zo ook het aanvalsoppervlak. Dit spel toont geen tekenen van einde. Echter, ik geloof ook dat we niet degenen zullen zijn die het spel spelen voor veel langer. Ik zou gokken dat de succesvolle prompt injectie in de toekomst nog steeds in natuurlijke taal zou zijn, alleen een taal die mensen niet kunnen begrijpen; en ik zou gokken dat het zou worden ontdekt door een systeem dat specifiek voor dat doel is gebouwd of misschien toevallig na het aanpakken van een gerelateerde taak, zoals het zoeken naar semantische ambiguïteit in een bepaalde representatie ruimte.
Er is iets onprettigs in het erkennen dat we de controle verliezen en toch het gevoel hebben dat dit de meest rationele zaak is om te doen. Je kunt het zien als de “intuïtieve bewijs” dat sommige aanvallen niet te stoppen zullen zijn. En als dat je onrustig maakt, zou je blij zijn om te weten dat GPT 5.2 dit argument “niet controversieel of nieuw” vond en adviseerde dat ik het punt niet “uitgebreid” behandel en 40% van het artikel inkort.
