Seguridad ng ahente sa browser: ano ang papayagan, ano ang aaprubahan, ano ang hinding-hindi dapat i-awtomatiko
Makapangyarihan ang isang naka-login na browser at may kakayahan ang mga web page na maglaman ng mapanganib na instruksyon. Kung paano saklawin ang ahente sa browser, saan hihingi ng aprubasyon, at paano pinipigilan ang prompt injection.
Ang seguridad ng ahente sa browser ay nakasalalay sa paglalagay ng pahintulot sa labas ng modelo: nakatakdang listahan ng mga aksyon, pinakamakitid na saklaw ng tab na sapat para matapos ang trabaho, aprubasyon ng tao bago gumawa ng anumang may malaking epekto, mga sikreto na hindi kasama sa nababasa ng ahente, at laging available na stop. Pinipigilan ang prompt injection sa pamamagitan ng pagtrato sa laman ng pahina bilang datos, hindi bilang instruksyon na kayang magpalawak ng saklaw.
Bakit mas kailangan ng ingat ang ahente sa browser kaysa sa API integration
May nakasulat na saklaw ang isang API key. Ang naka-login na browser session ay karaniwang wala: maaabot nito ang lahat ng maaabot ng account na iyon. Kaya nagsisimula ang ahente sa browser sa mas malawak na blast radius kaysa sa karamihan ng integrasyon, at kailangang sadyang paliitin ito ng mga kontrol.
May idinaragdag na pangalawang panganib ang mga web page na wala sa API. Ang laman ng pahina ay hindi mapagkakatiwalaang input, at maaaring subukan ng teksto sa isang pahina na mag-utos sa modelo. Ito ang tinatawag na prompt injection, at ang depensa dito ay nasa arkitektura, hindi sa isang filter.
- Kayang kumilos ng isang session sa lahat ng pag-aari ng account
- Kontrolado ng attacker ang teksto sa pahina sa anumang website na tumatanggap ng user content
- Totoo ang mga epekto: pagpapabliko, pagbabayad, pagbura, pagpapadala ng email
Mga kontrol na talagang pumipigil dito
Dapat nasa labas ng modelo ang pahintulot. Sa Melaya, ang ahente ay pumipili lang mula sa nakatakdang listahan ng mga aksyon sa browser na ipinatutupad ng extension; hindi ito makaka-download ng script, makakapagpatakbo ng generated na JavaScript, o makakarating sa isang shell. Ang saklaw ng tab ay nakikitang kontrol ng user, at hindi ito kayang palawakin ng modelo. Tumitigil muna ang mga aksyong may malaking epekto para sa aprubasyon, at laging isang pindot lang ang layo ang stop.
Tinatanggal ang laman ng password field sa lahat ng nakikita ng ahente, at malinaw ang patnubay: huwag kailanman hilingin dito na maglagay ng password, one-time code, o numero ng card.
- Nakatakdang listahan ng aksyon, walang arbitrary na pagpapatakbo ng code
- Saklaw ng tab na itinakda ng user, hindi ng modelo
- Aprubasyon bago magpabliko, magbayad, magbura, o magpadala
- Hindi kasama ang mga sikreto sa binabasa mula sa pahina
- Available anumang oras ang pagtigil at pagputol ng koneksyon
Ano ang hinding-hindi dapat iwang mag-isang gumagana
May mga aksyon na dapat laging may kasamang tao anuman kagaling ng ahente: mga pagbabayad at paglilipat ng pera, anumang magpapabliko nang publiko sa pangalan mo, mga destructive na operasyon, mga pagbabago sa pahintulot o kredensyal, at anumang komunikasyon na aakalain ng tumanggap na galing sa iyo.
Mga madalas itanong
Ano ang prompt injection sa isang ahente sa browser?
Teksto sa isang pahina na sumusubok mag-utos sa modelo, halimbawa isang nakatagong komento na nagsasabing ipadala ang datos sa ibang lugar. Napipigilan ito sa pamamagitan ng pagtrato sa laman ng pahina bilang datos at paglalagay ng pahintulot sa labas ng modelo, kaya hindi kayang palawakin ng isang pahina ang saklaw o laktawan ang mga aprubasyon.
Kaya bang makita ng ahente ang mga password ko?
Tinatanggal ang laman ng password field sa binabasa mula sa pahina. Huwag hilingin dito na maglagay ng password, one-time code, o numero ng card.
Kaya ba nitong kumilos sa mga tab na hindi ko pinili?
Hindi, maliban na lang kung palalawakin mo ang saklaw. Nagsisimula ito sa iisang tab na ini-attach mo, at ang All tabs ay malinaw na setting na itinatakda ng user.
