掲載済み (2025-09-06号)
#073 522文字 • 3分

## VS Codeでプロンプトインジェクションを可能にする3つの脆弱性 GitHubが対策とともに解説:GitHubが“体を張って”検証

掲載情報

概要

https://atmarkit.itmedia.co.jp/ait/articles/2509/01/news040.html

詳細内容

## VS Codeでプロンプトインジェクションを可能にする3つの脆弱性 GitHubが対策とともに解説:GitHubが“体を張って”検証 https://atmarkit.itmedia.co.jp/ait/articles/2509/01/news040.html GitHubは、VS CodeのGitHub Copilot Chat拡張機能におけるプロンプトインジェクションの脆弱性3件を発見し、その詳細なメカニズムと対策を解説しました。 **Content Type**: ⚙️ Tools **Scores**: Signal:5/5 | Depth:4/5 | Unique:3/5 | Practical:5/5 | Anti-Hype:4/5 **Main Journal**: 85/100 | **Annex Potential**: 80/100 | **Overall**: 84/100 **Topics**: [[プロンプトインジェクション, VS Codeセキュリティ, GitHub Copilot Chat, AIエージェント, 脆弱性対策]] GitHubは、Visual Studio CodeのGitHub Copilot Chat拡張機能「エージェントモード」に発見された3つのプロンプトインジェクション脆弱性について詳細な分析と対策を公表しました。これらの脆弱性が悪用されると、GitHubトークンや機密ファイルの漏えい、あるいはユーザーの明示的な同意なしに任意のコードが実行される危険性がありました。既にVS Code開発チームと協力し、対策が施されています。 本記事は、AIエージェントがローカル環境や外部データと連携する際の新たな攻撃ベクトルを具体的に示しており、webアプリケーションエンジニアにとって自身の開発環境を保護する上で極めて重要です。エージェントモードでは、LLMがユーザーの指示とエージェントツールからの出力を区別しますが、悪意のある指示がツールの出力に紛れ込むと、LLMはこれを正規の指示として解釈し、意図しないアクションを実行してしまうメカニズムが指摘されています。 具体的な脆弱性として、以下の3点が挙げられました。 1. **URLの不適切な解析**: `fetch_webpage`ツールがURLを正規表現のみで検証していたため、信頼できないドメインのURLも安全と誤認する可能性があり、GitHubトークンを外部に送信させる攻撃が実証されました。 2. **Simple Browserツールの脆弱性**: 組み込みの簡易ブラウザ機能がユーザー承認なしに外部サイトを読み込むことができ、同様に機密データ漏えいの経路となり得ました。 3. **編集ツールの自動保存**: `editFile`ツールがファイル(`settings.json`など)をユーザー確認前にディスクに保存するため、監視プロセスによって悪意のある設定変更が即座に反映され、任意のコマンド実行につながる可能性が指摘されました。 これらの脆弱性に対し、VS CodeはURL検証の強化、未知のURLアクセス時のユーザー確認必須化、エージェントによるワークスペース外ファイル編集の制限などの対策を導入しました。開発者は、Workspace Trust機能の活用やDockerコンテナ、GitHub Codespacesによるサンドボックス化といったベストプラクティスを適用し、AIアシスタントを安全に利用することが求められます。これは、AIを活用した開発ワークフローのセキュリティを再考する上で不可欠な情報です。