Agentul AI citește un document ostil: filtrul de prompt nu este suficient

|Autor: Echipa editorială QUASA|5 min de citit| 1
Agentul AI citește un document ostil: filtrul de prompt nu este suficient

Protejați un agent AI care citește e-mailuri, pagini web sau documente prin separarea conținutului primit de instrucțiunile sale, limitarea permisiunilor și autorizarea acțiunilor înainte de execuție. Analiza OpenAI arată de ce filtrarea intrării nu este suficientă: atacurile elaborate pot evita clasificarea, iar sistemul trebuie să limiteze efectele chiar și atunci când agentul este convins să urmeze instrucțiuni ostile.

Aplicați controalele pe întregul traseu al cererii: conținutul pe care agentul îl primește, informațiile pe care le păstrează, instrumentele pe care le poate apela și efectul fiecărui apel. Dacă un e-mail pretinde că autorizează trimiterea unor date, afirmația este tot parte din e-mail. Aprobarea trebuie verificată de aplicație, independent de textul pe care l-a citit modelul.

Separați sursele externe de instrucțiunile agentului

Etichetați conținutul preluat cu proveniența sa: mesaj primit, rezultat al căutării, pagină vizitată sau document încărcat. Păstrați instrucțiunile aplicației în afara acestor fragmente și delimitați clar datele transmise modelului. O pagină care îi cere agentului să ignore sarcina utilizatorului sau să trimită informații către o adresă nouă rămâne o pagină de analizat, nu o sursă de autoritate.

Trimiteți în context doar pasajele necesare sarcinii și păstrați legătura cu documentul original. La extragerea textului, inspectați câmpurile ascunse, metadatele și destinațiile legăturilor: o instrucțiune ostilă poate apărea și în aceste locuri. Un rezumat realizat printr-un apel separat poate reduce volumul de conținut expus agentului principal, dar rezumatul păstrează nivelul de încredere al sursei din care provine.

Acordați fiecărui instrument permisiuni pentru sarcina sa

Ghidul OWASP pentru securitatea agenților AI recomandă privilegii minime, autorizare explicită a operațiunilor sensibile și tratarea datelor externe ca neîncrezătoare. Pentru un agent care rezumă mesaje, configurația poate permite citirea mesajelor utilizatorului curent fără a-i oferi și dreptul de a trimite e-mailuri sau de a șterge fișiere. Lista instrumentelor disponibile trebuie să reflecte sarcina efectivă, nu toate funcțiile pe care integrarea le poate oferi.

Separați acreditările pentru citire de cele pentru modificare și restrângeți accesul la resursele necesare. Verificați permisiunile în componenta care execută instrumentul, la fiecare apel: instrucțiunea „nu trimite mesaje” din prompt nu poate înlocui refuzul unui serviciu de e-mail. Restrângeți și destinațiile de rețea acceptate, astfel încât un agent deturnat să nu poată alege liber unde expediază date.

Stabiliți limite pentru numărul de apeluri, durata sesiunii și volumul transferat. Aceste praguri reduc efectul unei bucle de acțiuni sau al unei încercări de a extrage multe date. Pentru operațiunile reversibile, pregătiți anularea; pentru cele ireversibile, mutați controlul înaintea execuției.

Păstrați memoria la același nivel de încredere ca sursa

Un fragment salvat în memorie poate influența o sarcină ulterioară, după ce documentul ostil a dispărut din contextul imediat. Salvați numai informațiile necesare și păstrați alături de ele utilizatorul, proveniența și perioada de valabilitate. O afirmație dintr-un e-mail despre „regulile viitoare” ale agentului nu trebuie transformată în instrucțiune permanentă.

Izolați memoria între utilizatori și sesiuni, limitați-i dimensiunea și verificați datele sensibile înainte de stocare. La reutilizare, tratați o notă extrasă dintr-o sursă externă tot ca date externe. Faptul că a mai fost văzută de agent nu îi conferă autoritate asupra instrumentelor sau asupra cererii curente.

Autorizați operațiunea concretă înainte de execuție

Plasați între model și instrument o componentă care verifică identitatea utilizatorului, resursa, operațiunea și parametrii propuși. Dreptul de a citi un document pentru a-l rezuma nu implică dreptul de a-l modifica, publica sau expedia. Agentul poate propune un apel; serviciul de execuție decide separat dacă acel apel se încadrează în permisiunile acordate.

Pentru trimiterea unui mesaj, ștergere, plată sau schimbarea permisiunilor, afișați utilizatorului o previzualizare a efectului: destinatarul, conținutul, resursa afectată și, unde este cazul, suma. Legați aprobarea de acești parametri exacți și limitați-i durata. Dacă agentul schimbă ulterior destinatarul ori conținutul, cereți o aprobare nouă; dacă aprobarea nu poate fi verificată, refuzați apelul.

Într-un exemplu ipotetic, un document îi cere agentului să trimită conversațiile anterioare la o adresă externă. Chiar dacă modelul propune trimiterea, serviciul de execuție o poate respinge deoarece adresa nu este permisă și utilizatorul nu a aprobat acea operațiune. Acest control rămâne util și când filtrul nu recunoaște instrucțiunea din document.

Validați ieșirea și urmăriți apelurile

Cereți apeluri de instrumente în câmpuri structurate și verificați operațiunea, argumentele, dimensiunea datelor și destinația efectivă înainte de executare. Controlați și răspunsul afișat utilizatorului: datele sensibile pot apărea în textul final, chiar dacă agentul nu a apelat un instrument de trimitere. În cazul cererilor de rețea, inspectați atât adresa, cât și datele incluse în parametri sau în corpul cererii.

Înregistrați proveniența conținutului care a precedat un apel, instrumentul solicitat, decizia de autorizare și rezultatul, fără a copia secretele în jurnal. Încercările repetate de acces refuzat, destinațiile neașteptate și creșterea bruscă a numărului de apeluri pot declanșa oprirea sesiunii și o investigație. Jurnalul trebuie să permită reconstruirea legăturii dintre documentul citit și acțiunea propusă.

Testați atât abaterea agentului, cât și efectul final

În benchmarkul WASP, agenții web testați au început să urmeze instrucțiuni adverse în aproximativ 17–86% dintre cazurile cu atacuri legate de sarcină, în funcție de combinația dintre model, configurația agentului și apărare; obiectivul complet al atacatorului a fost atins în 0–17% dintre cazuri. Testele s-au desfășurat într-un mediu web izolat, astfel încât procentele nu reprezintă rata de succes pentru orice agent. Ele arată de ce o evaluare trebuie să distingă între abaterea modelului și acțiunea care ajunge să fie executată.

Construiți cazuri de test cu e-mailuri, pagini și documente care încearcă să schimbe obiectivul, să contamineze memoria sau să trimită date către o destinație nouă. Pentru fiecare caz, verificați traseul complet: ce a propus agentul, ce a respins serviciul de autorizare, ce i s-a cerut utilizatorului să aprobe și ce date au ajuns în răspuns sau în jurnal. Repetați testele când schimbați modelul, instrumentele, permisiunile ori mecanismul de recuperare a documentelor.

Citește și:

Distribuie:

Abonează-te la newsletter

Primește cele mai noi știri despre Web3, IA și cripto direct în inbox.

0