AI-агент со веб-пристап: „посилен“ prompt не ја заменува изолацијата

|Автор: Уредувачки тим на QUASA|5 мин. читање
AI-агент со веб-пристап: „посилен“ prompt не ја заменува изолацијата

За да го ограничите штетното дејство од prompt injection врз AI-агент што чита веб-страници, спроведете ги дозволите надвор од моделот. Дајте му одделен идентитет, пристап само до потребните датотеки и алатки, краткотрајни акредитиви и ограничен мрежен излез. За испраќање податоци, бришење и други ризични дејства барајте човечко одобрување пред повикот на алатката.

Нападот може да пристигне во содржина што агентот ја чита за легитимна задача. Поимникот на OWASP наведува веб-страници, документи, е-пошта, записи од база и API-одговори како можни носители на индиректна злонамерна инструкција. Појасен системски prompt може да ја намали веројатноста моделот да ја следи, но не му ја одзема веќе доделената дозвола за читање датотека или повикување API.

Содржината е податок, а дозволата е надвор од моделот

Ако корисникот побара резиме на страница, нејзиниот текст е влез за резимето. Тој текст не добива овластување да одреди која приватна датотека агентот ќе ја отвори или каде ќе ги испрати нејзините податоци. Истата граница важи и за одговор од алатка: агентот може да го употреби како информација, но не и како нова дозвола за дејствување.

Проверката поставете ја во посредникот за алатки и во дозволите на услугите што ги повикува. Пред извршување, тој слој треба да ги провери идентитетот на агентот, дозволената операција и конкретните аргументи, како патека, метод и одредиште. Проверката мора да важи за сите патишта до истата можност, вклучувајќи датотечни алатки, директни API-повици и алатки преку MCP; забрана само за терминалот остава друга патека отворена.

Матрица: способност, ризик и контрола

Секоја способност бара контрола врз последицата што може да ја предизвика. Означувањето на надворешниот текст и неговото филтрирање помагаат моделот поретко да следи напад. Дозволите, изолацијата и мрежните правила го ограничуваат дејството и кога моделот ќе погреши.

  • Читање веб-страници. Злонамерна страница може да побара дејство надвор од задачата. Преземајте ја содржината преку одвоена патека и означете ја како недоверлив влез. Ако задачата бара произволни јавни страници, посредник може да ги преземе и да му го врати текстот на агентот без да му даде неограничен мрежен излез.
  • Пристап до датотеки. Инструкција во прочитаната страница може да го насочи агентот кон тајна или туѓ документ. Ограничете го читањето на потребните патеки во изолирана средина; одделете ги местата за читање од оние за запишување. Не монтирајте домашен директориум и не ставајте продукциски акредитиви во околината на процесот.
  • API и мрежен излез. Агент со широк токен може да смени записи или да испрати податоци. Ограничете ги операциите и опсегот на токенот, а излезните одредишта сведете ги на оние што задачата ги бара. За чувствителен повик проверувајте ги и аргументите: дозволен домен сам по себе не спречува истекување ако агентот може да внесе тајна во повик до тој домен.

Насоките на OWASP за агенти препорачуваат одделен идентитет, краткотрајни токени, минимални дозволи, изолација и ограничен мрежен излез. Тие предупредуваат и дека опсегот на изолацијата се разликува меѓу поставките: некоја околина ги ограничува командите во терминалот, но не и датотечните алатки или MCP-серверите.

Минимална поставеност за веб, датотеки и API

  1. Создајте посебна сервисна идентичност за агентот и издавајте токен со краток век и опсег за конкретната задача. Одделете ги идентитетите што смеат само да читаат од оние што смеат да менуваат податоци. Така пристапот на агентот може да се следи и одземе независно од личната сметка на програмерот.
  2. Стартувајте го агентот во изолирана околина со монтирани само потребните датотеки. Тајните и приватните директориуми нека останат надвор од неа. Проверете дали ограничувањето важи и за секоја поврзана алатка, бидејќи изолираниот процес не помага ако датотечна услуга со пошироки дозволи извршува повици во негово име.
  3. Одделете го преземањето веб-страници од каналот за испраќање податоци. На посредникот за преземање поставете правила за дозволени барања и одредишта; на агентот дозволете му мрежни повици само таму каде што задачата ги бара. Ново надворешно одредиште нека бара посебна одлука пред повикот.
  4. Поставете правило што одбива сè што не е изрично дозволено, па наведете ги алатките, методите, патеките и опсезите што се потребни. За испраќање пораки, бришење, промена на дозволи или објавување прикажете ги точните аргументи на лице што може да го одобри или одбие дејството. Резимето што го дава моделот не е замена за тие аргументи.

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

Филтрирање, одобрување и проверка на границата

Проверката на влезот, означувањето на надворешната содржина и следењето на однесувањето се дополнителни слоеви. Препораките на Microsoft ги поврзуваат со ограничен пристап до алатки, посебни идентитети и изолирани компоненти. Филтер што бара сомнителни зборови може да пропушти поинаку напишана инструкција; одлуката дали повикот е дозволен затоа треба да се донесе независно од процената на содржината.

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

Прочитајте и:

Сподели:

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

Добивајте ги најновите вести за Web3, AI и крипто директно во вашето сандаче.

0