Pridobljeno vsebino obravnavajte kot nezaupanja vreden vhod
DokončanoPrepoznajte navodila, skrita v datotekah repozitorija in rezultatih orodij. Pridobljene informacije ločite od pooblastil za dejanja.
Izdajatelj TaigaKako 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
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)Če počistite to izbiro, izbrišete ves napredek, shranjen v tem brskalniku.
Napredek ostane v tem brskalniku. Brez računa in sledenja.