Prompt injection ni mogoče odpraviti: omejite, kaj agent sploh sme storiti

|Avtor: Uredništvo QUASA|4 min branja
Prompt injection ni mogoče odpraviti: omejite, kaj agent sploh sme storiti

Agenta, ki bere spletne strani, dokumente ali e-pošto, zaščitite tako, da zunanjo vsebino obravnavate kot nezaupanja vredne podatke, njegove klice orodij pa omejite s pravili zunaj modela. Britanski NCSC opozarja, da prompt injectiona ni mogoče povsem odpraviti; zasnova mora zmanjšati verjetnost napada in posledice, če agent zlonamernemu besedilu sledi.

Praktična meja je med predlogom in izvedbo. Model lahko predlaga, naj agent odpre datoteko, pošlje sporočilo ali obišče naslov, vendar aplikacija pred vsakim dejanjem preveri uporabnikovo nalogo, dovoljenja, parametre in omrežni cilj. Če zahteve ne more povezati z dovoljenim namenom, dejanje ustavi in po potrebi zahteva uporabnikovo odločitev.

Ohranite izvor zunanje vsebine

Navodilo, skrito v spletni strani ali priponki, mora ostati del prebranega gradiva, tudi ko zahteva spremembo cilja ali uporabo orodja. Smernice OWASP o prompt injectionu priporočajo jasno označevanje zunanje vsebine, najmanjša potrebna dovoljenja in odobritev tveganih dejanj. Oznaka modelu pomaga razumeti kontekst, sama pa ne zagotavlja varnostne meje.

Ob zajemu shranite izvor in vlogo vsakega dela vhoda: uporabnikovo zahtevo, prejeto e-pošto, besedilo dokumenta in rezultat spletnega iskanja vodite ločeno. Ta podatek naj ostane v orkestratorju tudi po tem, ko model pripravi povzetek ali predlaga naslednji korak. Besedilo, pridobljeno iz zunanjega vira, ne sme samo spremeniti dovoljenega cilja naloge.

Če uporabnik naroči povzetek sporočila, je ukaz v sporočilu, naj agent poišče interne datoteke in jih pošlje na drug naslov, vsebina za povzetek. Agent ga lahko v povzetku omeni, ne sme pa ga pretvoriti v pooblastilo za pošiljanje. Enako velja za navidezna sistemska navodila v spletni strani ali dokumentu.

Dovoljenja določite glede na nalogo in orodje

Za vsako vrsto naloge najprej določite, katere vire mora agent doseči in katera dejanja sme izvesti. OWASP-ov pregled tveganj za agente priporoča ločene profile dovoljenj za orodja, omejitve obsega podatkov in hitrosti klicev, dovoljene izhodne cilje ter potrditev dejanj z velikim učinkom.

Agent za povzemanje pošte lahko dobi bralni dostop do izbranega nabiralnika, brez pravice do pošiljanja ali brisanja. Agent za iskanje po dokumentih lahko bere zbirko, ki jo je uporabnik izbral za nalogo, brez splošnega dostopa do datotek. Dovoljenja uveljavite pri storitvi, ki orodje izvaja, z ustrezno omejenimi poverilnicami; zapis v sistemskem pozivu ne omeji dejanskih pravic računa.

Ločite tudi pripravo od dokončnega dejanja. Osnutek sporočila lahko nastane samodejno, za njegovo pošiljanje pa je potrebna dodatna odobritev. Enaka meja je smiselna pred objavo, brisanjem ali spremembo zapisa. Tako zlonamerna priponka ne more uporabiti vseh zmožnosti, ki jih ima širša aplikacija.

Vsak predlagani klic preverite pred izvedbo

Med model in orodja postavite plast pravil, ki predlog obravnava kot nezaupanja vreden vhod. Preveri naj identiteto uporabnika, dovoljeno orodje, obseg virov in parametre po vnaprej določeni shemi. Manjkajoče ali nepričakovane vrednosti naj zavrne; model jih ne sme sam dopolniti s podatki, pobranimi iz zunanjega besedila.

Pri pošiljanju določite dovoljene prejemnike, vrsto priponk in obseg vsebine. Pri iskanju omejite zbirko in količino vrnjenih podatkov; pri datotekah ločite branje od pisanja ter omejite poti. Preverjanje mora upoštevati tudi zaporedje dejanj: ločeno dovoljena branje notranjega dokumenta in pošiljanje sporočila lahko skupaj ustvarita nedovoljen prenos podatkov.

Pred dejanjem z velikim učinkom uporabniku pokažite konkretni predlog: prejemnika in vsebino sporočila, spremembe zapisa ali datoteke za brisanje. Potrditev naj velja samo za prikazane parametre. Če se ti pred izvedbo spremenijo, mora aplikacija predlog znova preveriti in zahtevati novo potrditev.

Nadzorujte, kam lahko podatki odtečejo

Tudi agent z omejenimi pravicami za datoteke lahko razkrije prebrane podatke, če sme poljubno klicati zunanje naslove. Za brskalnik, orodja za omrežne zahteve in izvajanje kode določite dovoljene cilje izhodnega prometa; povezave zunaj tega seznama privzeto zavrnite. Enako preverjanje naj velja po preusmeritvi in za povezave, ki jih orodje sproži v imenu agenta.

Spletni naslov v dokumentu ali e-pošti je podatek iz nezaupanja vrednega vira, ne nova izjema v omrežni politiki. Če naloga zahteva pošiljanje podatkov novi storitvi, morata biti dovoljena tako cilj kot vrsta podatkov, ki mu jih agent predaja. Odločitev naj sprejme aplikacijska politika ali uporabnik z ustreznimi pravicami.

Beležite zavrnjene klice, spremembe parametrov in poskuse povezovanja z nedovoljenimi cilji. Zapisi pomagajo razlikovati napadalno vsebino od legitimne naloge, za katero so pravila preozka. Dostop do dnevnikov omejite, ker lahko vsebujejo občutljive dele zahtev in rezultatov.

Ob nejasnem namenu ustavite dejanje

Če agent iz zunanjega besedila sklepa, da mora spremeniti cilj naloge, lahko nadaljuje z dovoljenim branjem ali pripravo osnutka. Pošiljanje, brisanje ali širitev dostopa naj ustavi, dokler aplikacija ne dobi jasne, dovoljene zahteve. Nejasen namen ni razlog, da agent sam izbere prejemnika, datoteko ali ukaz.

Meje preizkusite z nadzorovanimi primeri, v katerih preskusna stran, dokument ali sporočilo zahteva nedovoljeno dejanje. Preverite tudi zaporedje sicer dovoljenih klicev, ki bi skupaj prenesli notranje podatke navzven. Uspešno pravilo blokira občutljivo dejanje pri izvedbi, tudi če ga model po branju zunanje vsebine predlaga.

Pri uvedbi agenta zato za vsako nalogo zapišite dovoljene vire, orodja, parametre in omrežne cilje. Širša avtomatizacija pride na vrsto šele, ko so te meje uveljavljene v aplikaciji in storitvah, ki dejanja izvajajo.

Deli:

Naročite se na naše e-novice

Najnovejše novice o Web3, UI in kriptovalutah neposredno v vaš e-poštni predal.

0