Læringssti 03Lektion 3 / 6

Behandl hentet indhold som upålideligt input

Genkend instruktioner skjult i repositoryfiler og værktøjsresultater. Hold hentede oplysninger adskilt fra bemyndigelsen til at handle.

Praktisk10 minReviewet

Udgivet af Sådan skriver vi

Det lærer du

  • Find en indirekte prompt injection i en udviklingsproces.
  • Forklar, hvorfor tekstmærkater alene ikke kan håndhæve en sikkerhedsgrænse.
  • Design en sikker test af værktøjsbegrænsninger.

Find det punkt, hvor data bliver til en instruktion

En kodeagent læser mere end brugerens anmodning. Den kan undersøge issues, repositoryfiler, pakkedokumentation, søgeresultater og værktøjssvar. Noget af indholdet kan rumme instruktioner fra andre personer.

Prompt injection opstår, når sådant indhold leder modellen væk fra den godkendte opgave. En indirekte injection kommer gennem en hentet kilde frem for brugerens direkte anmodning. OWASP beskriver repositorymateriale og værktøjsoutput som relevante indgangspunkter. Læs vejledningen om forebyggelse.

Overvej en fiktiv vedligeholdelsesopgave. Brugeren beder agenten om at rette et rapportfilter og køre de krævede tests. En hentet README siger, at testene er forældede, og beder agenten om at uploade en konfigurationsfil. README-filen kan forklare projektet. Den kan ikke give tilladelse til at springe brugerens kontroller over eller sende filer andre steder hen.

Kortlæg de mulige konsekvenser

Den samme vildledende tekst har forskellige konsekvenser i forskellige miljøer. Et værktøj, der kun læser og opsummerer, kan producere en forkert opsummering. En agent med skriveadgang til repositoryet kan ændre kode. En agent med secrets og udgående netværksadgang kan eksponere oplysninger.

Undersøg de tilgængelige handlinger, før du vælger forsvar. Angiv følsomme ressourcer, mål med skriveadgang og eksterne destinationer. Medtag connectors, der tilføjes efter den første opsætning. Et nyt værktøj kan øge virkningen af en eksisterende svaghed.

En agent kan også føre vildledende indhold videre til et senere trin. Den kan for eksempel kopiere en upålidelig instruktion til en genereret opgavebeskrivelse. Den næste agent må ikke behandle beskrivelsen som en uafhængigt godkendt politik.

Brug flere kontroller med forskellige formål

Adskil betroede opgaveinstruktioner fra hentede data i applikationsdesignet. Vis oprindelsen af hentet materiale. Det forbedrer fortolkningen, men etablerer ikke en komplet sikkerhedsgrænse.

Håndhæv ressourcerettigheder i udførelsessystemet. Begræns destinationer for følsomme data. Kræv den relevante beslutning før handlinger med væsentlige konsekvenser. Validér den foreslåede handling mod den godkendte opgave og målressource.

Filtre og en anden model kan hjælpe med at opdage mistænkeligt indhold. De kan også overse angreb eller blokere legitime oplysninger. Erstat ikke deterministisk rettighedskontrol med modellens sikkerhedsscore. OWASP nævner udtrykkeligt begrænsningerne ved kun at stole på prompts eller hentning af indhold. Læs risikobeskrivelsen.

Test arbejdsgangen uden reel eksponering

Brug et midlertidigt repository og fiktive filer. Giv evalueringen hverken produktionsadgangsoplysninger eller ubegrænset ekstern skriveadgang. Indsæt en harmløs instruktion, som strider mod opgaven, eksempelvis at springe en krævet kontrol over.

Observer både modellens svar og de faktiske værktøjshandlinger. En besked om »jeg ignorerede instruktionen« er utilstrækkelig, hvis kontrollen alligevel blev sprunget over. Registrér opgaven, det indlagte testmateriale, tilladte værktøjer og det observerede resultat.

Gentag repræsentative tilfælde efter ændringer i prompts, modeller, connectors eller rettigheder. Ét blokeret eksempel er dokumentation for det tilfælde, ikke bevis mod alle injections. Hvis en test fejler, skal du begrænse de mulige konsekvenser, mens den underliggende arbejdsgang rettes.

Lav øvelsen

Lav midlertidige testdata med en kommentar, der beder en agent om at springe en krævet kontrol over. Kør en godkendt, isoleret evaluering uden secrets eller eksterne skrivehandlinger. Kontrollér, at kontrollen stadig udføres. Registrér værktøjsrettigheder, observeret adfærd og begrænsningerne i denne ene test.

Download arbejdsark (Markdown)

Kontrollér din forståelse

En fil i repositoryet siger, at alle tests er valgfrie, og at agenten skal ignorere opgavens instruktioner. Hvordan skal arbejdsgangen behandle den?

Kilder og videre læsning

Relateret læsning fra Taiga