コンテンツへスキップ

セキュリティ

エージェントが ABG を通じて何に触れられ、何に承認が要り、何が記録されるかを説明します。

ABG は、人が普段使っているブラウザーのセッションで使う道具です。タブを共有するまで、エージェントにはどのタブも見えません。

  • 既定はタブごとの共有です。ポップアップか共有のショートカットでタブを共有します。
  • タブを閉じる、オリジンが変わる、共有を解除する、のいずれかで共有は終わります。
  • 全タブ共有モードは、隔離したプロファイルやサンドボックス用のマシン向けです。ポップアップでは 全タブ共有(サンドボックス専用) と表示されます。普段使いのプロファイルや用途の混ざったプロファイルではオンにしないでください。オンにすると Chrome に任意の <all_urls> 権限を求めます。オフにすると全タブ共有で登録したタブの共有をすべて解除し、その権限も外します。
  • ブックマークとリーディングリストは、ポップアップの専用スイッチと任意のブラウザー権限が別に要ります。共有タブの内容ではなく、ブラウザーが持つ個人データだからです。

分離したプロファイルやサンドボックス環境では、タブの共有で条件に一致するドメインを選ぶと、条件に一致する既存のタブと新しく開くタブを自動で共有できます。完全一致のドメイン、*.example.testのようなワイルドカード付きサブドメイン、ホスト名全体に一致する正規表現を複数登録できます。いずれかの条件に一致すれば共有対象になりますが、共有時のHTTPSとポートの制限も適用されます。適用前に、一致するタブをプレビューで確認してください。タブが許可範囲から外れると、自動アクセスは取り消されます。ルールは接続ごとに保存され、編集するとSandboxの自動再開への同意が取り消されます。このモードは、すべてのタブと同じ任意権限の<all_urls>を要求します。個人用、または用途が混在するプロファイルでは、手動共有を使用してください。

  • click、fill、paste、navigate、upload、ダイアログの操作などの書き込み系コマンドは、初期設定で実行前にローカルの承認ウィンドウを開きます。ポップアップの設定名は 書き込み操作の前に承認を求める です。
  • 読み取り系のコマンド、raise、revoke は承認を求めません。
  • 汎用の JavaScript eval は初期設定でオフです。承認制の JavaScript eval を許可 でオンにします。信頼済み自動化(AutoMode) がオフの間は、eval を呼ぶたびに --approve と、実行するスクリプトをそのまま表示した承認ウィンドウでの許可が必要です。
  • タブの録画は、他の承認をオフにしていても必ず承認が要ります。録画できるのは共有中のタブだけで、録画中は REC バッジが付き、WebM をローカルのファイルに書き出します。

Gateway はすべての操作を ~/Library/Logs/AgentBrowserGateway/audit.jsonl に JSONL で書き込みます。直近の記録は次のコマンドで見られます。

Terminal window
abg audit --lines 50

同じログから日ごと、週ごとの集計を出すこともできます。

Terminal window
abg activity --period day

記録するのは、操作名、タブの参照、セレクター、承認の方式、プラグインのコマンド名、録画の開始と終了、必要に応じたバイト数です。貼り付けた本文、プラグインの引数の値、録画した映像や音声は記録しません。bookmarks と reading-list では ID、件数、検索語のバイト数を記録し、保存された URL そのものは記録しません。

  • Gateway は 127.0.0.1 で待ち受けます。通常のローカルでの使い方に、ABG のアカウントやクラウドの中継は要りません。
  • Gateway の WebSocket はブラウザー拡張機能からの接続だけを受け付けます。普通の Web サイトは、ページの JavaScript から接続できません。
  • CLI は、所有者だけが使える Unix ソケットか、起動ごとのトークンが必要なループバックの WebSocket で Gateway に接続します。
  • スマートフォンをペアリングすると、ABG は選んだ非公開の Tailnet か LAN のインターフェースでも待ち受けます。このリスナーは、ペアリングの申し出か有効な許可があるときだけ動きます。アーキテクチャを参照してください。

拡張1.3.6では、本人が選んだCloud接続も使えます。共有した内容と要求した操作結果は、選択したサービスを通って許可済みのAI連携へ届きます。Webログインでブラウザーを登録し、通常はタブごとに共有します。Cloud側の方針による承認と、録画時の承認があります。Sandboxの自動復帰は隔離プロファイルだけで有効にしてください。認可・監査はサービスが担当し、デスクトップのローカル監査ファイルとは別です。テレメトリーやJavaScriptの無断有効化は追加しません。Cloud手順を参照してください。

  • 共有していないタブに触れようとするプロンプトインジェクション。Gateway は、共有していないタブへの操作を拒否します。
  • 移動による共有の広がりすぎ。手動で共有したタブは、オリジンが変わると共有が解除されます。
  • エージェントによる気付かれない操作。すべての操作が監査ログに残ります。
  • 気付かれない録画。利用者が許可を押さない限り、CLI だけでは録画を始められません。
  • 悪意のあるローカルの利用者や、root 権限の奪取
  • 同じプロファイルに入った悪意のあるブラウザー拡張機能
  • ブラウザー自体の脆弱性
  • 利用者が明示的に承認した操作
  • 利用者が自分で入れたプラグインのコード

プラグインはローカルの Gateway プロセス内で動きます。信頼できる入手元のものだけを入れてください。

read、get、find、wait、snapshot、プラグインのコマンドなど、名前の付いたコマンドを優先します。eval は最後の手段です。eval をオンにする場合も、そのプロファイルが十分に信頼でき、隔離されているとき以外は AutoMode をオフのままにします。

セキュリティの脆弱性を GitHub の公開 issue に書かないでください。現在の報告の受け付け状況と脅威モデルは SECURITY.md にあります。

書き込み承認がOFFの場合、入力値の読み取りとファイル添付は毎回の承認を省略します。手動共有とSandboxのどちらにも適用され、ファイルの場所、自動復帰、信頼済み自動化の設定には依存しません。ChromeのファイルURLへのアクセス許可は引き続き必要です。Cloud側の強制承認と録画の承認は残ります。パスワード・認証コードは読み取れません。