Автономните уеб агенти четат всичко, което се показва на дадена страница, а голяма част от това съдържание идва от непознати източници. Отзивите за продукти, списъците с продавачи и рекламите стоят редом с надеждните менюта на сайта на една и съща страница. Агент, който чете целия този текст като инструкции, може да бъде насочван от всяка част от него.
Група изследователи от Калифорнийския университет в Бъркли описват Cross-Site Prompting (XSP) като версията на Cross-Site Scripting (XSS) за ерата на агентите. Тяхната система, наречена Prismata, стои между уеб агента и браузъра. Тя филтрира съдържанието, което агентът вижда, и ограничава действията, които той може да предприеме.
Стара повърхност за атака в нови дрехи
Сравнението с XSS преминава през целия дизайн. Cross-Site Scripting позволява на атакуващия да внедри скрипт в доверен сайт, така че той да се изпълни в браузъра на посетителя. XSP заменя изпълнимия код с обикновен език. Атакуващият пише отзив за продукт, който казва на агента да изпрати данните от кредитната карта на потребителя на непознат, и агентът може да се съобрази с това. По-старите уеб защити трудно се адаптират към тази среда. Инструментите за дезинфекция на входни данни (input sanitizers) търсят код, а инжектираните подкани не съдържат такъв.
Prismata работи между уеб агента и браузъра, осигурявайки защита на системно ниво, която филтрира и ограничава уеб съдържанието, преди то да достигне до уеб агента.
Разчитане на структурата на страницата за вземане на решение
Prismata работи въз основа на структурата на страницата. За всеки бутон, връзка или поле във форма съществува път от елементи-предшественици, който води от горната част на страницата надолу до съответния елемент. Екипът от Бъркли установи, че тези пътища се състоят почти изцяло от написани от разработчиците скелета, като контейнери за оформление и навигация. Модел за вземане на решения чете само този път и задачата на потребителя, след което решава дали елементът принадлежи към задачата. Внедряването на друго място на страницата остава извън това решение.
Измерването е направено въз основа на корпус от реални страници. От над 90 000 проби от ненадеждно съдържание, извлечени от Common Crawl и Mind2Web, около 1,2% са се намирали на път, водещ до нещо, което агентът може да кликне или попълни. Останалите са били задънена улица за атакуващия.
За малката част от случаите, в които ненадеждно съдържание наистина се намира на такъв път, Prismata заимства от концепция за сигурност от 1977 г. Моделът за интегритет на Biba налага правилото „без четене надолу, без писане нагоре“ (no-read-down, no-write-up) и екипът го прилага към дървото на страницата. Системата чете всеки слой от пътя, преди да разкрие неговите наследници, като следи за признаци за поява на ненадеждно съдържание. Заглавия като „Отзиви“, етикети за достъпност и имена на класове на разработчици като review-card маркират границата. Когато се появи сигнал, всичко под него наследява по-ниско ниво на доверие и се премахва или се настройва само за четене.
Тестовете бяха проведени в WebArena, което е максимално близо до реалната мрежа за бенчмарк среда. Тя работи с реален GitLab инстанс и платформа за пазаруване от производствен клас, така че структурите на страниците приличат на това, което агентът би срещнал в реални условия. Атаките бяха под формата на примамки от тип изскачащи прозорци, поставени там, където злонамерен субект или рекламна мрежа биха могли да ги разположат.
Успеваемостта на атаките спадна от 85,5% без защитата до 0,7% с нея. Атаката се считаше за успешна за атакуващия, когато агентът се хване на стръвта, кликвайки върху внедрена връзка или попълвайки инжектирана форма. Блокирането на атаки е едно на ръка. Накарате ли агента да завърши работата си под атака е друго, и тук подобренията също бяха значителни: изпълнението на задачите под атака се повиши от приблизително една на двадесет до почти една на четири. Агентите, които иначе биха се отклонили в фалшив изскачащ прозорец, останаха фокусирани върху задачата си.
При липса на атака, успеваемостта на задачите леко спадна от 29.9% на 26.6% след активиране на филтрирането. Няколко процента по-ниска полезност купуват сериозно ниво на ограничаване на заплахите.
Етикетите, управляващи всичко това, идват от езикови модели, като изборът на модел е от значение. Шест модела за етикетиране се изправиха срещу човешки експерти по сигурността върху набор от страници в WebArena, като всеки от тях класифицира елементи, съвпадащи с мнението на експертите в над девет от десет случая. GPT-5.4-nano беше най-предпазливият от групата, достигайки 98,69% точност (precision) за сметка на най-ниска пълнота на данните (recall). Gemini 3 Flash постигна най-висок F1 резултат.
Когато дадено инжектиране се намира на пътя към действие без предварителен предупредителен сигнал, текстът на атакуващия достига до стъпката за вземане на решение и нито един механизъм не го спира. Екипът откри това в приблизително един на хиляда пътя, като този процент спада до около 0,017% на сайтове, които следват най-добрите уеб практики. Добре изградените сайтове свиват тази пролука, докато неорганизираните я разширяват.
Езиковите модели присъстват на всеки етап от процеса, което поставя таван на гаранциите за сигурност. F1 резултат от 95% все още оставя място за единично грешно етикетиране на критичен елемент, което да позволи пропускането на част от атака. Средните стойности крият най-лошите сценарии.
Остава и въпросът какво се случва, когато мотивиран атакуващ започне да търси тази пукнатина. Докладът посочва, че Prismata е издържала срещу адаптивни атакуващи, които са извършили многократни опити да излъжат етикетирането ѝ, свеждайки тези атаки до нула. Това е насърчително, но все пак е малка извадка срещу цял клас заплахи.
По-голямата картина показва една стара идея, пренесена в нова ера...