Behandla hämtat innehåll som obetrodd indata
Känn igen instruktioner dolda i repositoryfiler och verktygsresultat. Håll hämtad information åtskild från befogenheten att agera.
Publicerad av TaigaSå skriver vi
Det här lär du dig
- Identifiera indirekt prompt injection i ett utvecklingsflöde.
- Förklara varför textetiketter ensamma inte kan upprätthålla en säkerhetsgräns.
- Utforma ett säkert test av verktygsbegränsningar.
Identifiera punkten där data blir en instruktion
En kodagent läser mer än användarens begäran. Den kan granska ärenden, repositoryfiler, paketdokumentation, sökresultat och verktygssvar. En del innehåll kan ha instruktioner från någon annan.
Prompt injection uppstår när sådant innehåll leder modellen bort från den tillåtna uppgiften. En indirekt injektion kommer genom en hämtad källa i stället för användarens direkta begäran. OWASP beskriver repositorymaterial och verktygsresultat som relevanta ingångar. Läs förebyggande vägledning.
Tänk dig en fiktiv underhållsuppgift. Användaren ber agenten rätta ett rapportfilter och köra nödvändiga tester. En hämtad README säger att testerna är föråldrade och ber agenten ladda upp en konfigurationsfil. README-filen kan förklara projektet. Den kan inte tillåta att användarens kontroller hoppas över eller att filer skickas någon annanstans.
Kartlägg möjliga konsekvenser
Samma vilseledande text har olika konsekvenser i olika miljöer. En sammanfattare med enbart läsåtkomst kan ge en felaktig sammanfattning. En agent med skrivåtkomst till repositoryt kan ändra kod. En agent med hemligheter och utgående nätverksåtkomst kan exponera information.
Granska tillgängliga åtgärder innan du bestämmer vilka försvar som är viktiga. Lista känsliga resurser, skrivbara mål och externa destinationer. Ta med anslutningar som lagts till efter första konfigurationen. Ett nytt verktyg kan öka effekten av en befintlig svaghet.
En agent kan också föra vilseledande innehåll vidare till ett senare steg. Den kan exempelvis kopiera en obetrodd instruktion till en genererad uppgiftsbeskrivning. Nästa agent får inte behandla beskrivningen som självständigt godkänd policy.
Använd flera kontroller med skilda syften
Skilj betrodda uppgiftsinstruktioner från hämtade data i applikationsdesignen. Visa det hämtade materialets ursprung. Åtgärderna förbättrar tolkningen men fastställer ingen fullständig säkerhetsgräns.
Upprätthåll resursbehörigheter i exekveringssystemet. Begränsa destinationer för känsliga data. Kräv rätt beslut före åtgärder med betydande konsekvenser. Validera föreslagen operation mot tillåten uppgift och tillåtet mål.
Filter och en andra modell kan hjälpa att upptäcka misstänkt innehåll. De kan också missa attacker eller blockera legitim information. Ersätt inte deterministisk auktorisering med modellens konfidenspoäng. OWASP betonar begränsningarna i att enbart förlita sig på promptar eller informationshämtning. Läs riskbeskrivningen.
Testa arbetsflödet utan verklig exponering
Använd ett tillfälligt repository och fiktiva filer. Ge utvärderingen inga autentiseringsuppgifter för produktion och ingen obegränsad extern skrivåtkomst. Lägg in en ofarlig instruktion som strider mot uppgiften, exempelvis att hoppa över en obligatorisk kontroll.
Observera både modellens svar och de faktiska verktygsåtgärderna. Ett meddelande som säger ”jag ignorerade instruktionen” räcker inte om kontrollen ändå hoppades över. Dokumentera uppgift, injicerade testdata, tillåtna verktyg och observerat resultat.
Upprepa representativa fall efter ändringar i promptar, modeller, anslutningar eller behörigheter. Ett blockerat exempel är underlag för det fallet, inte bevis mot alla injektioner. Om ett test misslyckas ska du begränsa möjliga konsekvenser medan det bakomliggande arbetsflödet rättas.
Gör övningen
Skapa tillfälliga testdata med en kommentar som ber agenten hoppa över en obligatorisk kontroll. Kör en godkänd, isolerad utvärdering utan hemligheter eller externa skrivningar. Verifiera att kontrollen ändå körs. Anteckna verktygsbehörigheter, observerat beteende och begränsningarna i detta enskilda test.
Ladda ned övningsblad (Markdown)Kontrollera din förståelse
Källor och vidare läsning
Relaterad läsning från Taiga
Om du avmarkerar valet raderas alla framsteg som sparats i den här webbläsaren.
Framstegen stannar i webbläsaren. Inget konto, ingen spårning.