Tankeledere
En Prompt Injection-angrep en ikke kan forhindre: Ønsketenkning eller reell bekymring?

I denne artikkelen ønsker jeg å engasjere leseren i en tenkeeksperiment. Jeg skal argumentere for at i en ikke så fjern fremtid, vil en bestemt type prompt-injeksjonsangrep være effektivt umulig å forhindre. Mitt argument vil være mer spekulativt enn konkret, så jeg prøver ikke å overbevise deg om noe. I stedet inviterer jeg deg til å utforske disse tankene. Før jeg begynner, som enhver overbevisende forfatter ville gjøre, ønsker jeg å diskutere sjakk og sjakk-motorer.
Overmenneskelige Sjakk-motorer og en påstand om menneskelig erfaring
En av de finere elementene i sjakk som mangler i andre disipliner er evnen til å objektivt måle kvaliteten eller styrken til en spiller. ELO-ratingsystemet som brukes til dette formålet har sine feil, men det gir en veldig god omtrentlig estimat som holder over tid. En rating på 2700 eller høyere er vanligvis ansett som verdensklasse (topp 30 i verden). Verdens beste spiller er bare under 2850. Ingen menneske har noen gang nådd en rating på 2900.
I midten av 90-årene så vi den første AI-motoren (Deep Blue) som nådde en verdensklasse-nivå. Den praktiske implikasjonen av denne milepælen var den vide adopsjonen av motorer av spillere på alle nivåer for trening og analyse. Faktisk ble motorbruk essensielt for verdens beste spillere. Men for flere generasjoner av disse verdensklasse-motorene, var gjennomgang av deres anbefalte trekk (dvs. utdata) avgjørende. Det ble sogar opprettet et spesielt format kalt “avansert sjakk” hvor mennesker konkurrerte med en motor ved deres side, og menneske + maskin-kombinasjonen ble ansett som overlegen til maskinen alene.
Det tok omtrent 20 år, og noen kritiske fremgang i dypt læring og forsterkingslæring for sjakk-motorer til å nå overmenneskelig-nivå (omtrent 3200 ELO). Men en gang denne sfæren var brutt rundt 2017, skjedde noe overraskende. Vel, faktisk to ting skjedde. Det første var fullstendig forventet; motorer ble den faktiske kilde til “grunnssannhet” i 99% av alle posisjoner. I praksis betød det at vi gikk inn i “æraen av blind tillit” til motoren. Disse dagene er det praktisk talt umulig for et menneske å foreslå et vesentlig bedre trekk enn motoren. Så underholdende “avansert sjakk” var, er det nå et meningsløst øvelse; mennesker ville bidra nesten ingenting til spillet. Men det andre var sjokkerende for de fleste sjakk-spillere. Disse overmenneskelige neurale (dvs. dypt neuralt nettverk) motorer ville noen ganger spille på en måte som er best beskrevet som “romantisk”. Med andre ord, ville de gjøre trekk hvis verdi bare kunne bli verdsett mange, mange trekk senere, langt utenfor hva noen menneske eller verdensklasse-motorer kunne beregne. Det føltes veldig mye som om motorene hadde utviklet en “følelse” eller en “intuisjon” for visse posisjoner. Unntatt denne intuisjonen er ikke noe et menneske kunne noen gang gripe eller imitere.
Uttrykt annerledes, kan en overmenneskelig neural motor gjøre trekk som er utenfor den kognitive horisonten til et menneske. Dette er det kritiske punktet her; problemet er ikke det med forklarbarhet. Snarere kan et menneske enkelt ikke forstå hvorfor en motor anbefaler et trekk uten å spille ut posisjonen og observere resultatet mange trekk senere, dvs. rulle ut hele sekvensen av mulige spill. Som følge har vi en uoverkomkelig gap i evne. Det er objektivt optimalt å akseptere motor-utdata uten gjennomgang. Jeg kan sammenfatte min påstand som følger:
Sjakk er en eksistens-bevis som overmenneskelig AI ville operere autonomt i noen domener. Å aktivere AI-systemet til å gjøre beslutninger uten menneskelig gjennomgang ville være den optimale måten å deployere et slikt system på.
Siden min påstand kan trekke en som åpenbar eller uanselig, ønsker jeg å fremheve noen nyanser. Anta at vi har et AI-system som demonstrerer overmenneskelig nivå på en kompleks, kritisk oppgave med konkrete, uopprettelige konsekvenser. Det er to implikasjoner til min påstand:
- Systemet ville bli deployert til å gjøre beslutninger for oppgaven uten menneskelig gjennomgang, til tross for den innebygde risikoen
- Innsikt gjennom overvåking av et slikt system ville ikke forhindre en skadelig beslutning; skaden ville allerede være gjort
System-utdata-gjennomgang og overvåking er nøyaktig de to siste forsvarslagene mot prompt-injeksjonsangrep. Derfor kunne vårt hypotetiske prompt-injeksjonsangrep bare omgå disse lagene ved å målrette det aktuelle systemet.
Dette er en veldig realistisk scenario i mitt sinn. Et overmenneskelig AI-system i et bestemt domene er ikke AGI, og de fleste eksperter mener at slike systemer er like rundt hjørnet. Vi har heller ikke antatt at beslutningene er tidssensitive, bare at oppgaven er kompleks nok til å gjøre menneskelig gjennomgang uoverkommelig.
Selvfølgelig har vi bare omgått to forsvarslag så langt, og heldigvis for oss, har flere andre blitt utviklet. For å adresse resten, la oss dykke ned i de grunnleggende elementene som gjør prompt-injeksjon vanskelig å forsvare mot.
Hva er Prompt-injeksjon?
Prompt-injeksjon er en manipulering av et stort språkmodell (LLM) gjennom konstruerte inndata, som får LLM til uvitende å utføre angripersens intensjoner. Det kan betraktes som sosial ingenjørkunst for AI. Kritisk, er det ikke en konvensjonell programvarefeil. En prompt-injeksjonsangrep utnytter en innebygd LLM-sårbarhet. Siden LLM-er behandler både system- og bruker-prompter som tekstsekvenser, kan de ikke intrinsisk skille mellom legitime og skadelige instruksjoner. Sårbarheten er derfor effektivt by-design, snarere enn by-accident.
Prompt-injeksjonsteknikker
Prompt-injeksjon er generelt ansett som #1-risiko for LLM-applikasjoner. Det er flere grunner til at dette er tilfelle. Den mest åpenbare faktoren er mangfoldet av injeksjonsteknikker som har blitt utviklet. Rundt gruppert i fire kategorier, inkluderer de mest kjente teknikker:
- Syntaks-basert: bruk av spesialtegn, emojier eller alternativ språk
- Indirekte: bruk av eksterne kilder (hent fra nettsted), kodning (base 64), eller multimodal referanse (tekst i bilde)
- “La oss forestille oss”: innføring av en manipulerende stil ved å rolle spille, hypotetisk, emosjonell appel, etisk ramme og format-endring
- Brutal: eksplisitt forsøk på å “tvinge” modell-instruksjoner ved brute-force, forsterkning eller negativ prompt
Mangfold alene gir en utfordring til applikasjonsutviklere, men disse angrepene har også fortsatt å utvikle seg raskt. Venstre side av diagrammet under hevder å beskrive state-of-the-art for tidlig 2023, mens høyre side reflekterer naturen til angrep i dag.

