本文へ移動
技術を、自社の仕事に。
判断と実行を助けるメディア

記事を検索

Copilotのコンテンツ除外がエージェントに対応 残る限界

目次 · 6項目

GitHub Copilotには、指定したファイルをCopilotに読ませない「コンテンツ除外(content exclusion)」という設定があります。鍵や顧客データの入ったファイルを除外している組織にとって、注意点の1つは、公式ドキュメントがVS Codeのエージェントを対象外としていたことでした。

GitHubの公式ドキュメントが2026年11月3日と4日に更新され、VS Codeのエージェントも対応済みの表記に変わりました。本記事では、ドキュメントのリポジトリ(github/docs)の変更履歴、公開中のドキュメント、GitHub Changelogを2026年11月6日に確認した内容をもとに、何が変わったのかと、同じ文書に書き加えられた限界を整理します。

対応表の何が変わったのか

コンテンツ除外の説明ページには、ツールごとの対応表があります。2026年11月3日のコミット(542fcf7「Update Copilot content exclusion agent limitations」)で、VS Codeの行が次のように変わりました。

  • 変更前: チャットは対応、Edit(編集)とAgent(エージェント)は非対応
  • 変更後: 「チャットとエージェント」がまとめて対応

あわせて、「Copilot CLIとIDEのエージェントモードはコンテンツ除外に対応していない」という注記と、「VS Codeとほかのエディターでは、EditとAgentのモードに対応していない」という注記が削除されています。

Copilot CLIとGitHub Copilotアプリについては、この文書の更新より前の2026年9月2日に、GitHub ChangelogがCopilot Business / Enterprise向けの一般提供を告知していました。一方、VS Codeのエージェントへの対応を個別に告知した項目は、2026年8月〜11月6日のChangelogを探した範囲では見つかりませんでした。

翌11月4日のコミット(b56582e)では、GitHubのWebサイトとGitHub Mobileの行が「Copilot in the cloud」(Webサイト、Mobile、クラウドのサンドボックスで始めたチャットとエージェントのセッション)と「Copilot code review」の2行にまとめられ、Webサイトなどでのコンテンツ除外を「パブリックプレビュー」としていた注記もなくなりました。

対応表の前文は「Copilot Business と Copilot Enterprise のプランで提供される対応」で、個人向けのプランは挙げられていません。また、更新後の対応表でも、XcodeとEclipseのチャットとエージェントの欄は非対応のままです。

GitHub Copilotのコンテンツ除外の対応範囲の図。左は変更前で、VS Codeはチャットのみ対応、エージェントは非対応。右は変更後で、VS Codeのチャットとエージェントがどちらも対応。下に、コマンドとスクリプトの中のファイルパスは実行前に確認されるが、間接的なアクセスは検出できない場合がある、ファイルシステムのセキュリティ境界ではない、と添える

エージェントに対して何をするのか

11月3日のコミットでは、エージェントに対する動きを説明する文が新しく加わりました。原文の要旨は次のとおりです。

IDEのエージェント、Copilot CLI、GitHub Copilotアプリでエージェントを使うとき、コンテンツ除外は、Copilotのツールを通じて除外ファイルにアクセスすることを防ぎ、コマンドやスクリプトの中で特定できるファイルパスを実行前に確認する。ただし、間接的なファイルアクセスは検出できない場合がある。コンテンツ除外は、OSの権限やほかのアクセス制御の代わりにはならない。

つまり、文書が挙げているのは次の2つです。

  1. エージェントがCopilotのツールを通じて除外ファイルにアクセスすることを防ぐ
  2. 実行しようとするコマンドやスクリプトの中で、特定できるファイルパスを実行前に確認する

一方で、文書は間接的なファイルアクセスを検出できない場合があるとしています。たとえばパスを組み立てて読む処理や、別のプログラムに読ませる処理のように、コマンドの文字列からファイルを特定できない読み方は、すり抜ける場合があると考えられます(例は編集部の解釈です)。

同じ文書に書かれた、ほかの限界

