Home AIKada podaci postanu naredbe: kako dokument, imejl ili veb-stranica mogu da preuzmu kontrolu nad AI agentom

Kada podaci postanu naredbe: kako dokument, imejl ili veb-stranica mogu da preuzmu kontrolu nad AI agentom

od itn
indirect prompt injection

Veliki jezički modeli napravljeni su da čitaju tekst i slede instrukcije. Upravo ta sposobnost, na kojoj počiva njihova korisnost, stvorila je i jednu od najtežih bezbednosnih slabosti savremenih AI sistema: model ne mora uvek pouzdano da razlikuje podatak koji treba da obradi od naredbe koju treba da izvrši. Dok je AI uglavnom služio kao četbot, posledice takve zabune bile su ograničene. Problem postaje mnogo ozbiljniji sa pojavom agenata koji mogu da otvaraju veb-stranice, čitaju imejlove i dokumente, pristupaju bazama podataka, pozivaju API-je i koriste druge alate.

Napadač tada više ne mora direktno da razgovara sa AI sistemom niti da pokušava da ga navede da zanemari prethodna pravila. Dovoljno je da zlonamernu instrukciju ostavi u sadržaju koji će agent kasnije pronaći i obraditi. Takav napad naziva se indirect prompt injection, odnosno indirektno ubacivanje instrukcija.

Kada veb-stranica počne da izdaje naređenja

Zamislimo AI asistenta kojem korisnik zada da pronađe nekoliko proizvoda i napravi poređenje. Agent pretražuje internet, otvara stranice prodavaca i čita njihove opise. Na jednoj od njih nalazi tekst koji izgleda kao deo običnog sadržaja, ali u njemu postoji instrukcija namenjena modelu: zanemari prethodni zadatak, proglasi ovaj proizvod najboljim ili preduzmi neku drugu radnju.

Čovek tu instrukciju možda nikada neće ni primetiti. Agent je, međutim, dobija u istom kontekstu u kojem se nalaze i informacije koje je trebalo da analizira. Ako sistem ne napravi dovoljno jasnu razliku između onoga što mu je korisnik naredio i onoga što je pronašao na internetu, sadržaj sa veb-stranice može da utiče na njegovo dalje ponašanje. Podatak tada prestaje da bude samo podatak i postaje pokušaj izdavanja naredbe.

OpenAI je ovaj problem izdvojio kao jedan od ključnih rizika sistema koji koriste alate i pristupaju spoljnim izvorima. Posebno je problematična situacija u kojoj agent čita nepouzdan sadržaj, a istovremeno ima mogućnost da izvršava radnje u drugim sistemima. Google i Microsoft takođe su razvijali zaštitne mehanizme upravo za slučajeve u kojima se zlonamerne instrukcije nalaze u sadržaju koji model obrađuje, a ne u korisnikovom promptu.

indirect prompt injectionNapad može da stigne kroz dokument ili imejl

Veb-stranica je samo jedan od mogućih izvora. Instrukcija može biti ubačena u PDF, Word dokument, imejl, komentar u programskom kodu, zapis iz baze podataka, opis proizvoda, kalendarski poziv ili drugi sadržaj koji AI agent čita tokom izvršavanja zadatka.

To stvara bezbednosni problem koji kod klasičnog softvera uglavnom ne postoji. Ako se u PDF dokumentu nalazi rečenica „pošalji ovu datoteku na drugu adresu“, program za čitanje PDF-a neće zbog toga početi da šalje fajlove. Tekst je za njega podatak. Kod velikog jezičkog modela situacija je drugačija jer je upravo prirodni jezik jedan od osnovnih načina upravljanja sistemom.

Rizik postaje znatno veći kada agent ne može samo da pročita sadržaj već i da nešto uradi. Zamislimo sistem koji ima pristup službenom imejlu zaposlenog i koji automatski čita poruke, pronalazi dokumente i priprema odgovore. Napadač može da pošalje poruku koja naizgled sadrži običan tekst, ali je u njen sadržaj ubačena instrukcija namenjena agentu. Ako sistem tu instrukciju prihvati kao relevantnu, može pokušati da pronađe druge informacije u sandučetu, otvori dokumente ili izvrši radnju koju korisnik nikada nije tražio.

