ホームへ戻る

AI 程式開發工具

Gemini CLI 0.58、macOSサンドボックスからコンテナデーモンへのアクセスを遮断し、ファイル境界を迂回できるホストパスを封鎖

新版では、すべての組み込みSeatbeltプロファイルで、Docker、OrbStack、Colimaなどのコンテナランタイムのソケット、実行ファイル、IPCインターフェースをブロックする。書き込みポリシー、safety checker、A2Aのキャンセル状態も修正されたが、カスタムインストールパスや既存のワークフローについては引き続き個別の検証が必要だ。

Asoundd · CC BY-SA 4.0 · Image source
zh-Hant

Googleは9月1日、Gemini CLI 0.58.0をリリースした。最も重要な変更は、macOSのSeatbeltサンドボックスとローカルのコンテナランタイムとの境界を強化したことだ。従来は、エージェントの書き込み先がプロジェクトディレクトリに制限されていても、sandbox内のプロセスがDocker Desktop、OrbStack、Colima、Rancher Desktopのdaemon socketを読み取れる可能性があった。さらに、広範なプロセス実行、ファイル読み取り、外部ネットワークへのアクセスが許可されている場合、プロセスがdaemonにコンテナの起動を要求し、VirtioFSを介してホストのファイルシステムをマウントすることで、元のSeatbeltファイル規則を迂回できる可能性があった。

0.58.0では、拒否規則が動的profile builderと6つの組み込み静的profileに適用された。ブロック対象には、`/var/run/docker.sock`、ユーザーディレクトリ内のDocker、Colima、OrbStack、Rancher Desktopのsocket、一般的なインストール先にある`docker`、`dockerd`、`docker-compose`、`podman`、`colima`、`orb`の実行ファイル、さらに関連するMach/XPC service lookupとPOSIX shared memoryが含まれる。マージ履歴によると、profile生成テストと規則のinvariant testも追加された。メンテナーが挙げた2つのテスト群では、合計52件のテストケースが通過する想定だ。

このバージョンでは書き込みポリシーの設定も修正された。トップレベルのsafety checkerが構成に明示的に含まれるようになり、構成構造が原因で安全性判定器が呼び出されない問題を防ぐ。A2A serverは、新しいメッセージターンの開始時に、前のターンから残っているキャンセルエラーを消去するようになった。履歴のロールバックと再試行時のプロンプトも調整され、1回の失敗が後続のエージェントターンを継続的に汚染する可能性を抑えている。これらはモデル能力のアップグレードではなく、ツール実行、状態復元、認可判定の信頼性を高める修正だ。

macOSでsandboxを有効にしているチームは、特にDocker Desktopまたは互換daemonを同時に運用している環境で、優先的にアップグレードすべきだ。ただし、この規則は既知のsocketと一般的なバイナリパスに依存している。カスタムのコンテナランタイム、標準外のインストール先、列挙されていないIPCチャネルについては、引き続き独自に脅威モデリングを行う必要がある。また、エージェントによるDockerの制御を前提としていたワークフローは、アップグレード後に失敗する可能性がある。評価を行わずにsandbox全体を無効化することを、汎用的な解決策としてはならない。

出典

  1. Release v0.58.0
  2. AI Coding Tool Releases — Timeline