11月4日のコミットでは、限界を説明する文の冒頭も強い表現に書き換えられました。現在の文書に書かれた限界は次のとおりです。

  • セキュリティ境界ではない。 「コンテンツ除外はファイルシステムのセキュリティ境界ではなく、あらゆる形のファイルアクセスを防ぐことは保証できない」
  • GitHubの管理するツールだけ。 GitHubが管理するツールのためのガードレールであり、他社のMCPサーバーやクライアントが従うとは限らない
  • IDEが渡す情報は防げない場合がある。 型の情報やホバーで表示される定義、ビルドの設定のように、IDEが間接的に渡す情報をCopilotが使う可能性がある

このほか、シンボリックリンクとリモートのファイルシステム上のリポジトリには、現時点で適用されないと書かれています。設定を変えてから、すでに設定を読み込んだIDEに反映されるまで、最大30分かかることも記載されています。

鍵や顧客データを守るために、別に要る対策(編集部の提案)

ここからは、ドキュメントの記述をもとにした編集部の提案です。実際のエージェントで除外の効き方を試したわけではありません。

除外の設定は「うっかり」を減らす仕組みと位置づける。 エージェントがリポジトリの設定ファイルを読んで要約に含める、といった事故を減らす効果は期待できます。ただし文書自身がセキュリティ境界ではないと書いている以上、漏れては困るものを守る主な手段にはしません。

鍵はリポジトリと作業ディレクトリに置かない。 .env に本番の鍵を書いて除外で隠すのではなく、シークレット管理のサービスや環境ごとの秘密情報の仕組みに移します。開発者の端末に残す場合も、エージェントを動かすディレクトリの外に置き、OSの権限で読める人を絞ります。ソースコードに残った鍵の洗い出し方は、ソースコードの秘密情報の監査の記事で扱いました。

顧客データの入った作業は、エージェントを動かす環境から分ける。 本番データのダンプを開発用のリポジトリに置かない、エージェントにはテスト用のデータだけを渡す、といった分離のほうが確実です。

他社のMCPサーバーを使う場合は、除外が効かない前提で選ぶ。 文書は、他社のMCPサーバーが除外に従うとは限らないとしています。接続するサーバーと、そのサーバーに読ませる範囲を、組織として決めておきます。

使っているツールを対応表と突き合わせる。 XcodeやEclipseのチャットを使う人がいる場合、その経路には除外が効かないものとして扱います。

設定の変更には時間差がある。 除外を追加しても、すでに開いているIDEには最大30分反映されないことがあります。急いで止めたい場合は、各自のIDEで設定を再読み込みしてもらう手順を案内に含めておきます。文書によると、VS Codeはコマンドパレットの「Developer: Reload Window」、JetBrains IDEとVisual Studioはアプリの再起動です。

Copilotの利用料金や組織での管理については、使用量に応じた課金の記事も参考にしてください。

確認した範囲と、まだ分からないこと

2026年11月6日に、公開中の「Content exclusion for GitHub Copilot」「Excluding content from GitHub Copilot」のページ、GitHubのドキュメントのリポジトリ(github/docs)のコミット 542fcf7(2026年11月3日)と b56582e(11月4日)の差分、GitHub Changelogの2026年9月2日の告知と8月〜11月6日の一覧を確認しました(資料調査)。VS Codeのエージェントへの対応がいつ始まったかと、どのバージョンの拡張機能から対応したかは確認できていません。ドキュメントの更新日は、機能の提供開始日と一致しない場合があります。エージェントで除外ファイルへのアクセスが止まるかの実機の確認もしていません。

AIコーディングエージェントを社内の開発に入れるときの、鍵の置き場所や権限の設計は、グリームハブの開発・AI・自動化のご相談で承っています。開発の体制や扱うデータによって進め方が変わるため、お問い合わせからご相談ください。

参考資料

この記事を共有XFacebook
鈴木 翔

技術の可能性に魅了され、学生時代からプログラミングとデジタルアートの分野に深い関心を持つ

この記事のテーマを、自社の次の一歩へ

自社での進め方を、具体的に。

つくりたい仕組み、既存システム、運用の条件を整理し、実現に向けた次の一歩を考えます。

  • 実現したい仕組み
  • 既存環境との接続
  • 運用の条件
開発・運用の構想を相談する

構想段階からご相談いただけます。この記事の情報を相談フォームに引き継ぎます。

最新記事をメールで受け取る