<style> .sb-hero{padding:clamp(24px,5vw,46px);border-radius:24px;background:linear-gradient(130deg,#0f172a,#164e63 55%,#0f766e);color:#fff}.sb-hero h2{color:#fff}.sb-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.sb-card{padding:18px;border:1px solid #99f6e4;border-radius:16px;background:#f0fdfa}.sb-card b{display:block;font-size:1.15rem;color:#115e59}.sb-table{overflow-x:auto}.sb-table table{min-width:650px;width:100%;border-collapse:collapse}.sb-table th,.sb-table td{padding:11px;border:1px solid #cbd5e1;text-align:left;vertical-align:top}.sb-table th{background:#ccfbf1}.sb-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}.sb-step{padding:16px;border-radius:15px;border:1px solid #99f6e4;background:#f0fdfa}.sb-step b{display:block;color:#0f766e}.sb-note{padding:18px;border-left:5px solid #f59e0b;border-radius:12px;background:#fffbeb;margin:20px 0}@media(max-width:720px){.sb-grid,.sb-flow{grid-template-columns:1fr}} </style>

SECURITY / 2026年9月23日発表

AIにコマンドを任せる前に、触れてよい範囲を決める

GitHub Copilotアプリで、プロジェクトごとのローカルサンドボックス設定が公開プレビューになりました。便利な隔離機能ですが、初期設定と適用範囲を誤解すると期待した保護になりません。

ファイル追加の読み書き・読み取り専用・拒否を設定
ネットワーク外部通信とローカルネットワークを設定
認証情報GitとGitHub CLIの資格情報を設定
初期状態オフ。新規セッションごとに有効化を確認

3行要約

  • GitHubは2026年9月23日、Copilotアプリのローカルリポジトリ・ワークツリーセッション向けに、プロジェクト単位のサンドボックス設定を発表しました。
  • ファイル、ネットワーク、Git・GitHub CLIの認証情報へのアクセスを制限でき、要求したポリシーをOSが強制できない場合は隔離なしで実行せずエラーになります。
  • ただし初期状態では無効です。新規セッションへの既定設定、稼働中セッションへの/sandbox on、クラウドやリモートには適用されない点を分けて理解してください。

背景:AIエージェントの実行権限をどう扱うか

開発エージェントはコードを読むだけでなく、シェルコマンドを実行し、ファイルを書き換え、ネットワークへ接続します。意図しないコマンドが動いた場合、端末上の機密ファイルや社内ネットワークに影響が及ぶ可能性があります。サンドボックスは、この実行環境の権限をあらかじめ狭める仕組みです。完全な安全性の保証ではありませんが、被害範囲を抑えるための一層になります。

何が新しいのか

今回の発表は、GitHub Copilotアプリにおけるプロジェクト単位の設定です。GitHubは2026年6月にもCopilotのローカル・クラウド隔離を公開プレビューとして発表していましたが、9月23日の更新ではアプリのプロジェクト設定から新規ローカルセッションの既定を指定し、権限を細かく調整する手順が明示されました。これは新しい脆弱性の修正発表ではありません。

境界指定できること運用時の確認点
ファイル追加の読み書き、読み取り専用、拒否フォルダー秘密鍵・個人情報・別案件のディレクトリを誤って許可していないか
ネットワーク外向きインターネットとローカルネットワーク依存取得に外部通信が必要か、社内サービスへ到達させる必要があるか
認証情報認証付きHTTPS Git操作とGitHub CLI認証エージェントにpushやGitHub操作を任せる必要があるか
企業ポリシー管理者による追加制約プロジェクト設定より実際の権限が狭い場合がある

GitHubの説明では、指定ポリシーをOSが強制できない場合、サンドボックス化したシェルはエラーになります。これは「保護に失敗したまま実行を続ける」動作を避ける設計です。一方、サンドボックスは仮想マシンそのものではありません。隔離の強度と対象ツールは、利用環境で確認が必要です。

導入手順:まず小さなプロジェクトで試す

1 設定Copilotアプリの設定から対象プロジェクトを選び、「Sandbox new sessions」をオンにする。
2 権限不要なフォルダー、ネットワーク、認証情報へのアクセスを絞る。
3 検証新しいローカルセッションを開始し、必要なビルド・テストが動くか確認する。

すでに動いているローカルセッションには、新規セッション用の設定変更は自動反映されません。稼働中のセッションだけを有効化する場合は/sandbox onを入力します。ファイル・ネットワーク・認証情報の設定変更は、新規セッションまたは既存セッションの再起動後に適用されます。アプリとCopilot CLIの設定は別です。CLIの/sandbox enableと混同しないでください。

開発チーム・企業への影響

実務では「エージェントに何をしてよいか」をコードレビューの前段で定義できます。例えば、調査だけのタスクではGit認証を渡さず、ローカルネットワークも閉じる運用が考えられます。これは編集部の運用提案であり、GitHubがすべての環境で推奨する標準値ではありません。依存パッケージ取得や社内テスト環境への接続が必要なプロジェクトでは、必要最小限の例外を設け、テストで検証します。

リスクと限界

「オンにしたつもり」に注意。初期状態はオフで、プロジェクトの「Sandbox new sessions」は既存セッションに効きません。クラウドサンドボックスやリモートホスト上のセッションにも、このローカル設定は適用されません。
  • 公開プレビューのため、仕様は変わる可能性があります。
  • サンドボックスだけで、誤ったコード変更・機密情報の入力・権限を持つ人間による承認ミスは防げません。差分レビューと権限管理を併用してください。
  • 企業管理設定がある場合、画面上で要求した設定と実効ポリシーが異なる可能性があります。

今後注目すべき点

正式提供までに、OS別の対応状況、管理者ポリシーと個人設定の優先順位、対象ツールの範囲がどう整理されるかを追う必要があります。チーム導入時は「設定した値」だけでなく、実際のセッションで保護が有効かを確認する手順を残すとよいでしょう。

最終確認日:2026年9月25日

参照元(一次情報)

Previous Post Next Post