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

|Аутор: Уредништво QUASA|5 мин читања
Како ограничити AI агента пре него што prompt injection стигне до алата

Да бисте смањили ризик од prompt injection напада, третирајте веб странице, имејлове и документе као податке које агент чита, а не као упутства која сме да изврши. Позив сваког алата треба да прође кроз засебну проверу овлашћења, док слање порука, брисање и друге ризичне радње чекају независно одобрење. OWASP смернице за безбедност AI агената препоручују раздвајање непоузданог садржаја, најмање привилегије за алате и људску потврду радњи са великим последицама.

Кључна граница је између предлога модела и извршења у пословном систему. Агент може да прочита поруку, састави нацрт и предложи позив алата; апликација затим проверава да ли су та операција и циљни ресурс дозвољени конкретном кориснику у конкретном задатку. Ако предлог не прође проверу, извршилац га одбија без обзира на образложење које је агент написао.

Одвојте спољни садржај од инструкција

Граница поверења почиње пре него што текст стигне до модела. Одговор веб претраге, тело имејла, прилог и резултат другог алата проследите као јасно означен садржај, уз порекло и идентификатор ресурса. Системска правила и корисников потврђени задатак остају у засебним пољима; текст преузете странице не добија виши приоритет зато што у њему пише „важно обавештење“.

Ако корисник, на пример, тражи сажетак преписке, порука која агенту налаже да целу преписку пошаље на другу адресу и даље је само садржај за сажимање. Филтер познатих образаца напада може да помогне у откривању такве поруке, али правило за слање мора да спроведе компонента изван модела. Ни сажетак непоузданог документа не постаје овлашћена инструкција само зато што га је агент сам саставио.

Дајте алатима права по задатку и ресурсу

За сваки ток рада одредите списак дозвољених алата и операција. Агент који сажима пошту може да чита одређено сандуче, али му за тај задатак није потребно слање. Агент који припрема одговор може да направи нацрт; стварно слање пролази кроз посебан пут одобрења.

Ограничење примените и у сервису који извршава алат: проверите операцију, ресурс, корисника и радни простор. Уска листа видљивих алата мало вреди ако конектор користи налог са широким правима и прихвата произвољан идентификатор датотеке или примаоца. За извршавање кода користите изоловано окружење са ограниченим приступом датотекама и мрежи. Ограничите и број позива, понављања и дубину ланца, како убризгано упутство не би покренуло низ радњи или неограничен трошак.

Проверите захтев пре сваког позива

Нека модел предложи структурисан захтев са називом алата, операцијом, циљним ресурсом и параметрима. Пријемни слој треба да одбије непозната поља, погрешне типове и вредности ван дозвољеног опсега. После провере формата, сервис правила проверава идентитет корисника, права над ресурсом и ограничења саме операције. Исправно попуњен захтев за брисање и даље може бити неовлашћен.

Класу ризика одређује апликација на основу стварне операције, а не модел на основу сопственог образложења. Код алата који прима адресу, путању или идентификатор ресурса, проверу примените на нормализовану коначну вредност непосредно пре извршења. Ако провера правила или обавезно евидентирање не успе, захтев се одбија. Тако садржај који је променио предлог агента и даље наилази на независну контролну тачку.

Вежите одобрење за тачну ризичну радњу

Слање имејла ван организације, измена права, брисање и плаћање не треба да буду аутоматски наставак читања спољног садржаја. Агент припрема преглед радње, а овлашћена особа пре потврде види стварног примаоца или циљ, садржај и последицу. Одобрење се везује за корисника, алат, нормализоване параметре и кратак рок важења. Промена примаоца, износа или ресурса захтева нову потврду.

Извршилац поново проверава права и одобрење у тренутку покретања радње. Ранија потврда нацрта тако не може да послужи за накнадно измењен захтев. За радње које би могле да се понове, користите заштиту од поновног извршења; када радња не може безбедно да се понови, тражите изричиту потврду дупликата. Евиденција треба да сачува исход провере и верзију правила, без тајни и непотребних личних података.

Контролишите и оно што агент шаље или памти

Напад може да пређе у одлазни садржај чак и када корисник није тражио нову радњу. У OpenAI истраживању инјекција из имејла нашла се у предложеној одлазној поруци, а други примери су се копирали у датотеке и коментаре кода; истраживачи нису уочили утицај ван симулираних позива алата током обуке и процене.

Зато пре слања проверите примаоце, прилоге и садржај преузет из непоузданог извора. Пре уписа у репозиторијум или трајну меморију проверите да ли текст садржи налог намењен будућем агенту. Меморију ограничите на корисника и сесију, одредите рок чувања и проверите садржај пре уписа. Тиме се смањује могућност да порука прочитана у једном задатку усмери каснији, неповезан задатак.

Тестирајте покушај и исход у CI окружењу

Тест треба да разликује скретање агента ка нападачевом циљу од радње која је заиста извршена. У истраживању WASP о веб агентима делимичан успех напада у тестираним комбинацијама досезао је 86%, док је потпуно остварење нападачевог циља у прегледу резултата било од 0 до 17%. Резултат се односи на агенте и окружења из тог теста, а за сопствени систем треба бележити и недозвољени предлог и исход на граници извршења.

У CI окружењу укрстите место уноса напада са радњом коју нападач покушава да изазове. За сваки случај забележите шта је модел предложио, шта је сервис правила одлучио и да ли је алат заиста извршен:

  • Веб страница тражи алат ван дозвољеног списка: позив треба одбити пре приступа ресурсу.
  • Имејл мења примаоца предложеног одговора: може настати нацрт, али слање чека проверу стварног примаоца.
  • Документ тражи брисање или промену права: извршење се одбија без важећег одобрења за тачне параметре.
  • Убризгани текст покушава да пређе у меморију или одлазну поруку: упис се одбија или порука чека преглед пре слања.

Уз напад задржите и безазлен пример истог задатка, да правило не блокира потребан рад. Матрицу поново покрените после измена упутстава, алата, права конектора, меморије или модела. За ризичну радњу пресудан исход је одлука серверске контролне тачке: она мора да је заустави и ако је модел прихватио злонамерни текст.

Подели:

Претплатите се на наш билтен

Добијајте најновије вести о Web3, AI-у и криптовалутама директно у пријемно сандуче.

0