ホームへ戻る

AI 程式開發與安全

GitHub Copilot、コンテンツ除外ポリシーをAppとCLIに拡大。ただしシンボリックリンクや間接的なセマンティクスは依然として境界を越える可能性

Copilot BusinessおよびEnterpriseの管理者が設定した除外ルールにより、Copilot AppとCLIが指定ファイルをモデルのコンテキストへ直接追加することを防げるようになった。ただし、この仕組みは完全なデータ漏えい防止策でも実行サンドボックスでもなく、GitHubはシンボリックリンク、リモートファイルシステム、IDE経由の間接的なセマンティクスなどの抜け穴を明示している。

Doolittle Tokyo Raiders Association · Public domain · Image source
zh-Hant

GitHubは9月2日、Copilot AppとCopilot CLIが、Enterprise、Organization、Repositoryレベルのコンテンツ除外ポリシーを正式にサポートしたと発表した。管理者はRepositoryとパスに基づいて、モデルによる読み取りを禁止するファイルを指定できる。BusinessまたはEnterpriseライセンスを利用する開発者の場合、除外対象のコンテンツは今後、これら2つのエージェントインターフェースからプロンプトコンテキストへ直接取り込まれない。これにより、エージェントがターミナルやスタンドアロンAppからワークスペース全体を探索する際に存在していたガバナンス上の抜け穴が一つ埋まった。

このポリシーは、クライアント側の設定だけで完結するものではない。GitHubのドキュメントによると、クライアントは適用対象のルールを取得するため、現在のRepository URLを送信する。GitHubは、これらのURLはログに記録されないとしている。Organizationは、バージョン管理されたREST APIを通じてパスルールを読み書きすることもでき、設定をInfrastructure as Codeや監査プロセスへ組み込むのに適している。ただし、このAPIは依然としてpublic previewであり、コメントと重複キーには対応していない。APIで更新すると既存のコメントが削除される場合があり、重複キーについては最後の項目だけが保持される。そのため、そのまま双方向同期すると、設定が通知なく失われる可能性がある。

さらに重要なのは、「除外」があくまでコンテキストフィルターにすぎない点だ。GitHubは、IDEが型情報、シンボルのホバー定義、ビルド設定などを介し、除外ファイルに由来するセマンティクスを間接的にCopilotへ提供する可能性があると明記している。また、現時点ではルールがシンボリックリンクとリモートファイルシステムに適用されない。一部エディターのEditモードやAgentモードも、同等のサポートを備えていない。したがって、チームはこれをシークレット管理、Data Loss Prevention(DLP)、ファイルシステムサンドボックスとして扱うべきではない。

導入時には、テスト用Repositoryを使ってCopilotの各インターフェースを検証するとともに、コンテンツ除外をCLIのツールallow/denyルール、trusted directories、OSレベルの隔離、credential scanningとは分けて管理する必要がある。今後注目すべき指標は、GitHubが検証可能なポリシー適用ログを提供できるか、そしてシンボリックリンク、リモートワークスペース、各種Agentモードに一貫した強制境界を適用できるかどうかだ。

出典

  1. Content exclusions generally available in Copilot app and CLI
  2. Content exclusion for GitHub Copilot
  3. Configuring Agentic AI Coding Tools: An Exploratory Study