ホームへ戻る

AI 安全與開發工具

Gemini CLI nightly、不信頼な引数とビルドファイルの変更を実行確認の対象に追加し、サンドボックスの認証情報を隔離

Gemini CLI 0.61.0の9月12日版nightlyは、外部コンテンツから派生したコマンド引数を追跡し、ビルド設定が変更された後にユーザーの承認を再度求める。別の一連の修正では、ホームディレクトリ、認証情報、`.env`がサンドボックスにマウントされるのを防ぐが、安定版はまだリリースされていない。

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

GoogleはGemini CLIの`v0.61.0-nightly.20260912`に、2組のセキュリティ強化をマージした。第1の強化では、Google Docs、Webフェッチ、MCPレスポンスなどのコンテンツを`untrusted_context`としてマークし、shell、編集、ファイル書き込みの各操作が、外部コンテンツに誘導された引数を使用していないか検査する。エージェントが`package.json`、`Makefile`、`pyproject.toml`、`BUILD.bazel`などのビルドファイルを変更した場合、その後に`npm run`、`make`、`cargo`などのビルドまたはテストコマンドを実行する際、改めて確認が必要になる。機密性の高いケースでは恒久的な承認も提示されなくなり、非対話環境では確認要求または拒否に切り替える必要がある。

第2の強化が対処するのは、モデルの判断ではなく実行境界だ。Docker、Podman、runsc、LXC、macOS Seatbeltは、ホームディレクトリ、`~/.gemini`、認証情報、`.env`、またはそれらの親ディレクトリをサンドボックス内にマウントすることを拒否するようになった。パス検査ではシンボリックリンクを解決し、対象がまだ存在しない場合でも親階層をたどって確認する。コンテナに渡される設定のコピーからは、hooks、`callCommand`、`discoveryCommand`、APIキーが削除され、チャット履歴、token、一時状態は隔離されたruntimeディレクトリに保存される。

これらの変更により、防御線は「モデルが悪意あるテキストの指示に従わないようにする」という段階から、ツールポリシーとファイルシステムの層へと進んだ。これは、未知のリポジトリを読み込んだり、issueを自動処理したりするエージェントにとって特に重要だ。ただし、このバージョンは依然としてプレリリースのnightlyであり、対応するCVEや独立した攻撃再現はない。公式ドキュメントでも、通常モードではサンドボックスが常にデフォルトで有効になるわけではないと説明されている。エンジニアリングチームは安定版を待ち、実際のバージョンに2つのマージ済みcommitが含まれていることを確認したうえで、悪意あるビルドファイル、シンボリックリンク、カスタムMCPファイルツールを使った回帰テストを構築すべきだ。

出典

  1. Gemini CLI v0.61.0 nightly release
  2. Sandboxing in Gemini CLI