Prompt injection: filtre alene stopper ikke angrep på KI-agenter

|Forfatter: QUASAs redaksjon|5 min lesetid| 1
Prompt injection: filtre alene stopper ikke angrep på KI-agenter

Filtre alene stopper ikke prompt injection mot KI-agenter. For å redusere risikoen må teamet begrense hvilke data og verktøy agenten får bruke, skille innhentet innhold fra instruksjoner og kontrollere handlinger før de utføres. OWASPs veiledning beskriver hvordan innskutte instruksjoner i dokumenter, nettsider og e-post kan føre til datalekkasje eller uautoriserte verktøykall.

Forsvaret må ha to formål: gjøre det mindre sannsynlig at modellen følger en ondsinnet instruksjon, og begrense skaden dersom den gjør det. Britiske NCSCs advarsel forklarer hvorfor dette ikke kan løses som SQL-injeksjon: Språkmodeller behandler naturlige instruksjoner og data i samme kontekst. Derfor må rettigheter og handlingsgrenser håndheves av systemer utenfor modellen.

Gi agenten bare rettighetene oppgaven krever

Begynn med brukerens konkrete oppdrag. En agent som skal oppsummere et dokument, trenger tilgang til dokumentet, men ikke dermed rett til å sende e-post, endre filer eller lese andre brukeres innhold. Skill lesing fra skriving, avgrens hvilke ressurser hvert verktøy kan nå, og kontroller brukerens rettigheter ved hvert oppslag. Modellens valg av et verktøy må ikke utvide tilgangen brukeren allerede har.

OWASPs sjekkliste for KI-agenter anbefaler minste nødvendige verktøytilgang, isolasjon mellom brukere og økter samt særskilt godkjenning av handlinger med stor konsekvens. Gi derfor en agent som leser ukjente vedlegg, et annet handlingsrom enn en agent som kan sende meldinger eller slette innhold. Hvis et vedlegg manipulerer modellen til å foreslå en utsendelse, skal manglende sendetillatelse fortsatt stanse den.

Behandle innhentet tekst som data

Dokumenter, e-post, søkeresultater og svar fra verktøy kan inneholde nyttige opplysninger og samtidig forsøke å gi agenten nye ordre. Legg slikt innhold i tydelig avgrensede datafelt, og behold oppgaven og applikasjonens regler i egne instruksjonsfelt. Ta med kilde og tilgangsnivå når utdrag hentes inn. Det gjør det mulig å vurdere hvor et påstått påbud kommer fra, men merkingen alene hindrer ikke modellen i å bli påvirket.

Hent bare innholdet oppgaven krever. Undersøk skjult tekst, koding og formatering som kan bære instruksjoner, og la et filter markere mistenkelige mønstre for kontroll. Behandle også et umerket utdrag som innhold med lavere tillit: Et filter kan overse en omskrevet eller skjult beskjed. Før noe lagres som agentminne, må lagringen avgrenses til riktig bruker og økt, slik at en instruksjon fra én kilde ikke dukker opp som premiss i en senere samtale.

La en egen kontroll avgjøre verktøykall

Et foreslått verktøykall er en forespørsel fra modellen, ikke en autorisasjon. En kontroll utenfor modellen må sjekke verktøynavn, mål og parametere mot brukerens rettigheter, gjeldende økt og det opprinnelige oppdraget. Ber brukeren om et sammendrag, skal en beskjed i dokumentet ikke kunne legge til en ekstern e-postmottaker. Ukjente verktøy og mål utenfor tillatt omfang skal avvises før kjøring.

For utsendelse, sletting og tilgangsendringer bør brukeren se hva som faktisk skal skje og godkjenne akkurat den handlingen. Knytt godkjenningen til mottaker eller ressurs og til de konkrete parameterne. Endres de etter forhåndsvisningen, må handlingen vurderes på nytt. En generell bekreftelse på at agenten kan fortsette, sier lite om hvilken handling brukeren har godkjent.

Se etter lekkasje også utenfor sluttsvaret

Kontroller agentens svar før det vises eller sendes videre. Se etter hemmeligheter, personopplysninger og innhold fra andre brukere som ikke hører til i oppgaven. Undersøk også verktøyparametere: Følsomme opplysninger kan havne i en nettadresse, et søk eller en e-post selv om sluttsvaret til brukeren ser normalt ut.

Logg oppdraget, hvilke kilder som ble brukt, foreslåtte og utførte kall, avvisninger og konkrete godkjenninger. Registrer det som trengs for å forstå en hendelse, uten å kopiere hele dokumenter eller hemmeligheter inn i loggen. Varsler om uventede mottakere, gjentatte avvisninger eller brå endringer i verktøybruk kan avdekke forsøk som inngangsfilteret ikke fanget. Slik overvåking gir et spor av beslutningene, mens tilgangs- og handlingskontrollene fortsatt avgjør hva agenten får gjøre.

Prøv kontrollene mot hver angrepsflate

En kontrollmatrise gjør det tydelig hva som skal stanse manipuleringen, og hva som skal begrense skaden hvis modellen likevel følger den. Test med ufarlige markører og et avgrenset testmiljø. For en agent som leser dokumenter og kan bruke e-post, kan matrisen se slik ut:

  • Dokumentutdrag: En innskutt beskjed kan få agenten til å forlate oppsummeringsoppgaven. Avgrens utdraget som data og gi agenten bare lesetilgang. Oppdag avvik mellom brukerens oppdrag og agentens foreslåtte handling. Legg en beskjed om å endre oppgaven i et testdokument; forvent et relevant sammendrag og ingen ny handling.
  • E-postvedlegg: Et vedlegg kan be agenten sende interne opplysninger til en mottaker det selv oppgir. Krev separat sendetillatelse og kontroller mottakeren mot brukerens bestilling. Varsle om nye eksterne mottakere og avviste sendeforsøk. Test med et vedlegg som ber om videresending; forvent at sendekallet stoppes før utsendelse.
  • Verktøysvar: Et søkeresultat eller API-svar kan forsøke å styre neste kall. Behandle svaret som data, og kontroller neste verktøy og dets parametere uavhengig av teksten. Registrer verktøyskifte og mål utenfor tillatt omfang. Test med et svar som oppgir en ny adresse for dataoverføring; forvent avvisning.
  • Sluttsvar og minne: Innhold kan lekke til feil bruker eller påvirke senere økter. Isoler tilgang og minne per bruker, og kontroller innhold før visning og lagring. Oppdag markører fra feil økt i svaret. Test med ulike ufarlige markører i adskilte økter; forvent at ingen markør krysser grensen.

Kjør tilfellene igjen når datakilder, verktøy, rettigheter eller agentens instruksjoner endres. La også testinnhold passere inngangsfilteret med hensikt: Da blir det synlig om de uavhengige grensene fortsatt stanser en uautorisert handling.

Les også:

Del:

Abonner på nyhetsbrevet vårt

Få de siste nyhetene om Web3, KI og krypto rett i innboksen.

0