Prompt injectionPrompt injection
En attack där en angripare gömmer instruktioner i text som agenten läser: modellen skiljer inte instruktioner från data och följer dem som om de kom från användaren.
En språkmodell skiljer inte instruktioner från data: allt är text i samma ström. Prompt injection utnyttjar det: en angripare gömmer instruktioner i innehåll som agenten läser, och modellen följer dem som om de kom från användaren. Det liknar att smuggla in en falsk lapp i posten agenten sorterar: den ser likadan ut som en äkta order.
Direkt och indirekt
Direkt. Angriparen skriver instruktionen i sin egen prompt ("ignorera tidigare instruktioner och …").
Indirekt. Instruktionen ligger i extern data agenten hämtar: en webbsida, ett mejl, ett dokument, ett verktygssvar. Den drabbade är då inte den som planterade texten, vilket gör varianten svårare att upptäcka.
Varför det är svårt att lösa
Det finns ingen vattentät gräns mellan betrodd och obetrodd text inuti kontextfönstret. Försvaret är lager snarare än en patch: guardrails som inputvalidering och verktygsrestriktioner, minsta möjliga rättigheter, och systeminstruktioner som är svårare att överskugga.
Förgiftat minne
En särskilt lömsk variant: en agent med skrivrättigheter till minnet som läser injicerad text kan skriva skadligt innehåll till en minnesfil. Nästa session läser det som betrodd sanning. Därför bör delat referensmaterial vara read-only.
Fördjupning
- agentminne-blir-infrastruktur — Förgiftat minne: prompt injection som skriver skadligt innehåll till en read_write-store
- harness-design-principer — Prompt injection-försvar som del av harnessens säkerhetslager