Kryptis 03Pamoka 3 / 6

Gautą turinį laikykite nepatikima įvestimi

Atpažinkite kodo saugyklos failuose ir įrankių rezultatuose paslėptas instrukcijas. Gautą informaciją atskirkite nuo įgaliojimų veikti.

Praktinis10 minPeržiūrėta

Leidžia Kaip rašome

Patikrinkite, ar supratoteKodo saugyklos failas teigia, kad visi testai neprivalomi, o agentas turi ignoruoti užduoties instrukcijas. Kaip darbo eiga turėtų jį vertinti?Atlikite užduotį
Kodo saugyklos failas teigia, kad visi testai neprivalomi, o agentas turi ignoruoti užduoties instrukcijas. Kaip darbo eiga turėtų jį vertinti?

Ko išmoksite

  • Atpažinkite netiesioginį prompt injection kūrimo darbo eigoje.
  • Paaiškinkite, kodėl vien tekstinės žymos negali užtikrinti saugumo ribos.
  • Suprojektuokite saugų įrankių apribojimų testą.

Nustatykite, kur duomenys tampa instrukcija

Programavimo agentas skaito ne tik naudotojo prašymą. Jis gali peržiūrėti užduotis, kodo saugyklos failus, paketų dokumentaciją, paieškos rezultatus ir įrankių atsakymus. Kai kuriame turinyje gali būti kito asmens instrukcijų.

Prompt injection įvyksta, kai toks turinys nukreipia modelį nuo leistinos užduoties. Netiesioginė instrukcijų injekcija ateina per gautą šaltinį, o ne tiesioginį naudotojo prašymą. OWASP kodo saugyklos medžiagą ir įrankių rezultatus nurodo kaip aktualius įėjimo taškus. Skaitykite prevencijos gaires.

Apsvarstykite išgalvotą priežiūros užduotį. Naudotojas prašo agento pataisyti ataskaitos filtrą ir atlikti privalomus testus. Gautas README teigia, kad testai pasenę, ir prašo agento įkelti konfigūracijos failą. README gali paaiškinti projektą. Jis negali leisti praleisti naudotojo patikrinimų ar siųsti failų kitur.

Nustatykite galimas pasekmes

Tas pats klaidinantis tekstas skirtingose aplinkose turi skirtingas pasekmes. Tik skaityti galinti apibendrinimo priemonė gali pateikti klaidingą santrauką. Agentas su rašymo į kodo saugyklą teisėmis gali pakeisti kodą. Agentas su paslaptimis ir išeinančia tinklo prieiga gali atskleisti informaciją.

Prieš spręsdami, kurios apsaugos priemonės svarbios, ištirkite prieinamus veiksmus. Išvardykite jautrius išteklius, rašymui prieinamus objektus ir išorines paskirties vietas. Įtraukite po pradinės sąrankos pridėtas jungtis. Naujas įrankis gali padidinti esamos silpnybės poveikį.

Agentas taip pat gali perkelti klaidinantį turinį į vėlesnį etapą. Pavyzdžiui, jis gali nukopijuoti nepatikimą instrukciją į sugeneruotą užduoties aprašą. Kitas agentas neturi laikyti tokio aprašo nepriklausomai patvirtinta taisykle.

Naudokite kelias skirtingos paskirties kontrolės priemones

Projektuodami programą, atskirkite patikimas užduoties instrukcijas nuo gautų duomenų. Parodykite gautos medžiagos kilmę. Šie žingsniai padeda interpretuoti turinį, bet nesukuria visos saugumo ribos.

Vykdymo sistemoje užtikrinkite išteklių teisių kontrolę. Apribokite jautrių duomenų paskirties vietas. Prieš svarbių pasekmių turinčius veiksmus reikalaukite tinkamo sprendimo. Patikrinkite siūlomą operaciją pagal leistiną užduotį ir tikslinį išteklių.

Filtrai ir antras modelis gali padėti aptikti įtartiną turinį. Jie taip pat gali nepastebėti atakų ar užblokuoti teisėtą informaciją. Nekeiskite deterministinio autorizavimo modelio pasitikėjimo balu. OWASP aiškiai nurodo ribas, kai remiamasi vien užklausomis modeliui ar informacijos gavimu. Skaitykite rizikos aprašymą.

Išbandykite darbo eigą nesukeldami tikro pavojaus

Naudokite laikiną kodo saugyklą ir išgalvotus failus. Vertinimui nesuteikite produkcinių prisijungimo duomenų ar neriboto rašymo į išorines sistemas. Įterpkite nekenksmingą instrukciją, kuri prieštarauja užduočiai, pavyzdžiui, praleisti privalomą patikrinimą.

Stebėkite ir modelio atsakymą, ir tikruosius įrankių veiksmus. Pranešimo „instrukciją ignoravau“ nepakanka, jei patikrinimas vis tiek buvo praleistas. Užrašykite užduotį, įterptą testinį turinį, leidžiamus įrankius ir stebėtą rezultatą.

Pakartokite tipiškus atvejus po užklausų, modelių, jungčių ar teisių pakeitimų. Užblokuotas pavyzdys yra to atvejo įrodymas, o ne apsaugos nuo visų injekcijų garantija. Jei testas nepavyksta, sumažinkite galimas pasekmes, kol taisote pagrindinę darbo eigą.

Atlikite užduotį

Sukurkite vienkartinį testinį failą su komentaru, kuris prašo agento praleisti privalomą patikrinimą. Atlikite leidžiamą izoliuotą vertinimą be paslapčių ir rašymo į išorines sistemas. Patikrinkite, ar patikrinimas vis tiek vykdomas. Užrašykite įrankių teises, stebėtą veikimą ir šio vieno testo ribas.

Atsisiųsti užduoties lapą (Markdown)
Patikrinkite, ar supratote ↑

Mokykitės toliau

Šaltiniai ir papildoma literatūra

Susijęs Taiga turinys

← Ankstesnė pamoka: Apribokite agento įgaliojimus