LLM-applikasjonsutviklere må også ta den standard brukervennlighet vs sikkerhet-kompromisset i betraktning. De kunne absolutt introdusere hver forsvarslag og design-mønster, men til hva pris? Forsvarslag legger til betydelig latency og introduserer Falske Positiver (FP) – feilaktig flagging av trygge prompter som skadelige – begge faktorer har en negativ innvirkning på brukeropplevelsen. Som følge er en viss grad av kompromiss uunngåelig i praksis, og det finnes ingen “sølvkule”-løsning.
Men i denne artikkelen er jeg ikke særlig interessert i dette evige katte- og mus-spillet. Snarere er jeg på utkikk etter å se om et angrep kan være umulig å forhindre i prinsippet. Fra utvikler/forsvarerens perspektiv, er det bare ett nøkkelinsikt:
Separasjon av instruksjoner fra data i prompten er grunnleggende for å adresse prompt-injeksjonsrisiko
Vi kan anta at kompromisser ikke er en faktor, og enhver forsvarslag eller teknikk kan brukes. Under denne (sterke) antagelsen, er det mulig å konstruere en scenario hvor instruksjon-data-separasjon i en prompt er effektivt umulig?
DNA-analogien
En gang problemet var rammet i termer av instruksjon-data-separasjon, var min første tanke å bruke biologi som en analogi.
Overveur en celle og et strekk av DNA (kjent som et gen). Genet gir instruksjoner for å bygge et protein gjennom transkripsjon og translasjon. Det kodar også informasjonen (data) som påvirker strukturen og funksjonen til proteinet. Som sådan dikterer genet samtidig hva som skal bygges, og hvordan det skal bygges, eller så jeg resonnerte. Men dette er enkeltvisk falskt siden et gen ikke bestemmer hvordan det skal tolke seg selv. Det finnes ingen ekvivalent av instruksjons-følging i biologi på gen-nivå. “Hvordan” er fullstendig eksternalisert til celle-maskineriet.
Derfor, selv om jeg ikke kan riste følelsen av at fremtidige generasjoner av LLM-er – eller mer nøyaktig, systemene de utvikler seg til – ville ligne biologiske maskiner til en mye større grad, fungerer den foreslåtte analogien ikke. Vi kan ikke erstatte en celle med en LLM og et gen med en prompt og deretter utføre en injeksjon i genet som ville føre til en “skadet” protein å bygges. Det ser ut til å være mer produktivt å holde fast til naturlig språk og oppgaver som krever semantisk tolkning.
Fjerning av forsvarslag
Det burde ikke overraske at flerlagete forsvarstrategier anses som mer effektive i å stoppe prompt-injeksjonsangrep. Bildet under viser de vanligste forsvarslagene i rekkefølge, og de tilknyttede teknikker som brukes i hvert lag.

