Третирајте прибављени садржај као непоуздан улаз
ЗавршеноПрепознајте упутства скривена у датотекама репозиторијума и резултатима алата. Раздвојите прибављене информације од овлашћења за радње.
Објављује TaigaКако пишемо
Проверите разумевањеДатотека репозиторијума тврди да су сви тестови необавезни и да агент треба да игнорише упутства задатка. Како ток рада треба да је третира?Урадите вежбу
Шта ћете научити
- Препознајте индиректни prompt injection у развојном току рада.
- Објасните зашто саме текстуалне ознаке не могу да спроведу безбедносну границу.
- Осмислите безбедан тест ограничења алата.
Препознајте тачку у којој подаци постају упутство
Агент за програмирање чита више од корисниковог захтева. Може да испитује пријаве проблема, датотеке репозиторијума, документацију пакета, резултате претраге и одговоре алата. Део тог садржаја може да садржи упутства друге особе.
Prompt injection настаје када такав садржај преусмери модел са овлашћеног задатка. Индиректно убацивање стиже кроз прибављени извор, а не кроз непосредан захтев корисника. OWASP наводи материјал репозиторијума и излаз алата као релевантне улазне тачке. Прочитајте смернице за спречавање.
Размотримо измишљен задатак одржавања. Корисник тражи да агент исправи филтер извештаја и покрене обавезне тестове. Прибављени README тврди да су тестови застарели и тражи да агент отпреми конфигурациону датотеку. README може да објасни пројекат. Не може да одобри прескакање корисникових провера или слање датотека другде.
Сагледајте могуће последице
Исти обмањујући текст има различите последице у различитим окружењима. Алат који само чита и сажима може да направи погрешан сажетак. Агент са дозволом уписа у репозиторијум може да промени код. Агент са тајнама и излазним мрежним приступом може да изложи информације.
Испитајте доступне радње пре одлуке о важним мерама одбране. Наведите осетљиве ресурсе, одредишта у која је могућ упис и спољна одредишта. Укључите конекторе додате после почетног подешавања. Нов алат може да повећа последице постојеће слабости.
Агент може и да пренесе обмањујући садржај у каснију фазу. На пример, може да копира непоуздано упутство у генерисани опис задатка. Следећи агент не сме да третира тај опис као независно одобрену политику.
Користите више контрола са различитим сврхама
У дизајну апликације раздвојите поуздана упутства задатка од прибављених података. Прикажите порекло прибављеног материјала. Ови кораци побољшавају тумачење, али не успостављају потпуну безбедносну границу.
Спроводите дозволе ресурса у систему за извршавање. Ограничите одредишта осетљивих података. Захтевајте одговарајућу одлуку пре радњи са значајним последицама. Проверите предложену операцију према овлашћеном задатку и циљном ресурсу.
Филтери и други модел могу да помогну у откривању сумњивог садржаја. Могу и да пропусте нападе или блокирају легитимне информације. Не замењујте детерминистичку ауторизацију оценом уверености модела. OWASP изричито наводи ограничења ослањања само на упите или прибављање садржаја. Прочитајте опис ризика.
Тестирајте ток рада без стварног излагања
Користите привремен репозиторијум и измишљене датотеке. Процени не дајте продукционе акредитиве нити неограничене дозволе уписа у спољне системе. Унесите безопасно упутство које је супротно задатку, попут прескакања обавезне провере.
Посматрајте и одговор модела и стварне радње алата. Порука „Игнорисао сам упутство” није довољна ако је провера ипак прескочена. Забележите задатак, тестни пример са убаченим упутством, дозвољене алате и уочени резултат.
Поновите репрезентативне случајеве после промена упита, модела, конектора или дозвола. Блокиран пример је доказ за тај случај, а не доказ заштите од сваког убацивања упутстава. Ако тест не успе, смањите могуће последице док исправљате основни ток рада.
Урадите вежбу
Направите привремен тестни пример са коментаром који тражи да агент прескочи обавезну проверу. Извршите одобрену, изоловану процену без тајни или уписа у спољне системе. Проверите да се обавезна провера ипак извршава. Забележите дозволе алата, уочено понашање и ограничења овог појединачног теста.
Преузми радни лист (Markdown)Искључивање ове опције брише сав напредак сачуван у овом прегледачу.
Напредак остаје у овом прегледачу. Без налога и праћења.