GitHub Copilot Chatの脆弱性でプライベートリポジトリからソースコードや機密情報の持ち出しが可能に

セキュリティニュース

投稿日時: 更新日時:

GitHub Copilot Chatの脆弱性でプライベートリポジトリからソースコードや機密情報の持ち出しが可能に

Legit Security の Omer Mayraz氏は2025年6月に発見されたGitHub Copilot Chatの脆弱性により、プライベートリポジトリからソースコードや機密情報(例:AWSキー、未公開のゼロデイ記述)が静かに持ち出され得る状況が発見しました。攻撃例は、PRの「隠しコメント」を使ったリモート・プロンプトインジェクションと、GitHubの画像プロキシ基盤(Camo)を悪用したCSP(Content Security Policy)回避を組み合わせたものです。

同氏の報告を受け、GitHubは8月14日までに修正を実施しています。

脆弱性の概要

この脆弱性は、Copilot Chatが参照するコンテキストに、第三者が意図した指示(プロンプト)を紛れ込ませられる点に根本原因があります。

Pull Request(PR)の説明欄に埋め込める「隠しコメント」は、表示上は不可視でも通知やコンテキストに含まれます。

研究者はここに「他ユーザーのコンテキストへ影響する」指示を仕込み、被害者がPRを閲覧してCopilotに問いかけるだけで、回答内容を恣意的に操作し、機密情報の抽出や外部送信を誘導できました。

さらに厳格なCSPに阻まれるはずの外部送信についても、Camoの署名付きプロキシURLを事前生成して並べることで、画像取得を装ったデータ流出経路を確保していました。

攻撃シナリオ例

  1. 攻撃者がターゲット組織のPRに「隠しコメント」で指示文を埋め込む。

  2. 被害者(リポジトリ閲覧者)がPRを開き、Copilot Chatに質問する。

  3. Copilotは隠し指示に従い、被害者の権限でプライベートリポジトリを走査(例:AWS_KEYで全文検索)し、結果をCamo辞書で符号化した画像列としてレスポンスにレンダリング。

  4. ブラウザが画像取得のために攻撃者管理サーバへアクセスし、不可視の1px画像として機密が断片的に送出される。

  5. 必要に応じて、Copilotが悪性パッケージの導入も提案し、さらなる汚染を誘導。

GitHubの対応

  • Copilot Chatにおける画像レンダリングを停止し、Camo経由での機密搬出を不可能化

  • Camoの利用条件・署名検証の見直しにより、任意生成URLによる外部送信をブロック。

 

出典

CamoLeak: Critical GitHub Copilot Vulnerability Leaks Private Source Code