RAG duomenų nuodijimo prevencija: šaltinių kilmė, karantinas ir reindeksavimo testai
Manipuliuoti arba nepatikimi šaltiniai gali visam laikui iškreipti RAG žinių bazę. Patikimas duomenų priėmimo procesas sujungia kilmės duomenis, karantiną, versijuojamus indeksus ir tikslinius reindeksavimo testus.

Svetainės pokalbių robotas gali pateikti mandagų, kalbos požiūriu įtikinamą ir techniškai teisingai sugeneruotą atsakymą – ir vis tiek dirbti su apnuodyta žinių baze. Nuodijant RAG duomenis pirmiausia manipuliuojama ne atskiros užklausos formuluote. Vietoj to klaidingas, suklastotas arba nepakankamai patikrintas turinys patenka į ilgalaikę duomenų grandinę: šaltinį, analizatorių (parser), dalį (chunk), metaduomenis, įterpinį (embedding) ir galiausiai į gamybinį paieškos indeksą. Dėl to klaida išlieka per daugelį seansų ir gali turėti įtakos net įprastiems klausimams.
Todėl veiksminga apsauga prasideda gerokai prieš užklausos (prompt) pateikimą. Komandos turi gebėti atsakyti apie kiekvieną žinių elementą: iš kur jis kilęs, kas už jį atsakingas, kokia versija buvo apdorota, kokios transformacijos įvyko ir per kokį patikrinimą jis buvo patvirtintas paieškai? Šaltinio kilmės duomenys užtikrina šį atsekamumą. Techniškai atskirtas karantinas gali neleisti nepatikrintiems pakeitimams iškart tapti pasiekiamiems. Tiksliniai reindeksavimo testai po to patikrina, ar išvalytas turinys tikrai pakeitė senąsias dalis.
Kas yra RAG duomenų nuodijimas – ir kas tai nėra
OWASP LLM04:2025 klasifikacija „Data and Model Poisoning“ aprašo išankstinio mokymo, tikslinimo (fine-tuning) arba įterpinių duomenų manipuliacijas kaip vientisumo riziką. Svetainės pokalbių robotui ypač aiškus paskutinis variantas: dokumentas priimamas ir padalijamas į fragmentus; šios dalys įterpiamos ir saugomos kaip vektoriai paieškos indekse. Jei šis dokumentas tyčia ar netyčia klastojamas, jis gali pasirodyti kaip tariamai svarbus pagrindas atitinkamiems klausimams.
Rizikas reikia skirti, tačiau jos gali persidengti viena kitą: Prompt Injection bando vykdymo metu įterpti instrukcijas ar duomenis taip, kad sistema pakeistų numatytą elgseną; netiesioginis Prompt Injection taip pat gali patekti į kontekstą per gautus dokumentus. Priešingai, duomenų nuodijimas pakeičia ilgalaikį žinių fondą arba jo išvestines. Prieigos teisės taip pat sprendžia kitą problemą: jos nustato, kuriam asmeniui leidžiama matyti dokumentą. Kilmė ir patvirtinimas nustato, ar šis dokumentas turėtų patekti į indeksą kaip patikimas žinių šaltinis. Patikimoje architektūroje visoms trims rizikoms reikia atskirų kontrolės priemonių ir suderintų perėjimų.
Atakos paviršius apima visą duomenų grandinę
RAG indeksas retai sukuriamas iš vieno, rankiniu būdu patikrinto rinkinio. žiniatinklio robotai skaito svetaines, jungtys sinchronizuoja debesų aplankus, vartotojai įkelia failus, o sąsajos importuoja produktų duomenis. Be to, yra analizatoriai, OCR, kalbos valymas, padalijimas į dalis (chunking) ir metaduomenų papildymas. Kiekviename etape gali būti perimtas klaidingas turinys arba iš konteksto išrautas iš pradžių teisingas teiginys.
Įprastos priežastys yra pažeista šaltinio sistema, naujai susieta veidrodinė dokumento kopija, netyčia publikuotas juodraštinis failas, neteisingai priskirtas klientas arba analizatoriaus atnaujinimas, kuris lentelės reikšmes priskiria neteisingoms antraštėms. Kriptografinės turinio maišos (hash) palyginimas su patikima etalonine reikšme gali nustatyti nuokrypius; sutampanti maiša neįrodo nei turinio teisingumo, nei aktualumo, nei patvirtinimo.
Šaltinio kilmė kaip patikrinamas duomenų rinkinys
Kiekvienam dokumentui ir kiekvienai iš jo išvestai daliai turėtų būti pridedamas kilmės duomenų įrašas. Praktiškai naudingi bent jau stabilus šaltinio ID, kanoninis kilmės URL, atsakingas savininkas, gavimo laikas, dokumento versija, turinio maiša, patvirtinimo būsena, pasitikėjimo klasė, analizatoriaus versija, padalijimo versija, įterpimo modelis ir indekso karta. Rankinių įkėlimų atveju pridedamas įkeliančio asmens vaidmuo ir patikrinta licencija. Sinchronizuotose sistemose taip pat svarbu, per kurią autentifikuotą jungtį failas atkeliavo.
NIST AI 600-1 Generative AI Profileturinio kilmę, atsekamą dokumentaciją bei testus ir vertinimus laiko svarbiais generatyvinio DI rizikos valdymo elementais. Tai pritaikius RAG sistemoms, tai reiškia: svarbu ne tik dabartinis indeksas. Atsekamas ryšys tarp šaltinio revizijos, apdorojimo eigos ir publikuotos indekso kartos taip pat priklauso eksploatavimo dokumentacijai.
Karantinas atskiria priėmimą nuo publikavimo
Esminis architektūrinis elementas yra nuoseklus atskyrimas: naujas arba pakeistas turinys iškart netampa pasiekiamas paieškoje. Pirmiausia jis patenka į priėmimo zoną. Čia duomenų srautas (pipeline) tikrina kilmę, failo tipą, dydį, parašą arba tikėtiną maišą, leidžiamą klientą, metaduomenų išsamumą ir pakeitimų apimtį. Tik po to tekstas ir dalys sukuriami negamybinėje indekso kartoje.
Taisyklės turėtų būti grindžiamos rizika. Pakeitimas autentifikuotame, viduje valdomame DUK puslapyje gali būti patvirtintas po automatinių testų. Naujas domenas, neįprastai didelis teksto pakeitimas, nežinomas failo savininkas arba šaltinis be atsakingo asmens sukelia karantiną ir žmogaus atliekamą patikrinimą. Jei trūksta privalomos informacijos, taikoma taisyklė „fail closed“: sena, patvirtinta karta lieka aktyvi; nauja būsena nėra tyliai publikuojamas.
Patvirtinimas kaip nekintama indekso karta
Po patikrinimo gamybinis indeksas nėra palaipsniui perrašomas. Geriau naudoti naują, versijuojamą kartą su manifestu: tikėtini dokumentai, tikėtinos dalys, šaltinių maišos, transformacijų versijos ir laiko žymos. Tik kai testai būna žali, slapyvardis (alias) arba nukreipimo konfigūracija atomiškai perjungiamas į šią kartą. Ankstesnė karta išlieka su galimybe grąžinti senąją būseną ribotam, apibrėžtam laikotarpiui.
Procedūra panaši į kontroliuojamą migraciją. Mūsų straipsnis apieRAG įterpimo modelio keitimąrodo, kodėl lygiagrečios indekso kartos ir palyginimo testai yra naudingi ir atliekant techninius pakeitimus. Įtariant nuodijimą, papildomai kyla saugumo klausimas: kurią šaltinio reviziją ir kurias išvestines dalis reikia užblokuoti?
Fiktyvus scenarijus: klaidingas grąžinimo terminas pasiekia klientų aptarnavimo robotą
Tarkime, prekybininkas naudoja pokalbių robotą produktų ir paslaugų klausimams. Žinių bazė kiekvieną naktį sinchronizuoja oficialų pagalbos centrą ir kelis patvirtintus gamintojų portalus. Tačiau pasikeitus nuorodai, jungtis seka nukreipimą į nepatvirtintą veidrodinį puslapį. Tame vizualiai įtikinančiame PDF faile nurodytas 90 dienų grąžinimo terminas vietoje 30 dienų. Failas padalijamas į dalis; keli fragmentai su dideliu semantiniu panašumu patenka į indeksą.
Kitą rytą robotas, atsakydamas į klausimus apie grąžinimą, nurodo klaidingą terminą. Kalbos modelis nebuvo perprogramuotas, o vartotojai neįvedė jokios kenkėjiškos instrukcijos. Paieška tiesiog pateikia klaidingą pagrindą. Stebėsena siunčia pavojaus signalą, nes naujas domenas pirmą kartą pasirodo kaip atsakymo šaltinis, o „Golden Set“ testas dėl grąžinimo termino skiriasi nuo tikėtino įrodymo.
Kontroliuojamas karantinas ir veiklos atkūrimas
- Komanda sustabdo tik susijusį priėmimo šaltinį ir įšaldo dabartinę indekso kartą tolesniems pakeitimams.
- Įtartinas dokumento ID, visi iš jo išvestų dalių ID ir jų atsakymų atitikmenys registruojami incidente.
- Veidrodinis domenas užblokuojamas, o jo dalys perkeliamos į karantiną. Klausimams apie grąžinimo terminą robotas laikinai pateikia saugią nuorodą į klientų aptarnavimo specialistus arba patvirtintą taisyklių puslapį.
- Slapyvardis atstatomas į paskutinę patikrinamai švarią indekso kartą. Kitos, nepaveiktos žinių sritys lieka pasiekiamos.
- Jungtis apribojama tik kanoniniu šaltiniu. Po to duomenų srautas sukuria naują kartą iš patvirtinto manifesto.
- Ši karta tampa gamybine tik atlikus reindeksavimo testus ir gavus specialistų patvirtinimą.
Ši seka apriboja žalą be skuboto viso pokalbių roboto išjungimo. Lemiamas veiksnys yra kilmės duomenų ir išvestinių ryšys: nesusiejus dokumento su jo dalimis, būtų neaišku, kuriuos vektorius reikia pašalinti.
Reindeksavimo testai turi parodyti daugiau nei sėkmingą duomenų srauto vykdymą
Žalia užduoties būsena įrodo tik tai, kad procesas techniškai baigėsi. Ji neįrodo nei to, kad senos dalys dingo, nei to, kad realistiškoms užklausoms parenkami tinkami šaltiniai esant realistiškiems klausimams. Todėl patikimas testų rinkinys tikrina sudėtį, paiešką (retrieval) ir atsakymų elgseną.
1. Manifesto ir ištrynimo patikrinimas
Palyginkite naują kartą su patvirtintu manifestu. Kiekviena tikėtina dokumento versija turi būti indekse; užblokuotų dokumentų ir dalių ID negali būti. Ypač svarbios yra ištrynimo žymos („tombstones“) ištrintam arba pakeistam turiniui. Kitu atveju, tiesiog pridedant naujus įterpinius, seni, apnuodyti rezultatai lieka indekse.
2. Paieškos testai su numatytais šaltiniais
Kritiniams klausimams vien tikėtino atsakymo teksto neužtenka. Papildomai apibrėžkite leidžiamus ir draudžiamus šaltinių ID, minimalų rezultatų skaičių ir atmetimo sąlygas. Pavyzdžiui, grąžinimo terminas turi būti paimtas iš kanoninių taisyklių; karantine esantis veidrodinis domenas negali pasirodyti nei tarp geriausių rezultatų, nei modelio kontekste. Kaip struktūrizuoti tokius patikros rinkinius, paaiškinta straipsnyje apieatsakymų kokybę su Golden Set ir RAG testais.
3. Neigiami ir manipuliavimo testai
Izoliuotoje testavimo aplinkoje komandos gali įvesti aiškiai pažymėtą, nepatvirtintą bandomąjį šaltinį. Duomenų srautas turi išlaikyti jį karantine; gamybai artima paieška negali jo rasti. Papildomai tikrinami neįprasti domenų keitimai, trūkstami atsakingi asmenys, ekstremalūs turinio skirtumai ir prieštaringos datos. TheNIST AI 100-2 ataskaita apie priešišką mašininį mokymąsiklasifikuoja nuodijimą kaip atakos kategoriją savo taksonomijoje ir pabrėžia, kad priešpriešinės priemonės ir jų ribos turi būti nagrinėjamos sistemingai.
4. Palyginimas prieš ir po perjungimo
Pateikite tuos pačius klausimus paskutinei švariai ir naujai kartai. Palyginkite rezultatų šaltinius, eiliškumą, atsakymų įrodymus, atsakymo nebuvimo rodiklį (no-answer rate) ir ekspertinį vertinimą. Nedidelė „Canary“ dalis gali suteikti papildomų gamybinių signalų, jei vartotojai negauna prieigos prie nepatikrintų šaltinių. Gamybinis perjungimas vyksta tik laikantis nustatytų saugumo ir kokybės ribų.
Stebėsena: ankstyvas nukrypimų atpažinimas
Stebėkite ne tik atsakymų vertinimus. Informatyvūs rodikliai yra nauji arba reti šaltinių domenai, nepatikrintų šaltinių dalis priėmimo sraute, neįprasti dokumentų dydžiai, dideli maišos ar teksto skirtumai, daug naujų vieno savininko dalių, geriausiai reitinguojamų šaltinių pokyčiai „Golden Set“ rinkinyje ir atsakymai be patvirtinto įrodymo. Metrikose turėtų būti nurodomi kilmės ID, o ne į nereikalingai išsaugotus pilnus vartotojų klausimus.
Aktualumas taip pat išlieka svarbus. Sena, seniai pakeista taisyklė nėra tyčia apnuodyta, tačiau gali turėti tą patį poveikį. Straipsnis apiežinių bazių aktualumą ir Crawl-QApapildo saugumo kontrolę atnaujinimo dažnio, atsakomybės ir šalinimo procedūromis.
Saugaus RAG duomenų priėmimo kontrolinis sąrašas
- Ar kiekvienas šaltinis turi stabilų ID, kanoninę kilmę, atsakingą asmenį ir pasitikėjimo klasę?
- Ar maiša, dokumento versija, analizatorius, padalijimas ir įterpimo modelis registruojami kartu?
- Ar nauji arba stipriai pasikeitę šaltiniai lieka už gamybinės paieškos ribų iki patikrinimo?
- Ar nauji domenai, trūkstami parašai arba netikėti turinio pakeitimai perkelia duomenis į karantiną?
- Ar patvirtinti indeksai publikuojami kaip versijuojamos kartos su galimybe atstatyti slapyvardį?
- Ar reindeksavimas patikrinamai pašalina pakeistas dalis, užuot tik pridėjęs naujus duomenis?
- Ar „Golden Set“ tikrina tiek atsakymus, tiek tikėtinus ir draudžiamus šaltinius?
- Ar yra saugi saugus atsarginis sprendimas temoms, kurių šaltiniai užblokuoti incidento metu?
- Ar vaidmenys priėmimui, ekspertiniam patvirtinimui, reagavimui į incidentus ir pakartotiniam publikavimui yra atskirti?
- Ar po kiekvieno incidento dokumentuojama, kuri kontrolės priemonė nesuveikė ir koks regresinis testas buvo pridėtas?
Išvada
RAG duomenų nuodijimo problemos negalima išspręsti viena užklausos taisykle. Apsaugą užtikrina patikrinamos žinių tiekimo grandinės: dokumentuoti kilmę, tikrinti pakeitimus karantine, versijuoti indeksus, saugiai pašalinti senas išvestines ir testuoti paiešką su tikėtinais šaltiniais. Pradėkite nuo rizikingiausių dokumentų klasių ir nedidelio „Golden Set“. Net ši kombinacija parodo, kuris šaltinis pagrindžia atsakymą – ir leidžia atlikti tiksliai grįžti prie ankstesnės būsenos, kol klaidingas žinių būvis netapo ilgalaike norma.
Šaltiniai
Paverskite svetainės lankytojus geresniais pokalbiais
Paleiskite DI pokalbių robotą, naudingą nuo pirmos dienos
Mokykite ChatReact su savo svetaine, dokumentais ir patvirtintais faktais, kad lankytojai gautų greitesnius atsakymus, o jūsų komanda sulauktų mažiau pasikartojančių užklausų.
Susiję straipsniai
Tęsti skaitymą

DI pokalbių roboto atsakymų kokybės matavimas: Golden Set, RAG testai ir peržiūros procesas
Tinklalapio DI pokalbių robotas tampa patikimu tik tada, kai jo atsakymai reguliariai tikrinami lyginant su šaltiniami, tikėtinais atsakymais ir realiais vartotojų klausimais. Šis vadovas parodo, kaip komandoms sukurti Golden Set, RAG testus ir optimizuotą peržiūros procesą.

Kaip palaikyti KI ჩatboto žinių bazę aktualią: crawlavimo kadencija, šaltiniai ir QA
KI ჩatboto žinių bazė išlieka patikima tik tada, kai šaltiniai yra patvirtinti, pakeitimai nužvalgomi laiku, o atsakymai reguliariai tikrinami lyginant su originaliu turiniu.

RAG embedding modelio keitimas: DI pokalbių boto migravimas be žinių spragų
Naujas embedding modelis pakeičia RAG pokalbių boto paieškos erdvę. Naudojant lygiagretųjį indeksą, palyginamuosius testus, kontroliuojamą perjungimą ir atstatymą, keitimas pavyksta be rizikos ir neapibrėžtumo.