Tankeledare

En Prompt Injection-attack som inte kan förhindras: ÖnsketĂ€nkande eller verklig oro?

mm
A digital 3D render of a dark server room with a computer monitor displaying a

I den här artikeln vill jag engagera läsaren i ett tankeexperiment. Jag ska argumentera för att en viss typ av prompt-injektionsattack i framtiden kommer att vara effektivt oförhindrad. Mitt argument kommer att vara mer spekulativt än konkret, så jag försöker inte övertyga dig om någonting. Istället bjuder jag in dig att utforska dessa tankar. Innan jag börjar, som varje övertygande författare skulle göra, vill jag diskutera schack och schackmotorer.

Övermänskliga schackmotorer och en påstående om mänsklig erfarenhet

En av de trevligaste aspekterna av schack som saknas i andra discipliner är förmågan att objektivt mäta en spelares kvalitet eller styrka. ELO-poängsystemet som används för detta ändamål har sina brister, men det ger en mycket bra ungefärlig uppskattning som håller över tiden. En poäng på 2700 eller högre är allmänt erkänt som världsklass (topp 30 i världen). Världens bästa spelare är bara under 2850. Ingen människa har någonsin nått en poäng på 2900.

I mitten av 90-talet såg vi den första AI-motorn (Deep Blue) som nådde en världsklass-nivå. Den praktiska implikationen av denna milstolpe var den breda antagandet av motorer av spelare på alla nivåer för övning och analys. Faktum är att motoranvändning blev essentiell för världens bästa spelare. Men under flera generationer av dessa världsklassmotorer var det nödvändigt att granska deras rekommenderade drag (dvs. utdata). Det fanns till och med ett särskilt format som skapades kallat “avancerat schack” där människor tävlade med en motor bredvid sig, och människa + maskinkombinationen ansågs vara överlägsen maskinen ensam.

Det tog cirka 20 år, och vissa kritiska framsteg inom djupinlärning och förstärkt inlärning för schackmotorer att nå en övermänsklig nivå (ungefär 3200 ELO). Men när denna stratosfär väl bröts runt 2017, hände något mycket överraskande. Ja, faktiskt hände två saker. Den första var helt förväntad; motorerna blev den de facto-källan till “sanning” i 99% av alla positioner. I praktiken betydde det att vi gick in i “eran av blind tillit” till motorn. Det är i princip omöjligt för en människa att föreslå ett betydligt bättre drag än motorn. Så underhållande “avancerat schack” var, är det nu en meningslös övning; människor skulle bidra med nästan ingenting till spelet. Men den andra var chockerande för de flesta schackspelare. Dessa övermänskliga neurala (dvs. djupa neurala nätverk) motorer skulle ibland spela i en stil som bäst kan beskrivas som “romantisk”. Med andra ord, de skulle göra drag vars värde bara kunde uppskattas många, många drag senare, långt bortom vad någon människa eller världsklassmotor kunde beräkna. Det kändes mycket som att motorerna utvecklat en “känsla” eller en “intuition” för vissa positioner. Förutom att denna intuition inte är något en människa kunde någonsin förstå eller imitera.

Uttryckt på ett annat sätt kan en övermänsklig neural motor göra drag som är bortom den kognitiva horisonten för en människa. Detta är den kritiska punkten här; problemet är inte frågan om förklarbarhet. En människa kan helt enkelt inte förstå varför en motor rekommenderar ett drag utan att spela ut positionen och observera resultatet många drag senare, dvs. rulla ut hela sekvensen av möjliga spelförlopp. Som ett resultat har vi en oövervinnelig klyfta i förmåga. Det är objektivt optimalt att acceptera motorutdata utan granskning. Jag kan sammanfatta mitt påstående på följande sätt:

Schack är ett bevis för att övermänsklig AI skulle fungera autonomt i vissa domäner. Att möjliggöra för AI-systemet att fatta beslut utan mänsklig granskning skulle vara det optimala sättet att distribuera ett sådant system.

Eftersom mitt påstående kan verka uppenbart eller oanmärkningsvärt, vill jag betona ett par nyanser. Anta att vi har ett AI-system som visar övermänsklig nivå i en komplex, kritisk uppgift med konkreta, oåterkalleliga konsekvenser. Det finns två implikationer av mitt påstående:

  1. Systemet skulle distribueras för att fatta beslut för uppgiften utan mänsklig granskning, trots den inneboende risken
  2. Insikt som vunnits från att övervaka ett sådant system skulle inte förhindra ett skadligt beslut; skadan skulle redan ha skett

