
RAG чита туђе инструкције — један заражени документ може да преузме ток

Према OWASP смерницама за безбедност RAG-а, један заражени документ може да промени понашање модела када његов исечак доспе у контекст, а повезани агент може да претвори тај утицај у позив алата. Заштита зато почиње провером порекла документа и приступа исечцима, а завршава се независном провером сваке радње и одговора.
Кључно правило је да дохваћени текст служи као податак за корисников задатак, а никада као овлашћење. Чак и ако скенирање пропусти злонамерну инструкцију, извршилац алата мора да одбије позив који корисник није тражио или за који нема дозволу. То правило треба спровести у апликацији, изван модела.
Како документ стиже до радње агента
Условни пример: корисник тражи сажетак интерног поступка, а нападач успе да у корпус убаци PDF са релевантним описом поступка и скривеним налогом да агент пошаље цео документ спољном сервису. Поступак уноса издваја текст, дели га на исечке и уписује њихове векторске представе у индекс. Претрага по сличности затим враћа заражени исечак уз легитиман корисников упит.
Модел може да прочита налог из исечка као део контекста и предложи позив MCP алата. Напад добија последицу тек када апликација прихвати предлог без провере корисникове намере, дозвола и параметара. Евиденција захтева зато треба да повеже корисника, изворни документ, дохваћене исечке, предлог модела и одлуку извршиоца; без те везе тешко је утврдити одакле је нежељена радња потекла.
Порекло и права приступа поставите при уносу
За сваки документ забележите одакле је стигао, ко га је унео, ко га је одобрио и ко сме да га чита. Нове изворе и конекторе одобрите пре аутоматске синхронизације. Скенирајте текст који ће заиста бити послат моделу: код PDF-а то може бити и садржај који се не види при обичном читању, а код веб-странице текст који издваја парсер.
За одобрену верзију документа може се чувати контролни сажетак у засебно заштићеном запису. Он помаже да се открије накнадна замена, али поклапање сажетка значи само да је верзија иста као одобрена, не и да је њен садржај безбедан. Сумњив документ задржите ван претраживог корпуса док се не прегледа; провера екстензије датотеке сама по себи не открива упутство скривено у издвојеном тексту.
При дељењу документа сваки исечак треба да наследи идентификатор извора, власника, класификацију и дозволе. Право уписа у векторски индекс дајте само контролисаном поступку уноса. Када се документ повуче или му се промене дозволе, промена мора да стигне и до исечака, вектора и кешираних одговора, иначе стари садржај може остати доступан.
Дохватање мора да поштује границе корисника и контекста
Сличност одлучује који је исечак релевантан, али не одлучује ко сме да га види. Упит ка индексу ограничите идентитетом корисника, закупцем и актуелним дозволама пре него што резултат стигне до модела. Раздвојте закупце у колекцијама или просторима имена и исто разграничење примените на кеш; провера из времена уноса није довољна ако се приступ касније промени.
Пре слања дохваћених исечака моделу поново их прегледајте, ограничите количину текста и јасно означите почетак и крај спољног садржаја. У упутству моделу наведите да су исечци материјал за одговор, а не нова правила за разговор или употребу алата. Та граница смањује прилику да се налог из документа помеша са корисниковим захтевом, али сама ознака контекста не може да замени проверу дозвола у коду.
MCP опис алата такође може да носи налог
Опис MCP алата улази у контекст агента исто као и одговор алата. Microsoft смернице за Azure MCP Server упозоравају да злонамерни метаподаци могу да усмере агента ка другом алату и препоручују преглед дефиниција, везивање за одобрене верзије и поновно одобравање измена. Зато проверите порекло MCP сервера и промену његових описа пре него што их агент добије; приступне податке и дозволе различитих сервера држите одвојено.
За задатак сажимања политика може да дозволи читање приступачних исечака и враћање сажетка са пореклом, али не и слање документа, промену примаоца или упис у други систем. Извршилац за сваки предложени позив проверава првобитни корисников захтев, идентитет, дозвољени алат, шему и вредности параметара. Реченица у документу или опису алата не може да прошири ту листу, ма колико убедљиво представљала позив као неопходан корак.
Алатима доделите само приступ потребан за конкретан задатак. За радњу са већим последицама тражите посебну потврду корисника за тачно одређену радњу и њене параметре пре извршења. Тако предложени позив остаје предлог који апликација може да одбије, уместо да постане аутоматска последица текста који је агент управо прочитао.
Негативни тестови морају да стигну до одлуке о позиву
Тестирајте цео пут са безопасним пробним подацима и заменским алатом који бележи покушај без стварног слања. За сваки случај проверите шта је ушло у индекс, који је исечак дохваћен, шта је модел предложио и шта је извршилац дозволио. Само препознавање сумњивог текста није довољан услов за пролаз теста.
- У тестни PDF убаците налог да агент после сажетка позове недозвољени алат. Очекујте заустављање при уносу или третирање налога као податка, уз одбијен позив.
- На тестну веб-страницу поставите налог у садржај који парсер издваја. Проверите да исечак задржава порекло и дозволе и да из њега не настаје радња изван корисниковог захтева.
- У опис тестног MCP алата унесите налог да се употреби други алат. Измена описа треба да захтева преглед, а провера дозвола да одбије неовлашћени позив чак и ако га модел предложи.
Пре враћања одговора проверите да ли садржи тајне или личне податке ван корисникових дозвола и да ли наведено порекло одговара стварно коришћеним исечцима. Документација за Prompt Shields наводи да детекција напада не утврђује поузданост садржаја и да учинак може да варира ван енглеског језика. Зато у негативне тестове укључите и обичан и злонамеран садржај на српском, а коначну одлуку о позиву проверавајте независно од резултата скенирања.
Прочитајте и:
Повезани чланци


Qdrant или pgvector: брзина није једини трошак RAG-а

pgvector или Pinecone: три пута већа брзина коштала је 4,8 пута више

LangChain или LlamaIndex: бржи agent губи на прецизности претраге

Како ограничити AI агента пре него што prompt injection стигне до алата

Agents API управља петљом, али кључеви и мрежа остају ваша обавеза
Претплатите се на наш билтен
Добијајте најновије вести о Web3, AI-у и криптовалутама директно у пријемно сандуче.