GitHub Copilotアプリに「ローカルサンドボックス」機能が追加、端末内のファイルや認証情報を保護する制限環境を導入
要点
-
GitHubは2026年9月23日、GitHub Copilot app向けに「ローカルサンドボックス(Local sandboxing)」機能のパブリックプレビューを開始した。
-
マシン内のファイルシステム、ネットワーク通信、認証情報へのアクセスを制限し、意図しないコマンド実行による影響を抑える。
-
プロジェクトごとに読み書きフォルダの指定や外部接続、GitおよびGitHub CLIの認証情報利用を細かく設定できる。
-
要求された保護ポリシーをOSが適用できない場合はエラーとして処理を停止し、保護なしでの実行を防ぐ安全設計となっている。
-
本機能は初期状態でオフとなっており、アプリ設定での全体有効化のほか、
/sandbox onコマンドによるセッション単位での適用に対応する。 -
GitHubは2026年9月23日(現地時間)、開発支援アプリケーション「GitHub Copilot app」において、ローカル環境の安全性を高める新機能「ローカルサンドボックス(Local sandboxing)」のパブリックプレビューを開始したと発表した。この機能は、ローカルリポジトリや作業ツリーでのセッション中に実行されるコマンドの権限を制御し、開発者のマシンに存在する重要データへのアクセスを制限するものである。AIアシスタントを通じたコマンド実行に伴う予期せぬトラブルやリスクを最小限に抑える狙いがある。
コマンド実行時の潜在的リスクを抑える隔離環境
AIを活用した開発ツールでは、ローカル環境での作業効率を高める一方で、生成されたコマンドが意図せず重要なファイルを変更したり、不要な外部通信を発生させたりするリスクが懸念される。今回発表されたローカルサンドボックス(プログラムの動作領域を隔離して外部への影響を制限するセキュリティ技術)は、そうした潜在的な影響を軽減するために設計された。
ユーザーのPC上で動作するGitHub Copilot appにおいて、ローカルリポジトリや作業領域(ワーキングツリー)でセッションを実行する際、マシン内のリソースへのアクセス権限を厳格に制限することが可能となる。制限対象となるのは、ファイルシステム、ネットワークリソース、各種クレデンシャル(パスワードやアクセストークンなどの認証情報)の3領域である。
3つの領域で細かなアクセス権限を設定可能
ローカルサンドボックスのアクセス許可ポリシーは、プロジェクト単位で個別にカスタマイズできるようになっている。設定可能な領域と具体的な項目は以下の通りである。
第一に「ファイルシステム」の制御では、プロジェクトの作業ディレクトリ以外の領域に対するアクセス権を細かく指定できる。具体的には、追加で読み書きを許可するフォルダ、追加で読み取りのみを許可するフォルダ、そして明示的にアクセスを遮断する拒否フォルダのリストをそれぞれ定義できる。
第二に「ネットワーク」の制御では、外部サーバーへの通信を管理する。端末側から外部へ向けて発信されるアウトバウンドのインターネット通信や、社内LANなどのローカルネットワークへの接続可否を個別に指定することが可能である。
第三に「クレデンシャル」の制御では、認証が必要な操作に用いる重要な秘密情報を保護する。HTTPS経由で認証付きGit操作を行うためのGitクレデンシャルや、コマンドラインからGitHubの操作を行う公式ツール「GitHub CLI」の認証情報に対するアクセス権限を管理できる。
安全性を最優先したポリシー適用とエラー処理
これらの設定は、サンドボックス化されたセッションが開始される際にアプリ側から要求されるセキュリティポリシーとして機能する。
企業組織などの管理下にある環境では、組織全体のエンタープライズ管理設定が優先して適用される。そのため、個別のプロジェクト設定よりも、組織ポリシーによってさらに制限が強化された実効ポリシーが適用される場合があるという。
また、安全性を担保するための仕組みとして、フェイルセーフな設計が採用されている。利用しているオペレーティングシステム(OS)が要求されたセキュリティポリシーを強制・実行できない環境である場合、サンドボックスを解除してそのまま実行することはなく、シェルがエラーを返して安全に処理を停止する仕様となっている。
利用開始手順と適用範囲における注意点
ローカルサンドボックス機能は、既存ワークフローへの影響を考慮し、デフォルトでは無効(オフ)の状態となっている。
利用を開始するには、アプリの設定画面を開いて対象のプロジェクトを選択し、「Sandbox」項目内にある「Sandbox new sessions」を有効にする。これにより、今後そのプロジェクトで新しく開始されるセッションに対してサンドボックスが適用される。ファイルシステムやネットワーク、認証情報の設定変更についても、新規セッションの開始時または既存セッションの再起動時に反映される。
なお、すでに動作している特定のアクティブセッションに対してのみ一時的にサンドボックスを有効化したい場合は、セッション内で /sandbox on コマンドを入力することで対応できる。この操作を行っても、プロジェクト全体のデフォルト設定が変更されることはない。
本機能の適用範囲にはいくつか注意点がある。ローカルサンドボックスはローカルマシン上のセッションを対象とした機能であり、クラウド上で動作するサンドボックスセッションや、リモートホスト上で実行されるセッションには適用されない。さらに、GitHub Copilot appとコマンドラインツールの「Copilot CLI」におけるサンドボックス設定はそれぞれ個別に管理される仕様となっている。
本機能は現在パブリックプレビュー段階として提供されており、今後の開発に伴って仕様や挙動が変更される可能性があると説明されている。