目次
GitHubは2026年10月26日、GitHub CopilotのAssisted permissionsを一般提供しました。対象はCopilot 、Copilot app、Visual Studio Codeです。コマンド実行、ファイルシステム上のパスへのアクセス、URLを開く要求をが評価し、明らかに安全と判断したものだけを自動承認します。それ以外は従来どおり利用者の承認が必要です。
承認回数を減らせる一方、AIが危険または意図しない操作を安全と誤判定する可能性は残ります。導入時は、denyルールとを先に整え、Assistedを「権限を与える仕組み」ではなく、既存の境界内で一部のask要求を自動判定する仕組みとして扱ってください。本稿は公式資料を2026年10月28日に確認したニュース解説であり、実環境で攻撃や誤承認を再現した報告ではありません。
スポンサーリンク
Manual・Assisted・Allow allの差を先に決める
GitHubの一般提供告知が示す選択肢は、毎回確認するManual、モデルが安全性を評価するAssisted、広い許可を事前に与えるAllow allです。Assistedでは自動承認できない要求を人へ戻せます。Allow allは個別のモデル審査を行わず、許可された範囲の操作を進めます。
| モード | 実行前の判断 | 向く場面 | 主な注意点 |
|---|---|---|---|
| Manual | 人が承認 | 初回導入、高機密 | 無人処理では承認が必要な要求を拒否する |
| Assisted | 対象要求をモデルが評価し、残りを人へ戻す | 境界を設定済みの対話作業 | 誤承認を前提に隔離が必要 |
| Allow all | 個別審査なし | 使い捨ての隔離環境 | 破壊的操作も進み得る |
選択の基準は、を信頼できるかではなく、誤った操作が起きても被害を限定できるかです。外部のIssue、README、依存パッケージの出力、Webページなどをコンテキストへ入れる作業では、意図しない指示が混ざる可能性があります。Assistedの審査があることを、リポジトリ外への書き込みやへのアクセスを許す理由にしないでください。
denyとサンドボックスはAssistedより先に適用する
GitHub DocsのAssisted permissions解説によると、既存のdenyルールと企業管理の制限は引き続き適用されます。シェル、ファイル読み書き、URLに対するaskルールは、対象ならモデルの承認で満たせます。一方、denyはモデルの判断より強く、サンドボックスを越える要求や、企業ポリシー上の承認が必要な別種のツール呼び出しは自動審査の対象になりません。
したがって設定順序は、保護対象の列挙、deny、サンドボックス、Assistedの順です。ホームディレクトリ全体、鍵、資格情報、ブラウザーのプロファイル、他案件の作業ディレクトリは、作業リポジトリから分離します。ネットワークも、必要なレジストリやだけへ到達できる構成を検討します。AIが安全と評価しても、OSやコンテナ側の境界を越えられない状態を合格条件にします。
ローカルサンドボックスはCopilot CLI自体を隔離するのではなく、CLIが利用者の代わりに動かすコマンドやツールを制限する仕組みです。クラウドサンドボックスはセッション全体を遠隔の隔離環境で実行します。どちらを使う場合も、必要な書き込み先と通信先をテストし、単に「sandbox enabled」と表示されたことだけで確認を終えないでください。
スポンサーリンク
対話セッションでは一時的に切り替えて挙動を見る
Copilot CLIの対話セッションでは、次のコマンドでAssistedへ切り替え、現在の状態を確認できます。最初は検証用リポジトリで実行し、読み取り、リポジトリ内の書き込み、外部URL、拒否対象のパスという順で確認します。
/permissions assisted
/permissions show
新しい対話セッションの既定値にする場合は、利用者設定の~/.copilot/settings.jsonへ次のように保存できます。管理者がpermissions.defaultModeを設定している場合は、管理された既定値が優先されます。利用可能でない、またはポリシーで禁止された既定値を選んだ場合はManualで開始します。
{
"defaultPermissionMode": "assisted"
}
再開したセッションは保存済みのモードを維持しますが、その時点の管理ポリシーには従います。過去に許可したツールや現在地に保存された承認が残っていると、Assistedの効果を正しく比較できません。テスト前には/reset-allowed-toolsで現在のセッションと保存済み承認を整理し、ManualとAssistedで同じ要求を試すと差を追いやすくなります。
CIでは承認不能を正常系として設計する
非対話実行では--assisted-approvalを指定できます。これは-pや--promptを使う処理、端末が接続されないなどが対象です。モデルが自動承認できず、人の承認が必要な要求は拒否され、その理由がCopilotへ返されます。無人実行を必ず完走させる機能ではありません。
copilot -p "失敗したテストを調べ、修正案を作る" --assisted-approval
ジョブ設計では、拒否を権限拡大で解消せず、変更案やログを成果物として残して人へ引き継ぐ分岐を用意します。テスト対象の資格情報は読み取り範囲を狭め、本番用トークンを同じランナーへ置かないようにします。書き込みが必要なら一時や一時ディレクトリへ限定し、公開、、は別の承認へ分けます。
特に--allow-all-tools、--allow-all-paths、--allow-all-urlsとの併用を避けます。公式資料では、Assistedの判定が成功すると--allow-all-toolsより優先される一方、パスとURLの包括許可は変更しません。またAssistedが利用不能またはポリシーで無効でも、別途指定した--allow-all-toolsを自動的に取り消さず、警告を出す場合があります。CIはその警告を失敗として扱い、Assistedが有効でない状態で広い許可へ戻らないことを試験してください。
スポンサーリンク
企業管理ではAllow allとAssistedを別々に制御する
企業管理者は、Allow allを禁止してAssistedを残すことも、Assisted自体を無効にすることもできます。既定モードの配布だけでは、利用者が別モードへ切り替えられる余地が残る場合があります。許可するモード、開発者が変更できる範囲、denyするツール・パス・URLを一つの導入票で確認します。
まず高機密リポジトリはManualを維持し、公開情報だけを扱う検証用リポジトリでAssistedを試します。次に、同じ命令でどの要求が自動承認、手動承認、denyになったかを記録します。モデルは会話に使うモデルと異なる場合があり、BYOKではセッションのモデルが評価に使われます。モデル名だけで一律の挙動を保証せず、組織で実際に選べる構成ごとに確認します。
導入前に4つの失敗経路を試す
- deny対象:資格情報やリポジトリ外の保護パスへ触れる要求が、モデル判定へ進んでも実行されないこと。
- 判断不能:安全性を評価できない要求がManualへ戻り、無人実行では拒否されること。
- 機能停止:Assistedが管理ポリシーで無効、または利用不能なときに警告を検知し、包括許可へしないこと。
- 誘導入力:READMEやIssueに実行を促す文を置いた検証用データを読み込ませても、リポジトリ外の書き込みや不要なURL送信を境界で止められること。
4番目は既知の攻撃を再現する試験ではなく、自組織の境界を確認するための安全な模擬入力です。実在するや外部の第三者URLを使わず、ダミーのパスとローカルの受け口で試します。合格条件は「Copilotが危険と説明した」ではなく、実際の権限制御で操作が成立しないことです。
適用範囲と限界をチームへ共有する
一般提供の告知はCopilot CLI、Copilot app、Visual Studio Codeを対象にします。Copilot appではモード選択からTool permissionsを開いてAssistedを選びます。ただしクラウドセッションではツール権限の操作が利用できず、リモートホストでは使える制御が環境により異なります。端末の違いを無視して同じ手順書を配らないでください。
Assistedは承認ダイアログを減らす運用機能であり、安全の保証ではありません。モデルは誤る可能性があり、許可済みの範囲が広ければ誤承認時の影響も広がります。導入後は、実行したコマンド、変更ファイル、接続先、拒否理由を機密情報を含めない形で追跡し、想定外の自動承認が見つかったらManualへ戻して境界を修正します。
Copilotのや組織ポリシー全体を棚卸しする場合は、既存記事「GitHub CopilotのMCPを棚卸しする」も参照してください。承認画面で利用者が意図した対象と実行対象を結び付ける一般的な考え方は「AIに承認した内容がそのまま実行される?」で整理しています。Assistedの導入では、これらのポリシーと承認設計を置き換えず、その内側で安全と判断できる要求だけを自動化します。
2026年10月28日訂正:比較表のManualに関する無人実行の説明を訂正しました。承認待ちではなく、承認が必要な要求は拒否されます。GitHub公式の非対話実行リファレンスに基づく訂正です。








![[入門]LLMアプリ開発 --基本・LLMのしくみ・MCP・AIセキュリティ](https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/4707/9784297154707_1_29.jpg?_ex=240x240)
