Prompt-injection veebisaidi juturobotites: kaitse RAG-i, tööriistade ja andmete jaoks
Kuidas veebisaidimeeskonnad piiravad otsest ja kaudset prompt-injection'it eraldatud usaldustsoonide, vähimate õiguste põhimõtte, väljundikontrolli ja sihitud turvatestidega.
Veebisaidi juturobot ei töötle ainult süütuid küsimusi. Külastajad võivad üritada selle reegleid üle kirjutada, konfidentsiaalseid sisejuhiseid paljastada või luba mittelubatud toiminguid käivitada. Veelgi raskemini tuvastatavad on käsud, mis ei asu otse vestluses, vaid on peidetud kraabitud veebilehele, üleslaaditud dokumenti või ühendatud kolmanda osapoole süsteemi.
Kes soovib piirata prompt-injection'it veebisaidi juturobotites, ei tohi seetõttu loota vaid eriti rangelt sõnastatud süsteemijuhisele (system prompt). Vaja on mitmekihilist arhitektuuri: sisendeid ja allikaid käsitletakse ebausaldusväärsetena, õigusi piiratakse tehniliselt, väljundeid kontrollitakse enne edasitöötlemist ning riskantsed toimingud kinnitatakse deterministliku koodi või inimese poolt.
Mida tähendab prompt-injection veebisaidi juturoboti puhul
OWASP kirjeldab prompt-injection'it kui sisendit, mis muudab tahtmatult keelemudeli käitumist või väljundit. Otsene prompt-injection pärineb vahetult kasutajalt, näiteks üleskutse ignoreerida varasemaid reegleid. Kaudne prompt-injection peitub seevastu välistes sisudes, mida süsteem hiljem pärib: veebilehtedes, teadmmusdokumentides, e-kirjades, tooteandmetes või failides.
See eristus on veebisaidi käitajatele oluline. Lihtsal korduma kippuvate küsimuste juturobotil on väiksem ründepind kui süsteemil, mis pidevalt veebilehti kraabib, sisedokumente otsib, CRM-andmeid loeb või funktsioone täidab. Otsinguga täiendatud genereerimine (Retrieval-Augmented Generation ehk RAG) küll parandab vastuste sisulist alust, kuid ei kõrvalda ründevõimalust. Ka hästi hooldatud allikabaas võib sisaldada manipuleeritud või valesti tõlgendatud juhiseid.
Hinda riski funktsioonide, mitte mudeli nime järgi
Kriitiline küsimus pole ainult: „Millist mudelit me kasutame?“, vaid: „Millist mõju võib manipuleeritud vastus kaasa tuua?“ Koostage juturoboti jaoks lihtne funktsioonide ja andmete kaart:
- Milliseid avalikke ja sisemisi allikaid tohib see lugeda?
- Millised isikuandmed, konfidentsiaalsed või ärikriitilised andmed on kättesaadavad?
- Kas see suudab luua ainult teksti või ka pileteid, müügivihjeid, e-kirju, kohtumisi või tellimusi?
- Millised toimingud muudavad väliseid süsteeme?
- Millised otsused võetakse automaatselt vastu ilma inimesepoolse kontrollita?
Mida suuremaks muutuvad lugemisõigused, kirjutamisõigused ja automatiseerituse tase, seda olulisemad on tehnilised piirangud väljaspool mudelit. Olemasolev ülevaade sagedastest tehisintellekti juturobotite vigadest aitab üldise kaardistamise juures. Prompt-injection'i puhul peate täiendavalt dokumenteerima andmevood, usalduspiirid ja toiminguõigused.
Eralda neli usaldustsooni selgelt üksteisest
Praktiline turvamudel eristab nelja tsooni, isegi kui neid töödeldakse tehniliselt samas rakenduses.
1. tsoon: Süsteemireeglid ja suunised
Siin asuvad roll, lubatud eesmärk, vastamispiirid ja eskaleerimisreeglid. Need reeglid annavad mudelile suuna, kuid ei ole usaldusväärne pääsukontroll. OWASP hoiatab sõnaselgelt süsteemijuhiste käsitlemise eest saladuse või turvamehhanismina. Sisselogimisandmed, ühendusvõtmed ja tundlik siseteave sinna ei kuulu.
2. tsoon: Külastajate sisendid
Iga vestlussõnum on ebausaldusväärne. Piirake pikkust, failitüüpe ja lubatud funktsioone; normaliseerige sisendid tehniliseks töötlemiseks ning märgistage need juhises selgelt kasutajaandmetena. Filter võib tuvastada tuntud ründemustreid, kuid ei tohi seaduslikke küsimusi ilma pikema jututa blokeerida. Külastajal, kes küsib turvadokumentatsioonist fraasi „ignore previous instructions“ kohta, võib olla täiesti õigustatud mure.
3. tsoon: Päritud allikad ja RAG-kontekst
Ka kraabitud sisu, PDF-id ja väliste teenuste tulemused on andmed, mitte juhised. Eraldage nende sisu nähtavalt juhtkontekstist, salvestage päritolu ning pärimisaeg ja lubage ainult heakskiidetud allikaid. Artikkel tehisintellekti juturoboti teadmusbaasi ajakohasena hoidmise kohta näitab, kuidas allikate inventuur, kraapimissagedus ja kvaliteedikontroll koos toimivad.
4. tsoon: Tööriistad, toimingud ja väljundid
Funktsioonikutseid ei tohi täita vaid seetõttu, et mudel genereerib sobiva teksti. Deterministlik kontroller kontrollib funktsiooni nime, parameetreid, õigusi, sessioonikonteksti ja lubatud sihtsüsteeme. Mudeli väljundid, mida kasutatakse hiljem HTML-ina, Markdownina, SQL-ina, failitee või API parameetrina, vajavad sellele kontekstile vastavat valideerimist ja kodeerimist.
Vähimate õiguste põhimõte piirab mõju
Prompt-injection'it ei saa praegusel ajal üheainsa meetmega usaldusväärselt välistada. Seetõttu peab rakendus olema ehitatud nii, et edukas manipulatsioonikatse tekitaks võimalikult vähe kahju. OWASP ja Microsoft soovitavad selleks vähimate õiguste põhimõtet (Least Privilege).
- Kasutage lugemiseks ja kirjutamiseks eraldi tehnilisi identiteete.
- Andke juurdepääs ainult andmetele, mis on juturoboti konkreetse eesmärgi jaoks vajalikud.
- Piirake funktsioone väikeste, selgelt määratletud parameetriskeemidega.
- Kasutage lühiajalisi õigusi, kui toiming neid üldse vajab.
- Nõudke riskantsete või tagasipöördumatute sammude puhul selget kinnitust.
- Ärge kunagi jätke autoriseerimist mudeli vabateksti hooleks.
Klienditoe juturobot võib näiteks ette valmistada pöördumise mustandi, kuid ei tohiks automaatselt määrata suvalisi saajaid, prioriteete ega sisemisi juurdepääsuõigusi. Müügivihjete juturobot võib vastu võtta struktureeritud kontaktandmeid, saamata seejuures lugemisõigust kogu CRM-ile.
Kontrolli ja isoleeri RAG-allikaid
Kaudne prompt-injection muudab allikate konveieri turvearhitektuuri osaks. Manipuleeritud leht võib visuaalselt näida kahjutu, kuid sisaldada teksti, mida mudel tõlgendab juhisena. Multimodaalsete süsteemide puhul võivad rolli mängida ka pildid või muud failivormingud.
Seetõttu juurutage allikate sisendkontroll koos heakskiitmise reeglitega: lubatud domeenid ja dokumendialad, jälgitavad omanikud, versioonihaldus, pahavara- ja failikontroll ning ülevaatus uute või ebatavaliselt muudetud sisude puhul. Märgistage päritud lõigud mudeli kontekstis selgelt kui ebausaldusväärne sisu (untrusted content). Otsingutulemus võib anda teavet, kuid ei tohi muuta süsteemireegleid ega tööriistade õigusi.
Lisaks kontrollige, kas vastus on tegelikult allikatega põhjendatud. Juhend tehisintellekti juturoboti vastuste kvaliteedi mõõtmise kohta Golden Seti ja RAG-testidega kirjeldab allikapõhisust (groundedness) ja allikate võrdlust. See kvaliteedikontroll täiendab turvakontrolle, kuid ei asenda neid.
Sisse- ja väljundifiltrid on üks kiht, mitte kogu lahendus
Spetsialiseeritud kaitseteenused suudavad tuvastada otseseid ja kaudseid ründekatseid. Näiteks Microsoft Prompt Shields eristab kasutajasisendis olevaid rünnakuid dokumentides peidetud juhistest. Google soovitab oma turvasuunistest samuti kaitsemeetmeid prompt-injection'i vastu, kitsamalt piiritletud ülesandeid, kasutajatunnuseid, mahupiiranguid ja inimesepoolset järelevalvet suurema riski korral.
Sellised filtrid annavad tõenäosuslikke signaale. Plaanige seetõttu astmeline käitumine: blokeeri, vasta turvaliselt, lülitu piiratud režiimile või anna üle inimesele. Logige otsuse klass ja tehniline versioon, kuid vältige vajaduseta täisteksti salvestamist. Isikuandmete puhul kehtivad lisaks artiklis tehisintellekti juturobotid ja Isikuandmete kaitse üldmäärus (IKÜM/GDPR) kirjeldatud kontrollivaldkonnad. See artikkel ei ole õigusnõustamine.
Valideeri mudeli väljundid enne edasitöötlemist
Turvaline sisend ei garanteeri turvalist väljundit. OWASP toob ebapiisava väljunditöötluse välja eraldi riskina: mudeli tekst võib hiljem sattuda HTML-i, skriptidesse, andmebaasipäringutesse või failiteedesse. Seetõttu käsitlege ka igat mudeli väljundit esmalt ebausaldusväärsena.
Nõudke automatiseeritud protsesside puhul ranget struktureeritud formaati ja valideerige see skeemi vastu. Kasutage funktsiooninimede ja sihtsüsteemide puhul valgeid nimekirju (lubatud nimekirju). Kodeerige nähtav tekst vastava väljundikonteksti jaoks. Hüljake ootamatud väljad, välised URL-id ja parameetrid väljaspool lubatud väärtusi. Tundlikud andmed peaksid enne kuvamist või edastamist läbima täiendava eeskirjade kontrolli.
Kontrolli prompt-injection'it turvatestide paketiga
Täiendage sisulist Golden Seti ründavate (adversarial) testjuhtumitega. Testid peavad kontrollima tegelikku toodangusüsteemi, sealhulgas otsingut, tööriistu ja õiguste loogikat, mitte ainult baasmudelit. Kasulik testikomplekt sisaldab:
- otseseid katseid reegleid asendada või sisejuhiseid pärida;
- mitmekeelseid, kodeeritud ja mitme sõnumi peale jaotatud variante;
- süütuid erialaseid küsimusi, mis sisaldavad sarnaseid märksõnu ja mida ei tohi valesti blokeerida;
- manipuleeritud lõike testimise teadmusallikas;
- lubamatuid funktsiooninimesid, lisaparameetreid ja võõraid sihtaadresse;
- katseid väljastada konfidentsiaalseid andmeid või varasemate sessioonide sisu;
- teste HTML-, Markdown- ja lingiväljundite jaoks;
- katkestamis-, üleandmis- ja kinnitusteid riskantsete toimingute puhul.
Ärge mõõtke ainult seda, kas filter käivitub. Kontrollige lõpptulemust: kas mittelubatud toiming hoiti ära? Kas konfidentsiaalsed andmed jäid kaitstuks? Kas seaduslik päring toimis edasi? Kas kahtlane juhtum logiti jälgitavalt?
Praktiline rakendusplaan veebisaidimeeskondadele
- Kaardista maht: dokumenteeri andmeallikad, tööriistad, kirjutamisõigused ja välised sihtmärgid.
- Eralda usaldustsoonid: märgista tehniliselt süsteemireeglid, kasutajasisendid, RAG-sisud ja toimingute väljundid.
- Vähenda õigusi: eemalda kasutamata juurdepääsud ja jaota kirjutamistoimingud väikesteks funktsioonideks.
- Täienda valideerimist: juuruta sisendipiirangud, struktureeritud väljundid, valged nimekirjad ja kontekstipõhine kodeerimine.
- Määra kinnitamine: turva riskantsed toimingud ja tundlikud andmevood inimese kaasamisega (Human-in-the-Loop).
- Käivita testikomplekt: kontrolli otseseid, kaudseid ja seaduslikke kontrolljuhtumeid enne iga olulist versiooniuuendust.
- Jälgi käitust: vaata regulaarselt üle filtri sündmused, tagasilükatud toimingud, ebatavalised allikamuudatused ja valehäired.
Kontrollnimekiri: Prompt-injection'i kaitse
- Süsteemijuhis ei sisalda saladusi ega asenda autoriseerimist.
- Kasutajatekste ja väliseid allikaid peetakse vaikeväärtusena ebausaldusväärseteks.
- RAG-allikatel on heakskiit, päritolu, versioon ja vastutavad omanikud.
- Tööriistad järgivad vähimate õiguste põhimõtet ja aktsepteerivad ainult valideeritud parameetreid.
- Riskantsed toimingud vajavad jälgitavat kinnitust.
- Mudeli väljundeid kontrollitakse enne HTML-i, API, CRM-i või muid sihtsüsteeme.
- Turvafiltreid hinnatakse valepositiivsete ja valenegatiivsete tulemuste alusel.
- Otsesed ja kaudsed ründetestid toimuvad regulaarselt ja pärast muudatusi.
Kokkuvõte
Prompt-injection ei ole pelgalt juhiste projekteerimise (prompt engineering) probleem. Veebisaidi juturobotite jaoks tekib vastupidav kaitse alles siis, kui rakendus käsitleb sisendeid, allikaid, väljundeid ja toiminguid eraldatud usaldustsoonidena. Filtrid suudavad rünnakuid tuvastada, kuid vähimad õigused, deterministlik valideerimine ja inimesepoolne kinnitus piiravad nende võimalikku mõju.
Alustage oma juturoboti funktsioonide ja andmete kaardistamisest. Eemaldage mittevajalikud õigused, isoleerige RAG-sisu ja testige kogu teekonda kuni välise toiminguni. Nii jääb juturobot kasulikuks, ilma et mudeli vabatekst otsustaks õiguste või ärikriitiliste muudatuste üle.
Allikad
- OWASP GenAI Security Project: LLM01:2025 Prompt Injection
- OWASP GenAI Security Project: LLM07:2025 System Prompt Leakage
- OWASP GenAI Security Project: LLM05:2025 Improper Output Handling
- NIST: Generative Artificial Intelligence Profile (NIST AI 600-1)
- Microsoft Learn: Defend against indirect prompt injection attacks
- Microsoft Learn: Prompt Shields in Azure AI Content Safety
- Google AI for Developers: Safety and factuality guidance
Muuda veebikülastused paremaks vestluseks
Loo usaldusväärne AI-vestlusrobot reguleeritud veebide jaoks
Hoia vestlusrobot kinnitatud kontrollitud sisus, määra varuvõtted ja ole läbipaistev selle suhtes, mida assistent teab ja mida mitte.
Seotud artiklid
Jätka lugemist

KI-chatbotite vastuste kvaliteedi mõõtmine: Golden Set, RAG-testid ja review-workflow
Veebilehe chatbot muutub usaldusväärseks alles siis, kui tema vastuseid kontrollitakse regulaarselt allikate, oodatavate vastuste ja reaalsekasutajate küsimuste suhtes. See juhend näitab, kuidas meeskonnad luua Golden Seti, RAG-teste ja kompaktset review-workflow'd.

KI-Chatbot-teadmibaasi ajakohastamine: kroplimise sagedus, allikad ja QA
KI-chatbot'i teadmibaas säilib usaldusväärne vaid siis, kui allikad on heaks kiidetud, muudatused kiiresti kroplimised ja vastuseid regulaarselt algallikatega võrreldatud.
12 levinumat AI-vestlusroboti viga äriveebidel
Välijuhend kõige sagedasemate vestlusroboti juurutusvigade kohta: nõrgast sisu ettevalmistusest halva paigutuse, ülemäärase automatiseerimise ja ebaõigete ootusteni.