Systemutdatagranskning och övervakning är precis de sista två försvarsskikten mot promptinjektion. Därför kunde vår hypotetiska promptinjektionsattack kringgå dessa skikt genom att rikta sig mot det relevanta systemet.

Detta är ett mycket realistiskt scenario i mitt sinne. Ett övermänskligt AI-system i en specifik domän är inte AGI, och de flesta experter tror att sådana system är precis runt hörnet. Vi behövde inte anta att besluten är tidskritiska, bara att uppgiften är tillräckligt komplex för att göra mänsklig granskning omöjlig.

Naturligtvis har vi bara kringgått två försvarsskikt hittills, och lyckligtvis för oss har flera andra utvecklats. För att hantera resten, låt oss dyka in i de grundläggande elementen som gör promptinjektion svår att försvara mot.

Vad är Promptinjektion?

Promptinjektion är en manipulation av ett stort språkmodell (LLM) genom utformade indata, som orsakar att LLM omedvetet utför angriparens avsikt. Det kan betraktas som social ingenjörskonst för AI. Avgörande är det inte en konventionell programvarubugg. En promptinjektionsattack utnyttjar en inbyggd LLM-sårbarhet. Eftersom LLM bearbetar både system- och användarprompter som textsekvenser, kan de inte intrinsikalt skilja mellan legitima och skadliga instruktioner. Sårbarheten är därför effektivt av design, snarare än av olycka.

Promptinjektionstekniker

Promptinjektion är allmänt erkänt som #1 risk för LLM-applikationer. Det finns flera skäl till varför detta är fallet. Den mest uppenbara faktorn är variationen av injektionstekniker som har utvecklats. Grovt grupperade i fyra kategorier, inkluderar de mest kända teknikerna:

  • Syntaxbaserad: användning av specialtecken, emojis eller alternativt språk
  • Indirekt: användning av externa källor (hämta från webbplats), kodning (base 64) eller multimodal referens (text i bild)
  • ”Låtsas”: införande av en manipulativ stil genom t.ex. rollspel, hypotetisk, emotionell appell, etisk ram eller formatbyte
  • Brutal: explicit försök att ”tvinga” modellinstruktioner genom brute force, förstärkning eller negativ prompt

Variationen ensam utgör en utmaning för applikationsutvecklare, men dessa attacker har också fortsatt att utvecklas snabbt. Den vänstra sidan av diagrammet nedan påstår att beskriva state-of-the-art för tidig 2023, medan den högra sidan reflekterar naturen av attacker idag.

Utveckling av attackvektorer

LLM-applikationsutvecklare måste också ta den standardmässiga användbarhet vs säkerhetstradeoffen i beaktande. De kunde säkert införa varje försvarsskikt och designmönster, men till vilken kostnad? Försvarsskikt lägger till betydande latens och introducerar falska positiva (FP) – felaktigt flaggning av säkra prompter som skadliga – båda faktorer har en negativ inverkan på användarupplevelsen. Som ett resultat är någon form av kompromiss oundviklig i praktiken, och det finns ingen “silverkula”-lösning.

Men i den här artikeln är jag inte riktigt intresserad av detta aldrig sinande katt- och råttalek. Jag är mer intresserad av att undersöka om en attack kan vara oförhindrad i princip. Från utvecklarens/ försvararens perspektiv finns det bara en viktig insikt:

Separation av instruktioner från data i prompten är grundläggande för att hantera promptinjektionsrisk

Vi kan anta att kompromisser inte är en faktor, och att varje försvarsskikt eller teknik kan användas. Under denna (starka) antagande, är det möjligt att konstruera ett scenario där instruktion-data-separation i en prompt är effektivt omöjlig?

DNA-analogin

När frågan väl var formulerad i termer av instruktion-data-separation, var min första tanke att använda biologi som en analogi.

Överväg en cell och en sträcka av DNA (känd som en gen). Genen tillhandahåller instruktioner för att bygga ett protein genom transkription och translation. Den kodar också informationen (data) som påverkar proteinets struktur och funktion. Som sådan dikterar genen samtidigt vad som ska byggas och hur det ska byggas, eller så resonerade jag. Men detta är helt enkelt falskt eftersom en gen inte bestämmer hur den ska tolkas själv. Det finns ingen motsvarighet till instruktionsföljande i biologi på gen-nivå. “Hur” är fullständigt externaliserat till cellmaskineriet.