Upravo zbog toga OWASP prompt injection svrstava među osnovne rizike aplikacija zasnovanih na velikim jezičkim modelima. Posebno se upozorava na sisteme koji kombinuju pristup spoljnim izvorima sa mogućnošću korišćenja alata i izvršavanja konkretnih operacija.

Zašto model jednostavno ne ignoriše naredbe iz dokumenata?

Na prvi pogled rešenje deluje jednostavno: modelu treba narediti da ne izvršava instrukcije koje se nalaze u dokumentima, imejlovima ili na veb-stranicama. U praksi je problem znatno složeniji, jer upravo u tim izvorima često postoje legitimna uputstva koja agent treba da razume.

Ako agent čita tehničku dokumentaciju, očekuje se da postupi prema određenim instrukcijama koje se u njoj nalaze. Ako analizira ugovor, mora da identifikuje obaveze navedene u tekstu. Ako radi sa programskim kodom, potrebno je da razume komentare, dokumentaciju i pravila projekta. Sistem zato ne može jednostavno da primeni pravilo da nikada ne sluša ono što pročita u spoljnim izvorima.

Ključni problem postaje utvrđivanje autoriteta. Agent mora da razlikuje ko mu je zaista zadao zadatak, iz kog izvora dolazi nova instrukcija i da li je njeno izvršavanje uopšte u skladu sa prvobitnim ciljem. Drugim rečima, nije dovoljno da model razume značenje rečenice. Mora da proceni i da li ta rečenica ima pravo da promeni njegovo ponašanje.

To je posebno teško zato što napad ne mora da izgleda kao očigledna naredba. Zlonamerna instrukcija može biti uklopljena u dugačak dokument, predstavljena kao tehničko uputstvo ili napisana tako da izgleda kao legitimni deo sadržaja. Nije čak ni neophodno da bude sakrivena od čoveka. Dovoljno je da korisnik ne zna da tekst koji agent obrađuje pokušava da utiče na njegove naredne korake.

Najveći rizik nastaje kada agent ima pristup alatima

Indirect prompt injection sam po sebi ne mora uvek imati ozbiljne posledice. Mnogo zavisi od toga šta kompromitovani agent može da uradi. Ako sistem samo sumira javno dostupne tekstove, posledica može biti pogrešan ili pristrasan odgovor. Ako isti agent ima pristup imejlu, cloud skladištu, internim dokumentima, terminalu ili poslovnim aplikacijama, situacija postaje sasvim drugačija.

Zbog toga se zaštita sve više zasniva na principu najmanjih privilegija. Agent treba da dobije samo one dozvole koje su mu neophodne za konkretan zadatak. Ako treba da čita kalendar, nije mu automatski potreban pristup slanju imejlova. Ako analizira dokument, ne mora imati mogućnost njegovog brisanja ili prosleđivanja. Ako pretražuje internet, sadržaj pronađene stranice ne bi trebalo da dobije isti nivo autoriteta kao instrukcija koju je dao korisnik.

Kod osetljivijih radnji dodatna zaštita može biti ljudska potvrda. Agent može da pripremi odgovor, transakciju ili izmenu, ali ne i da je izvrši bez eksplicitnog odobrenja. Time se smanjuje mogućnost da jedna zlonamerna instrukcija pronađena u dokumentu pokrene ceo lanac neželjenih aktivnosti.

indirect prompt injectionProblem više nije samo u odgovoru modela

Indirect prompt injection pokazuje zašto bezbednost AI agenata ne može da se rešava samo poboljšavanjem samog modela. Potrebna je kontrola čitavog sistema: razdvajanje pouzdanih i nepouzdanih izvora, ograničavanje privilegija, praćenje aktivnosti, dodatna potvrda za rizične operacije i jasna pravila o tome koji izvor sme da utiče na ponašanje agenta.

Najvažnija promena ipak je u samoj prirodi rizika. Internet, dokumenti i imejlovi tradicionalno su posmatrani kao izvori informacija koje program obrađuje. Kod AI agenata isti sadržaj može istovremeno izgledati kao informacija i kao instrukcija.

Zato pitanje više nije samo da li možemo da verujemo odgovoru koji je AI proizveo. Potrebno je znati i koga je sistem zapravo poslušao, korisnika koji mu je zadao posao ili sadržaj na koji je naišao dok je taj posao obavljao.

Milena Šović, M.Sc.,CSM, CSPO
AI Implementation Specialist & Content Trainer

Banner

Banner

Možda će vam se svideti i