Skip to main content

ローカル サンドボックス設定の構成

/sandboxの Copilot CLI (コパイロット CLI) スラッシュ コマンドを使用して、ローカル サンドボックスでファイルシステム アクセス、ネットワーク接続、およびシステム機能を制限する方法を制御します。

メモ

GitHub Copilotのローカル サンドボックスはパブリック プレビューにあり、変更される可能性があります。

重要

Windowsでのローカル サンドボックスには、Windows Insider ビルドが必要です。

ローカル サンドボックスの構成について

/sandboxスラッシュ コマンドを使用すると、追加のパスの付与、ネットワーク アクセスの調整、サンドボックスのオンとオフを切り替えることができます。

Copilotのクラウドおよびローカル サンドボックスの概念の概要については、「クラウドサンドボックスとローカルサンドボックスについて GitHub Copilot」を参照してください。

サンドボックス構成を開く

  1. Copilot CLI (コパイロット CLI) セッションを開始します。

  2. /sandboxスラッシュ コマンドを入力します。

    これにより、対話型の構成インターフェイスが開き、3 つのタブ ( [全般]、[ ファイルシステム]、[ ネットワーク]) が表示されます。 タブを使用してタブを切り替えます。 Esc キーを押して変更を保存し、構成を閉じます。

全般設定の構成

[ 全般 ] タブでは、最上位レベルのサンドボックスの動作を制御します。

SettingDescription
サンドボックスを有効にするサンドボックス内でシェル コマンドを実行します。
/sandbox enable/sandbox disableで切り替えることもできます。
サンドボックスのバイパスを許可する承認を受けて、個々のコマンドをサンドボックスの外部で実行するようにモデルに要求します。 既定ではオンになっています。 詳細については、「 サンドボックス バイパスの許可」を参照してください。
サンドボックス MCP サーバーサンドボックス内で MCP サーバーを実行します。 既定ではオンになっています。
サンドボックス LSP サーバーサンドボックス内で言語サーバー (LSP サーバー) を実行します。 既定ではオンになっています。
Git を認証する認証された HTTPS gitが資格情報ヘルパーなしでサンドボックス内で動作するように、GitHub トークンを挿入します。 既定ではオンになっています。
gh を認証する
GH_TOKENエクスポートして、GitHub CLI (注: copilotではなくgh CLI) がサンドボックス内で動作するように、サンドボックスがブロックする格納された資格情報 (構成ディレクトリまたは OS キーチェーン) に到達しないようにします。 既定ではオンになっています。
キーチェーン アクセスを許可するmacOS でのみ使用できます。 たとえば、 gitgh 資格情報ヘルパーによって使用される資格情報にアクセスするために、サンドボックス コマンドで macOS キーチェーンを使用できるようにします。 既定ではオフになっています。

サンドボックスのバイパスを許可する

[ サンドボックスバイパスを許可する ] 設定では、サンドボックス内でコマンド Copilot 正常に実行できない場合の動作を制御します。

  • オン (既定値): サンドボックス内でコマンドが失敗した場合は、 Copilot がサンドボックスの外部でコマンドを実行することを許可するように求められます。 このプロンプトへの応答は、この特定のコマンドの実行試行に適用されます。 必要に応じて、セッションの残りの部分でサンドボックスを無効にするか、代わりに Copilot を操作するための指示を入力することもできます。
  • オフ: Copilot サンドボックスでコマンドを正常に実行できない場合は、タスクの作業を停止し、エラーを報告します。

ファイルシステム設定の構成

[ファイルシステム] タブでは、サンドボックス プロセスがアクセスできるディレクトリとファイルを制御します。

既定では、 Copilot には、現在の作業ディレクトリの下にあるすべてのユーザーに対する読み取り/書き込みアクセス許可が付与されます。 Git リポジトリにいる場合は、 Copilot も付与されます。

  • リポジトリの .git ディレクトリ内および下にあるすべてのユーザーに対する読み取り/書き込みアクセス許可。
  • Windowsと macOS では、現在の作業ディレクトリの上にあるリポジトリ内の他のすべてに対する読み取りアクセス許可。
  • Linux では、リポジトリ内の現在の作業ディレクトリの上にあるファイルに対する読み取り/書き込みアクセス許可。
