GitHub Copilot Chatの重大な脆弱性により、攻撃者が静かに機密データを盗む新たな危険な方法が明らかになりました。
CVE-2025-59145として追跡されているこの欠陥は、CVSSスコア9.6で、ハッカーがAPIキーやプライベートソースコードなどのシークレットを、悪意のあるコード実行なしに流出させることを可能にしていました。
「CamoLeak」と呼ばれる攻撃方法は、プロンプトインジェクション技術を使用してCopilotが情報を処理する方法を操作しました。
脆弱性は現在修正されていますが、AI支援開発ツールの深刻なリスクを浮き彫りにしています。
GitHub Copilot Chatは、コード、プルリクエスト、プロジェクトコンテキストを分析することで開発者を支援します。ユーザーが表示権限を持つプライベートリポジトリにアクセスできます。
攻撃者は、一見無害なプルリクエストに隠された指示を注入することで、この機能を悪用しました。
攻撃は、悪意のある者が目に見えないマークダウンコメントを含むプルリクエストを送信したときに始まりました。これらの隠された指示は人間のレビュアーには見えませんでしたが、Copilotが読むことができました。
開発者がプルリクエストを開いてCopilotにレビューまたはサマリーを求めたとき、AIは表示内容と隠された内容の両方を処理しました。
挿入されたプロンプトはCopilotに指示して、開発者がアクセス可能なリポジトリから認証情報やトークンなどの機密データを検索させました。
データが収集されると、Copilotはそれを画像URLのシーケンスにエンコードしました。これらのURLはチャットボットのレスポンスに含められました。
通常、GitHubは厳格なコンテンツセキュリティポリシー(CSP)を使用して、不正な外部データ転送をブロックします。これらのポリシーは信頼できないソースからの画像読み込みを防ぎます。
しかし、攻撃者はGitHubの信頼できる画像プロキシサービス(Camoとして知られている)を使用して、この制限を回避しました。
攻撃者はデータを外部サーバーに直接送信する代わりに、リクエストをCamoを通じてルーティングして、トラフィックを正当に見えるようにしました。
これを実現するために、攻撃者は有効なCamo URLのセットを事前生成し、それぞれが特定の文字を表していました。
これらのURLは外部でホストされている目に見えない画像を指していました。Copilotがそれらをレスポンスに含めたとき、開発者のブラウザは自動的に画像を読み込み、エンコードされたデータを攻撃者に送信しました。
すべてのトラフィックがGitHubのインフラストラクチャを通じたため、従来の監視ツールとネットワーク防御は流出を検出することができませんでした。
CamoLeakは特にGitHub Copilotを標的にしていましたが、根底にある技術は1つのプラットフォームに限定されていません。
信頼できない入力を処理し、機密データへのアクセス権を持つAIシステムはすべて脆弱である可能性があります。
例えば、Microsoft CopilotやGoogle Geminiなどのエンタープライズ AI ツールは、厳格な分離制御なくメール、ドキュメント、または内部システムを分析する場合、同様のリスクに直面する可能性があります。
この事件はAIセキュリティの大きな盲点を露出させています。従来の防御はコードの悪意をブロックすることに焦点を当てていますが、プロンプトインジェクション攻撃はコード実行をまったく必要としません。
AIツールがエンタープライズ環境へのより深いアクセスを獲得するにつれて、組織はセキュリティモデルを再考する必要があります。
AI動作の監視、データアクセスの制限、入力ソースの検証は、同様の違反を防ぐために必須となります。
翻訳元: https://cyberpress.org/exploit-github-copilot-vulnerability/