Cyataのセキュリティ研究者は、Anthropic公式のGit Model Context Protocol(MCP)サーバーであるmcp-server-gitにおいて、プロンプトインジェクション攻撃を通じてリモートコード実行を可能にする3つの脆弱性を特定しました。
これらの欠陥は、2025.12.18より前のバージョンを実行しているすべての構成に影響し、LLMが制御するツールがシステムリソースと相互作用する、エージェント型AIシステムにおける根本的なセキュリティ課題を示しています。
中核的な問題は、mcp-server-gitのコードベースにおける入力検証の不十分さに起因します。特定のリポジトリパスで構成されている場合、サーバーは設定されたリポジトリフラグに対する検証を行わずに、LLMからrepo_path引数を直接受け入れます。
これにより攻撃者は、プロンプトインジェクションを介してシステム上の任意のGitリポジトリにアクセスでき、悪意のあるREADMEファイル、侵害されたIssueの説明、または汚染されたWebコンテンツを通じてAIのコンテキストに影響を与えられます。
攻撃チェーンは次のように機能します。 攻撃者は、AIアシスタントが読むコンテンツに悪意のあるプロンプトを注入します。
LLMはgit_initを呼び出し、/home/user/.sshのような任意のディレクトリでリポジトリを初期化します。
Filesystem MCPサーバーを使用して、攻撃者はシェルのフィルターコマンドを含む悪意のある.git/configファイルを書き込みます。
Gitのsmudgeおよびcleanフィルターは、ファイルに実行権限がなくてもこれらのコマンドを実行します。git_addがトリガーされると、フィルターがシステム上で任意のコードを実行します。
git_diffの脆弱性は、引数インジェクションを通じてその深刻さを示しています。
targetパラメータがサニタイズされないままGit CLIに直接渡されるため、攻撃者は–outputのようなフラグを注入して任意のファイルを上書きし、事実上それらを削除できます。
mcp-server-gitを直ちにバージョン2025.12.18以降へ更新してください。組織は、どのMCPサーバーが同時に稼働しているかを監査すべきです。GitとFilesystem MCPサーバーを組み合わせると、攻撃対象領域が大幅に増加します。
正当なリポジトリの場所以外に、予期しない.gitディレクトリが出現していないかシステムを監視してください。
これらの脆弱性は、Cursor、Windsurf、GitHub CopilotなどのAI搭載開発環境における重大なセキュリティギャップを浮き彫りにしています。そこでは、制限のないファイル書き込み機能とツール呼び出しメカニズムが組み合わさることで、実行プリミティブが生み出されます。
特定の構成を必要とする孤立した脆弱性とは異なり、これらはデフォルトのデプロイメントすべてに、導入直後の状態で影響します。