エンジニアの思い立ったが吉日

このブログでは、「あ、これ面白い!」「明日から仕事で使えそう!」と感じたIT関連のニュースやサービスを、難しい言葉を使わずに分かりやすく紹介しています。ITに詳しくない方にも楽しんでもらえるような情報を発信していくので、ぜひ「継続的な情報収集」の場としてご活用ください。

Google Antigravity「Terminal Sandboxing」!エージェントの暴走を防ぐ設定と“動かない”時の対処法

Google Antigravity(アンチグラビティ)」、使いこなしていますか? 2025年11月のリリース以来、Gemini 3を搭載したこのエージェント主導型IDE(Agent-First IDEは、私たちの開発スタイルを劇的に変えました。

しかし、最近のアップデートで追加された「Terminal Sandboxing(ターミナルサンドボックス)」機能について、現場のエンジニアからこんな悲鳴が聞こえてきます。

  • 「セキュリティをオンにしたら、npm installすら通らなくなった」
  • 「エージェントがファイル作成を拒否する」
  • 「設定項目が多すぎて、どこを触ればいいかわからない」

本記事では、Google AntigravityのTerminal Sandboxingの仕組みから、開発効率を落とさずに安全性を確保する「推奨設定」までを徹底解説します。 公式ドキュメントの表面的な情報だけでなく、コミュニティで報告されている「罠」の回避方法も網羅しました。

Google Antigravityと「Terminal Sandboxing」の正体

まず、なぜこの機能がこれほど重要視されているのか、技術的な背景を整理しましょう。

エージェントの「暴走」を防ぐ最後の砦

Antigravityの最大の特徴は、AIエージェントが自律的にターミナルを操作し、コマンドを実行することです。しかし、これは諸刃の剣です。もしAIが幻覚(ハルシネーション)を起こし、誤って rm -rf / や、本番環境へのデプロイコマンドを実行したらどうなるでしょうか?

Terminal Sandboxingは、OSのカーネルレベルでAIの実行権限を隔離(サンドボックス化)する機能です。

  • macOS: Seatbelt (sandbox-exec) を利用
  • Linux: ネームスペースとcgroupsを利用(予定含む)

これにより、AIが実行するコマンドは「隔離された空間」に閉じ込められ、ホストOSの重要なシステムファイルや、許可されていないネットワーク通信へのアクセスが物理的に遮断されます。

なぜ今、注目されているのか?

2026年1月のアップデートで、このサンドボックス機能が「Secure Mode(セキュアモード)」の一部として強化されました。これにより、企業導入時のセキュリティ要件を満たしやすくなった反面、個人の開発者にとっては「今まで動いていたタスクが動かない」という摩擦を生んでいます。


3つの動作モードと「Secure Mode」の違い

Antigravityのサンドボックス設定は少し複雑です。開発シーンに合わせて適切なモードを選ばないと、エージェントはただの「動かないAI」になってしまいます。

1. Standard Mode(サンドボックス有効・推奨)

基本となるモードです。AIはサンドボックス内でコマンドを実行します。

2. Secure Mode(厳格なセキュリティ)

機密データを扱う場合や、未知のコードベースを解析させる場合に使用します。

  • 強制制限: サンドボックスが強制ONになり、ネットワークアクセスは自動的に遮断されます。
  • 確認フロー: すべてのコマンド実行前に、人間による「承認(Request Review)」が必須になります。
  • ユースケース: 金融系システムの開発、外部からダウンロードした怪しいリポジトリの解析。

3. Turbo / Unrestricted(サンドボックス無効・危険)

従来の「Copilot」的な挙動に近いモードです。

  • 制限なし: AIはあなたのPCの全権限を持ちます。
  • 警告: Antigravityはこの設定にすると「⚠️ Warning: "Always Proceed" is enabled without sandbox protection」という強い警告を出します。
  • ユースケース: システム設定の変更や、ワークスペース外のファイルを操作させる特別な自動化タスク。

【実践トラブルシュート】「動かない」原因はこれだ!

検索上位やReddit(r/google_antigravity)で最も報告が多いトラブルと、その解決策をまとめました。

罠1:「npm install / pip install が失敗する」

症状: サンドボックスを有効にすると、パッケージのインストールコマンドがタイムアウトするか、接続エラーで落ちる。

原因: SandboxingをONにすると、デフォルトでネットワークアクセスがBlockされる仕様になっている場合があります(バージョンによります)。

解決策: 設定画面(Antigravity User Settings)を開き、以下のチェックを確認してください。

  1. Enable Terminal SandboxingON
  2. Sandbox Network AccessAllow (ここがOFFになっていることが多い!)

サンドボックス化しつつ、外部への通信だけ穴あけすることで、安全にライブラリをインストールできます。

罠2:「Lintエラーの自動修正をしてくれない」

症状: 今までは勝手に直してくれていたLintエラーを、エージェントが無視する、または「権限がありません」と言う。

原因: Linterがワークスペース外の設定ファイル(例: ホームディレクトリのグローバル設定)を読みに行こうとして、サンドボックスに阻まれている可能性があります。

解決策: プロジェクトルートにローカルな設定ファイル(.eslintrc.prettierrc)を作成し、プロジェクト内で完結するように構成を変更してください。これはIaC(Infrastructure as Code)の観点からも推奨されるベストプラクティスです。


類似ツールとのセキュリティ比較

現在の開発環境における「安全性」と「自律性」のバランスを比較表にしました。

機能 Google Antigravity Cursor (Composer) GitHub Copilot
コード実行主体 AIエージェント (Gemini 3) ユーザー (一部AI) ユーザー
実行環境 ローカルサンドボックス (Kernel隔離) ホストOS直接実行 ホストOS直接実行
ファイルアクセス ワークスペース内に限定可能 全ファイルアクセス可能 全ファイルアクセス可能
安全性 高 (隔離環境) 中 (ユーザーの注意に依存) 中 (ユーザーの注意に依存)
導入ハードル 高 (設定が必要) 低 (すぐ使える) 低 (プラグイン入れるだけ)

Antigravityの優位性: Cursorなどは「AIが提案したコマンドをユーザーがクリックして実行」するため、最終責任は人間にあります。一方、Antigravityは「AIが自律的に実行する」ことを前提に設計されているため、人間がミスをする前提で、システム側で安全装置(サンドボックス)が用意されている点が決定的に異なります。


読者が今すぐやるべき「推奨設定」

記事を読み終えたあなたが、明日から安全かつ快適にAntigravityを使うための設定手順です。

ステップ1:User Settingsの確認

Cmd + , (macOS) または Ctrl + , (Windows) で設定を開き、検索バーに「Sandbox」と入力します。

ステップ2:以下の通りに設定する

これは「利便性」と「安全性」のバランスが最も良い設定です。

  • Terminal Sandboxing: Enabled
  • Sandbox Network Access: Allowed (開発中はON、怪しいコード実行時はOFF)
  • Terminal Command Auto Execution: Auto (AIに判断させる)
  • Always Allow は絶対に避けてください。

ステップ3:.gitignore の整備

Antigravityのエージェントは .gitignore を尊重します。誤って機密ファイル(.envなど)を読み込ませないよう、.gitignore が正しく設定されているか再確認しましょう。


まとめ:AIを「優秀な部下」にするために

Google AntigravityのTerminal Sandboxingは、単なる機能制限ではありません。それは、AIエージェントという「強力だが時に危なっかしい部下」に、安全に仕事ができる個室(権限)を与える行為です。

最初は設定に戸惑うかもしれませんが、一度サンドボックス環境を整えてしまえば、「裏で何を実行されるかわからない」という不安から解放され、AIにコーディングを丸投げできる範囲が飛躍的に広がります。

さあ、今すぐ設定画面を開いて、SandboxモードをONにしましょう。それが、真のAIネイティブ開発への第一歩です。

当サイトは、アフィリエイト広告を使用しています。