2026/10/06 CyberSecurityNews — GitHub Copilot CLI で新たに報告されたのは、攻撃者が制御する Web ページを介してコーディング・エージェントへと誘導し、開発者のローカルファイルを読み取らせ、その内容をリモートサーバへ送信させる可能性がある手法である。Cryptographic Context Injection (CCI) と呼ばれる手法は、悪意のある命令を暗号化されたテキスト内に隠すことで、通常のプロンプト・インジェクション対策による検査を困難にする。Adversa AI によると、この攻撃者は Copilot CLI を autopilot モードで実行し、開発者がエージェントに外部 URL の確認を依頼した場合に影響を及ぼす。

GitHub Copilot CLI の問題
実証実験の結果として、エージェントがローカルの .env.prod ファイルを読み取り、その内容を 28 秒以内に攻撃者が制御するエンドポイントへ送信したと報告されている。ただし、ローカルファイルへアクセスしたこと/データが端末外へ送信されたことについて、ユーザーには明確な警告が表示されなかった。
今回の報告は、以前 Grok に対して実証された CCI の研究を発展させたものである。この研究では、暗号化された命令が AI の実行環境内で復号され、その後に、信頼できる出力として扱われていた。以前にも Cyber Security News は、通常の Web ページへのリクエストを通じて AI エージェントを誘導し、非公開のチャット情報を漏えいさせる方法を示す、この研究について報じていた。
今回のケースでは、悪意の Web ページは、実際の命令を通常のテキストとして公開しない。その代わりに、暗号化されたデータを埋め込み、Copilot CLI に Python を使用して復号するよう指示する。
静的フィルタは読み取り可能なコンテンツを検査できるが、通常において、隠されたテキストを明らかにするための暗号処理までは実行しない。研究者によると、エージェントが自身のシェル環境でコンテンツを復号すると、信頼できない Web ページからの指示ではなく、信頼できる内部処理から生成されたものとして、生成された命令を扱う可能性がある。
報告された一連の攻撃では、偽装した「鍵」の準備手順が使用される。提供される鍵の 1 つは正規のものだが、もう 1 つは、復号を試みる前にエージェントに対して、ローカルファイルを読み取らせるテンプレートとなっている。最初の復号処理は意図的に失敗するよう設計されているが、その時点において、すでに機密ファイルの内容は収集されている。その後に、エージェントは正規の鍵を使用して 2 番目の命令群を復号し、収集したデータを含む Web リクエストを送信する。
研究者によると、この手法で標的にできるのは環境ファイルだけではない。エージェントに読み取り権限がある場合には、ソースコード/設定ファイル/認証情報/プロジェクト・フォルダ外にあるトークンといった、エージェントがアクセスできるあらゆるデータが危険にさらされる可能性がある。以前の Copilot 関連の研究でも、AI ツールが信頼できない GitHub コンテンツを処理する際の、プロンプト・インジェクションを介して、トークン/機密性の高いリポジトリデータを窃取できることが示されている。
この報告では、Copilot で提供されるモデルに応じて、安全性に関する挙動が異なることも指摘された。Adversa AI によると、Microsoft の mai-code-1.1-flash はテストの半数で一連の攻撃を最後まで実行した。その一方で、2 つの GPT-5.6 モデルは同じ命令を拒否したという。この違いは、モデル選択を Auto に設定しているユーザーにとって大きな懸念となる。ルーティングによってセッションごとに異なるモデルが選択される可能性があり、どのモデルがタスクを処理したのかが、明確に示されない場合があるためだ。
GitHub のバグバウンティチームは、この報告を検証したが、セキュリティ脆弱性には分類しなかったとされている。開示までの経緯によると、GitHub は、ユーザー自身が Copilot に対し、攻撃者が制御するコンテンツを自律的に取得する権限を明示的に与えていたとの見解を示した。これに対して研究者は、同じ命令を平文で与えた場合には拒否する保護機能が、暗号化により回避されたとして、この見解に反論している。
Copilot CLI を使用する組織に推奨されるのは、広範なローカルファイル/ネットワークへのアクセス権限を持つ自律型エージェントに対して、信頼できない Web ページを閲覧させないことである。
セキュリティチームに求められるのは、実際に解決されたツール引数を記録し、Web コンテンツの処理後にコード実行やローカルファイル読み取りが発生した場合に警告を発し、予期しない外部送信先をブロックすることである。また、可能な限り、機密性の高い認証情報を、エージェントが読み取れるパスの外に配置する必要がある。この事例が示しているのは、AI コーディングツールを保護するには、受信するテキストを検査するだけではなく、エージェントが実際に実行する操作を監視する必要があるという点である。
GitHub Copilot CLI における、暗号化プロンプト・インジェクション手法の悪用リスクについて解説する記事です。外部サイトに含まれる隠蔽命令を処理する仕様に伴い、環境変数の不正読み取り/ソースコードやシークレット情報の外部送信/自律処理を通じた情報漏えいといった影響が発生しています。対応策として信頼できない Web ページの参照回避/アクセス範囲の厳格化/実行コマンドや通信先の監視が求められます。
You must be logged in to post a comment.