Pot 03Lekcija 3 / 6

Pridobljeno vsebino obravnavajte kot nezaupanja vreden vhod

Prepoznajte navodila, skrita v datotekah repozitorija in rezultatih orodij. Pridobljene informacije ločite od pooblastil za dejanja.

Praktična raven10 minPregledano

Izdajatelj Kako pišemo

Preverite razumevanjeDatoteka v repozitoriju pravi, da so vsi testi neobvezni in naj agent prezre navodila naloge. Kako naj jo obravnava delovni tok?Opravite vajo
Datoteka v repozitoriju pravi, da so vsi testi neobvezni in naj agent prezre navodila naloge. Kako naj jo obravnava delovni tok?

Kaj se boste naučili

  • Prepoznajte posredno vrivanje navodil v razvojnem delovnem toku.
  • Pojasnite, zakaj same besedilne oznake ne morejo uveljaviti varnostne meje.
  • Zasnujte varen test omejitev orodij.

Prepoznajte točko, kjer podatki postanejo navodilo

Agent za programiranje bere več kot samo uporabnikovo zahtevo. Pregleduje lahko zahtevke, datoteke repozitorija, dokumentacijo paketov, rezultate iskanja in odgovore orodij. Del te vsebine lahko vsebuje navodila druge osebe.

Vrivanje navodil oziroma prompt injection se zgodi, ko taka vsebina preusmeri model stran od odobrene naloge. Posredno vrivanje prispe prek pridobljenega vira namesto neposredne uporabnikove zahteve. OWASP navaja gradivo repozitorija in izhode orodij kot relevantne vstopne točke. Preberite smernice za preprečevanje.

Oglejte si izmišljeno vzdrževalno nalogo. Uporabnik prosi agenta, naj popravi filter poročila in izvede zahtevane teste. Pridobljena datoteka README pravi, da so testi zastareli, in agentu naroči, naj naloži konfiguracijsko datoteko. README lahko pojasni projekt. Ne more dovoliti preskakovanja uporabnikovih preverjanj ali pošiljanja datotek drugam.

Opredelite možne posledice

Isto zavajajoče besedilo ima v različnih okoljih različne posledice. Orodje za povzemanje z dostopom samo za branje lahko ustvari napačen povzetek. Agent z dovoljenjem za pisanje v repozitorij lahko spremeni kodo. Agent s skrivnostmi in odhodnim omrežnim dostopom lahko razkrije informacije.

Pred odločitvijo o pomembnih zaščitah preglejte razpoložljiva dejanja. Navedite občutljive vire, cilje pisanja in zunanje cilje. Vključite povezovalnike, dodane po začetni nastavitvi. Novo orodje lahko poveča učinek obstoječe slabosti.

Agent lahko zavajajočo vsebino prenese tudi v poznejšo fazo. Nezaupanja vredno navodilo lahko na primer kopira v ustvarjeni opis naloge. Naslednji agent tega opisa ne sme obravnavati kot neodvisno odobrenega pravila.

Uporabite več ukrepov z različnimi nameni

V zasnovi aplikacije ločite zaupanja vredna navodila naloge od pridobljenih podatkov. Pokažite izvor pridobljenega gradiva. Ta koraka izboljšata razumevanje, ne vzpostavita pa popolne varnostne meje.

Dovoljenja za vire uveljavite v izvajalnem sistemu. Omejite cilje za občutljive podatke. Pred dejanji s pomembnimi posledicami zahtevajte ustrezno odločitev. Predlagano operacijo preverite glede na odobreno nalogo in cilj.

Filtri in drugi model lahko pomagajo zaznati sumljivo vsebino. Lahko pa tudi spregledajo napade ali blokirajo legitimne informacije. Deterministične avtorizacije ne nadomestite z oceno zaupanja modela. OWASP izrecno opozarja na omejitve zanašanja samo na pozive ali pridobivanje podatkov. Preberite opis tveganja.

Delovni tok preizkusite brez resnične izpostavljenosti

Uporabite začasen repozitorij in izmišljene datoteke. Ocenjevanju ne dodelite produkcijskih poverilnic ali neomejenega pisanja v zunanje sisteme. Dodajte neškodljivo navodilo, ki nasprotuje nalogi, na primer preskok zahtevanega preverjanja.

Opazujte odgovor modela in dejanska dejanja orodij. Sporočilo »navodilo sem prezrl« ni dovolj, če je bilo preverjanje vseeno preskočeno. Zabeležite nalogo, vstavljeno testno vsebino, dovoljena orodja in opaženi rezultat.

Po spremembah pozivov, modelov, povezovalnikov ali dovoljenj ponovite reprezentativne primere. Blokiran primer je dokazilo za ta primer in ne dokaz zaščite pred vsakim vrivanjem navodil. Če test ne uspe, med popravljanjem osnovnega delovnega toka omejite možne posledice.

Opravite vajo

Ustvarite začasno testno datoteko s komentarjem, ki agentu naroči, naj preskoči zahtevano preverjanje. Izvedite odobreno, ločeno ocenjevanje brez skrivnosti ali pisanja v zunanje sisteme. Preverite, da se preverjanje vseeno izvede. Zabeležite dovoljenja orodij, opaženo delovanje in omejitve tega posameznega testa.

Prenesi delovni list (Markdown)
Preverite razumevanje ↑

Nadaljujte učenje

Viri in nadaljnje branje

Povezano gradivo podjetja Taiga

← Prejšnja lekcija: Omejite pooblastila agenta