SettingDescription
作業ディレクトリを含める既定ではオンになっています。 現在の作業ディレクトリ (および外側のリポジトリの .git ディレクトリがある場合) は、読み取り/書き込みパスの一覧に自動的に追加されます。 作業ディレクトリに読み取り/書き込みアクセスを自動的に許可しない場合は、このオプションをオフにしてから、特定のパスへのアクセスを手動で許可します。

重要

[作業ディレクトリを含める] をオフにすると、Git リポジトリの .git ディレクトリ内および下にあるすべてのディレクトリへのアクセスが削除されます。 その結果、このディレクトリへのアクセスを手動で追加しない限り、 statusaddcommitdiff などの Git 操作は失敗します。

ファイルシステムパスルールの追加

サンドボックスに追加するパスを指定できます。 これにより、作業ディレクトリの外部にあるディレクトリとファイルに対する読み取り専用または読み取り/書き込みアクセス権を付与できます。 アクセスを拒否して、サンドボックスからディレクトリとファイルを除外することもできます。

  1. [ ファイルシステム ] タブで 、A キーを押して新しいパス ルールを追加します。

  2. ファイルまたはディレクトリのパスを入力します。 絶対パスを使用します (たとえば、macOS または Linux の/Users/octocat/projects/app、WindowsでのC:\Users\octocat\projects\appなど)。 次に、Enter キーを押します。

    メモ

    ディレクトリの追加には、サブツリー全体が含まれます。 ワイルドカードはサポートされていません。

  3. キーボードの左方向キーと右方向キーを使用して、アクセス許可オプション ( 読み取り/書き込み読み取り専用拒否) 間を移動します。 次に 、Enter キーを押してオプションを選択します。

ファイルシステム パスを追加したら、それらを編集または削除できます。

  1. 上方向キーと下方向キーを使用してパスを選択します。
  2. Enter キーを押してパスを編集するか、D キーを押して削除します。

ネットワーク設定の構成

[ ネットワーク ] タブでは、セキュリティで保護されたプロセスがネットワーク接続を行うことができるかどうかを制御します。

SettingDescription
送信接続を許可する既定ではオンになっています。 オンにすると、サンドボックス プロセスはインターネット上の外部ホストに到達できます。 サンドボックスをネットワークから完全に分離するには、これをオフにします。
ローカル ネットワークを許可する既定ではオンになっています。 オンにすると、サンドボックス プロセスはローカル ネットワーク上のホスト (たとえば、LAN 上の localhost やその他のデバイス) に到達できます。 サンドボックスがローカルまたはプライベート ネットワーク サービスに到達するのをブロックするには、これをオフにします。

サンドボックスをすばやく有効または無効にする

完全な構成インターフェイスを開かずに、サンドボックスのオンとオフを切り替えることができます。

  • 有効:/sandbox enable セッションに「Copilot CLI (コパイロット CLI)」と入力します。
  • 無効: /sandbox disable セッションに「Copilot CLI (コパイロット CLI)」と入力します。

これらのコマンドは、[全般] タブの [サンドボックスの有効化] 設定を変更します。

現在のサンドボックス設定の表示

設定は、settings.json構成ディレクトリのsandbox キーの下のCopilot CLI (コパイロット CLI)に格納されます。 構成ディレクトリの詳細については、 GitHub Copilot CLI の構成ディレクトリ を参照してください。

Copilot CLI (コパイロット CLI) セッション内から現在のサンドボックス設定を表示できます。

  1. /settings」と入力します。

/ キーを押して設定を検索します。

  1. sandboxを入力して、設定の一覧をフィルター処理します。

詳細については、次を参照してください。