Därför, även om jag inte kan skaka av mig känslan att framtida generationer av LLM – eller mer exakt, de system de utvecklas till – skulle likna biologiska maskiner till en mycket större utsträckning, fungerar den föreslagna analogin inte. Vi kan inte ersätta en cell med en LLM och en gen med en prompt och sedan utföra en injektion i genen som skulle orsaka en “skadad” protein att byggas. Det verkar mer produktivt att hålla fast vid naturligt språk och uppgifter som kräver semantisk tolkning.

Att avlägsna försvarsskikten

Det borde inte komma som en överraskning att multi-lagers försvarsstrategier anses vara mer effektiva i att stoppa promptinjektionsattacker. Bilden nedan visar de vanligaste försvarsskikten i ordning, och de associerade teknikerna som används i varje skikt.

Promptinjektionsförsvarsskikt

Vi har redan diskuterat de sista två skikten (utdata, övervakning) ovan, så låt oss fokusera på de första fyra.

Med tanke på inmatningsskiktet är det rimligt att anta att sanering eller validering av prompten skulle vara ganska framgångsrik i att upptäcka indirekta attacker. Men om injektionen levereras direkt, och som föreslagits ovan, genom att lita på semantisk tolkning, kanske sanering är irrelevanta (ingenting att sanera), och validering är omöjlig som standard eftersom beräkningen måste slutföras för att identifiera problemet.

Det finns i princip inga gränser för de skyddsräcken som kan konstrueras i detekteringsskiktet. Faktum är att du till och med kunde använda en dedikerad LLM för injektionsdetektering. Men återigen kommer det att vara svårt för en klassificerare eller en avvikelsedetektor att flagga en prompt som misstänkt när giftet är smart gömt inom semantiken.

Modellskiktet kan vara ganska effektivt när uppgiftens omfattning är smal, och finjustering är möjlig. Ett liknande argument kunde göras för systemskiktet när verktygsanvändningen är förutsägbar. Men åtminstone intuitivt skulle varken av dessa höja en varningssignal om injektionen kastar av sig tolkaren.

Kort hus

Min avsikt när jag började skriva den här artikeln var att beskriva en “oförhindrad” promptinjektionsattack i stora drag. Kanske slutade jag med att följa en “icke-konstruktiv” metod genom att peta hål i befintliga försvarsskikt. Försvarstekniker fortsätter att utvecklas snabbt, och så gör också attackytan. Detta spel visar inga tecken på att ta slut snart. Men jag tror också att vi inte kommer att vara de som spelar det under mycket längre. Jag skulle gissa att den framgångsrika promptinjektionen i framtiden fortfarande skulle vara i naturligt språk, bara ett språk som människor inte kan förstå; och jag skulle gissa att det skulle vara auto-upptäckt av ett system antingen byggt för det specifika syftet eller kanske av misstag efter att ha hanterat en relaterad uppgift, såsom att söka efter semantisk tvetydighet i någon representation.

Det finns något obehagligt i att medge att vi förlorar kontroll och ändå känner att detta är det mest rationella att göra. Du kan tänka på det som “intuitivt bevis” för att vissa attacker skulle vara obesegrbara. Och om det lämnar dig obekväm, skulle du vara glad att veta att GPT 5.2 fann detta argument vara “inte kontroversiellt eller nytt” och förespråkade att jag inte ”belabrar punkten” och skar ner 40% av artikeln.

Eli Vovsha Àr en Data Science Manager pÄ Fortra. Tillsammans med Data Science-teamet ansvarar han för att utveckla och underhÄlla alla maskinlÀrningsmodeller (ML) som anvÀnds av CEP- och XDR-produkterna, samt allmÀn ML-forskning. Han tog sin masterexamen i tillÀmpad matematik frÄn Stevens Institute of Technology innan han blev doktorand i datavetenskap vid Columbia University, dÀr han ocksÄ var instruktör. Han co-founded senare en EdTech-startup med mÄlet att bygga en AI-driven lÀrplattform och undervisade sedan i matematik och datavetenskap pÄ en privat högstadieskola i New York City. Innan han pÄbörjade sina doktorandstudier Àgnade Eli mycket tid Ät schack och erhöll titeln Internationell MÀstare (IM).