AI・機械学習
CLIを自律動作(オートパイロット)モードで実行すれば、リスクを負うことになります
GitHub Copilot CLIは、機密情報の開示を指示する命令に遭遇すると、背後で動作するモデルによっては開発者のシークレットを漏らしてしまう恐れがあります。
このコーディングエージェントツールについては、今年初めに間接プロンプトインジェクションの影響を受けやすいことが指摘されていました。間接プロンプトインジェクションとは、ユーザー以外の情報源から取り込んだテキストが、本来の機能の範囲外の動作をモデルに指示する攻撃です。
今回も同種の問題ですが、ひねりが加わっています。Adversa AIのセキュリティ研究者によると、GitHub Copilot CLIには、2カ月前にGrokで確認されたのと同じ脆弱性、暗号化コンテキストインジェクション(Cryptographic Context Injection:CCI)が存在します。
GitHub Copilot CLIのユーザーがプロジェクトに取り組み、エージェントをオートパイロットモードで実行している場面を想像してください。AnthropicのClaudeなど他のエージェント型コーディングツールでは、これが既定の動作です。一方、GitHub Copilot CLIでは任意の設定にとどまります。
この条件下で次に必要になるのは、CLIツールが悪意ある命令を含むWebページを読み込むことです。命令は、同じサイトで公開された秘密鍵で暗号化されています。
「静的なガードレールはテキストを読むだけで、実行はしません」と、Rony Utevsky氏はThe Registerに提供されたブログ記事で説明しています。「CCIは、悪意ある命令を強力な暗号文として、鍵の素材や復号の指示とともに配置します。そして、エージェント自身のコード実行環境でその復号を行わせるように仕向けます」
モデルの防御策として、取り込んだテキストを読み取るアクティブコンテンツ分類器があったとしても、暗号化されたコードは見逃します。base64や換字式暗号のようなエンコードであれば、モデルが学習時に復号方法を身につけているため元に戻せますが、強力な暗号は事情が異なります。
モデルの当たり外れ
攻撃の流れは次のとおりです。ユーザーがCopilot CLIを起動し、特定のURLを取得するよう依頼します。そのページには、暗号化されたコンテンツ、Pythonの使用を求める復号手順、そして2つの復号鍵の候補が置かれています。
1つ目の鍵は偽物です。ディスク上の特定のファイル(ユーザーの.envファイルなど)を読み取り、エージェントが組み立てるテンプレートになっています。そこで得られたシークレットが鍵の文字列に追加されます。この偽の鍵で最初の復号が試みられますが、失敗します。
そこで2つ目の鍵が試され、復号に成功します。エージェントには、さらなる文脈を得るために別のURLを取得するよう指示が示されます。ところがそのURLには、収集したシークレットが含まれており、ネットワークリクエストによって攻撃者に送信されてしまいます。
ただし、この攻撃が常に成功するわけではありません。成否はモデル次第で、どのモデルが使われているのかはユーザーにはわかりにくいのが実情です。GitHub Copilot CLIは現在、Microsoft独自のモデルであるmai-code-1.1-flashか、OpenAIのGPT-5.6の2モデルのいずれかを使用しています。mai-code-1.1-flashは試行の50パーセントで攻撃チェーンを最後まで実行しました。一方、GPT-5.6の2モデルはどちらも攻撃ペイロードを拒否しました。
Utevsky氏は、この状況を「モデルの当たり外れ」と表現しています。
「私たちがテストした有料アカウントでは、脆弱なモデルは既定ではなく、手動で選択する必要がありました」とUtevsky氏は述べています。「しかし、モデル選択を自動(Auto)にしたままのアカウントでは、既定の設定のままユーザーが何もしなくても、ルーターが脆弱なモデルを割り当てるセッションと、安全なモデルを割り当てるセッションがありました。ユーザーはモデルを選べず、セッションをどのモデルが処理したのかもわかりません」
Adversaによると、同社は2026年9月17日にGitHubのバグバウンティプログラムを通じてこの脆弱性を報告しました。GitHubのトリアージチームは発見内容を検証したものの、脆弱性として扱うことは拒否したということです。
GitHubの広報担当者もThe Registerに同様の見解を示し、ユーザーの行為がその後に起きたことへの同意にあたると主張しました。「GitHubは、セキュリティ研究コミュニティの貢献を重視しており、報告されたセキュリティ上の問題の調査に取り組んでいます。調査の結果、この問題は、ユーザーが攻撃者の管理下にあるコンテンツや信頼できないコンテンツをCopilot CLIに意図的に取得させ、さらにその操作の実行を承認する必要があるため、製品の脆弱性ではないと判断しました。製品自体のセキュリティ上の問題ではありませんが、当社は常に製品を改善する機会を探しています」
Adversaはこの判断に同意しておらず、攻撃チェーンは現在も説明どおりに機能すると述べています。®