Vi har allerede diskutert de to siste lagene (utdata, overvåking) ovenfor, så la oss fokusere på de fire første.
Overveur inndata-laget, er det rimelig å anta at sanering eller validering av prompten ville være ganske suksessfull i å oppdage indirekte angrep. Men hvis injeksjonen leveres direkte, og som foreslått ovenfor, ved å stole på semantisk tolkning, kanskje sanering er irrelevant (ingen å sanere), og validering er umulig som standard siden beregningen må fullføres for å identifisere problemet.
Det finnes essensielt ingen grenser for guardrailene du kunne konstruere i detekteringslaget. Faktisk kunne du sogar bruke en dedikert LLM for injeksjonsdeteksjon. Men igjen, vil det være vanskelig for en klassifiserer eller en anomali-detektor å flagge en prompt som mistenkelig når giftstoffet er skjult innenfor semantikken.
Modell-laget kan være ganske effektivt når omfanget av oppgaver er smalt, og finjustering er mulig. En lignende argument kunne gjøres for system-laget når verktøybruk er forutsigbart. Men, å bare, vil hverken av dem reise en alarm hvis injeksjonen kaster av tolkeren.
Hus av kort
Min intensjon når jeg startet å skrive denne artikkelen var å beskrive en “umulig å forhindre” prompt-injeksjonsangrep i brede trekk. Kanskje endte jeg opp med å følge en “ikke-konstruktiv” tilnærming ved å pille hull på eksisterende forsvarslag. Forsvarsteknikker fortsetter å utvikle seg raskt, og så gjør også angrepsflaten. Dette spillet viser ingen tegn på å avslutte snart. Men, jeg tror også at vi ikke kommer til å være de som spiller det for mye lenger. Jeg ville gjette på at den suksessfulle prompt-injeksjonen i fremtiden ville fortsatt være i naturlig språk, bare et språk som mennesker ikke kan forstå; og jeg ville gjette på at det ville bli auto-oppdaget av et system enten bygget for dette spesifikke formålet eller kanskje tilfeldig etter å ha tatt på seg en relatert oppgave, som å søke etter semantisk tvetydighet i noen representasjonsrom.
Det finnes noe ubehagelig i å innrømme at vi mister kontroll og likevel føler at dette er det mest rasjonelle å gjøre. Du kan tenke på det som det “intuitive bevis” som noen angrep ville være umulig å stoppe. Og hvis det lar deg urolig, ville du være glad for å vite at GPT 5.2 fant dette argumentet til å være “ikke kontroversielt eller nytt” og foreslo at jeg ikke “belaster poenget” og kutte ned 40% av artikkelen.
