ブラウザーエージェントを守るのは、表示文ではなくWeb要素の意味
導入
ブラウザーエージェントは、ユーザーに代わって検索、フォーム入力、ページ遷移などを行うようになっている。しかし多くのシステムは、Webページをスクリーンショットや平坦化したテキストとして大規模言語モデルに渡し、モデルに次のクリックや入力を決めさせる。この方式では、ページ内の第三者が書いた文章もタスク指示と同じように見えてしまう。悪意ある文言がモデルを説得すれば、ユーザーの権限を使って、ユーザーが依頼していない操作を実行するおそれがある。
論文「What It Is, Not What It Says」は、この問題に対してIntactを提案する。基本的な考え方は、要素が何を実行できるかを、表示されている文章ではなく、要素の種類と出所によって決めることだ。ブラウザーが本来持つ意味情報をモデルの入力と実行制御に反映し、モデルだけに安全性を委ねない。
主な仕組み
- GenTreeで出所と能力を表す。 Intactはブラウザー自体を変更せず、ページ要素の出所、構造上の関係、対応可能な操作を記録するGenTreeを構築する。ボタンや入力欄は、単なる文字列ではなく、固有の能力を持つ対象として扱われる。
- 要素を一つずつモデルに渡す。 GenTreeの内容は一度にまとめて提示されず、要素単位でLLMに渡される。ある要素の誘導文が、別の要素に対する操作をモデルへ促す可能性を抑える設計だ。モデルは判断を行うが、判断材料は意図的に分離される。
- 実行制約をモデルの外に置く。 実行ハーネスは、モデルが提案した手順が対象要素の能力に合っているかを確認する。第三者コンテンツに対する操作では、ユーザーへの確認も求める。モデルが攻撃文に従っても、要素の権限を自動的に拡大することはできない。
- 実験で効果を検証した。 1270件の実Webページでは、GenTreeが第三者に帰属させた要素数は、ブラウザーの既存の帰属結果の2.3倍だった。既存方式はその58.7%を第一者に誤帰属していた。攻撃を含む1091ページでは、従来プランナーで73.1%の攻撃が計画に入ったのに対し、Intactでは12.8%にとどまった。しかも、それらは最大でもユーザー確認の要求にしかならない。隔離による機能低下はタスクの3.7%で、並列スケジュールによって追加遅延の大部分を減らせる可能性も示されている。
意義と影響
Intactの重要な点は、プロンプトインジェクションをモデルに完全に見抜かせることから、モデルが実行できる範囲そのものを制限することへ、対策の重心を移した点にある。検知は依然として有用だが、モデルが一度誤判断しただけで実際の権限行使に至らない仕組みが必要になる。
スクリーンショットや純粋なテキストは扱いやすい一方、出所や操作能力といったセキュリティ上重要な情報を失わせる。今後のブラウザーエージェントでは、要素の種類、提供元、権限境界を構造化して扱い、最終的な強制はLLMの外側で行う設計が重要になるだろう。Intactは確認操作をなくすものでも、すべての攻撃を排除するものでもない。しかし、モデルを最終的な権限者ではなく解釈役として位置づける、実装可能な方向性を示している。
コメント
ログイン状態を確認中…
コメントを読み込み中…