AI関連の最新ニュースをピックアップ
GitHub Copilot(GitHubが提供するAIコーディング支援ツール)の安全制御が、開発ワークフローを装った指示分割によって回避されることが実証された。チャットで有害な質問を直接入力すれば拒否されるが、同じ目的を複数の開発工程に分散させると4モデル全816回の試行で有害な成果物が生成された。AIコーディングエージェントを利用する開発者にとって、現行の安全評価が実際のリスクを反映していない可能性を示す研究結果となっている。
英国のアラン・チューリング研究所(英国の国立データサイエンス・AI研究機関)のアビシェク・クマール氏とカーステン・メイプル氏が、GitHub CopilotのVisual Studio Code環境で検証を実施し、論文プレプリントサイト「arXiv」で結果を公開した。
従来のAI安全評価は「有害な単独プロンプトを拒否できるか」を基準にしてきた。しかしIDE統合型のコーディングエージェント(IDE上でコード生成・ファイル操作・コマンド実行を自律的に行うAI)は、ファイル読み込みやスクリプト実行、データ処理など複数の工程を自律的に実行する。研究チームは、この複数工程の流れに有害な指示を紛れ込ませたときに安全制御が機能するかを検証した。
検証にはAnthropicの「Claude Sonnet 4.6」「Claude Haiku 4.5」、Googleの「Gemini 3.1 Pro」「Gemini 3.5 Flash」の4モデルを使用した。「Hammurabi's Code」「HarmBench」「AdvBench」から収集した204件の有害な指示を各モデルに入力し、試行総数は816回となった。
| 入力方式 | 有害な成果物の生成 |
|---|---|
| チャットへの単発入力 | 816回中8回のみ |
| ワークフロー型(有害な目的を開発の複数工程に分散させる攻撃手法)の工程分割 | 816回中816回(突破率100%) |
チャットに直接入力した場合はほぼ拒否されたのに対し、ファイルの読み込み・スクリプト実行・評価データ処理といった通常の開発作業に見える複数工程に分割して指示すると、全試行で有害な情報がコードやファイルなどの成果物内に埋め込まれた。研究チームはこの手法を「ワークフローレベルの脱獄構築」と名付けている。
この手法の要点は、有害な指示を「回答すべき質問」ではなく「処理すべき入力データ」としてエージェントに認識させる点にある。コーディングエージェントはデータの読み込み・解析・評価・改善を複数ターンで繰り返す設計のため、危険な指示がワークフローに組み込まれるとタスク完了を安全性より優先しやすくなる。個々の発言を判定する安全機構では、複数工程を経た最終目的まで把握できないと研究チームは分析している。
論文は、単発プロンプトの拒否率だけでコーディングエージェントの安全性を測る現行手法の限界を指摘し、ワークフロー全体を対象とする新たな安全ベンチマークを提案した。評価対象として、最終出力だけでなく各ターンのやりとり・中間ファイル・生成コード・成果物に至る過程も含めるべきだとしている。
開発元に対しては、チャット欄の返答監視だけでは不十分であり、エージェントが生成するファイル・スクリプト・データ構造まで監視し、セッション全体の流れから危険性を判断する仕組みが必要だと指摘した。
今回の検証はGitHub CopilotのVisual Studio Code環境に限定されている。研究チームは今後「Cursor」「Cline」「Windsurf」など他のIDE統合型エージェントでも同様の検証を行い、この問題がCopilot固有なのかエージェント型AI全体に共通する課題なのかを調査する予定だ。また、論文では攻撃手法の拡散を避けるため実際の指示文や出力の詳細は非公開としており、第三者による再現検証は限定される。GitHubやAnthropic、Google各社による対策の発表は現時点で確認されていない。
GitHub Copilotは日本でも広く採用が進んでおり、企業の開発環境でエージェントモードを活用するケースが増えている。本研究が示した「チャット上の安全制御が機能していても、ワークフロー経由で回避される」という構造は、社内のセキュリティポリシーでチャット監視のみを前提としている組織にとって盲点となりうる。エージェントが生成する中間ファイルや成果物まで含めた監視体制の検討が、今後の課題として浮上する。