AnthropicのGit MCPサーバーにある3つの脆弱性により、攻撃者がLLMを改ざんできる可能性

開発者には、最新バージョンへの更新と、リポジトリではないフォルダー内に予期しない .git ディレクトリがないか監視するよう求められている。

脅威アクターはプロンプトインジェクション攻撃を用いて、Anthropic公式のGit MCPサーバーに存在する3つの脆弱性を悪用し、AIシステムに混乱を引き起こす可能性がある。

この警告はイスラエル拠点のCyataの研究者によるもので、公式のGIT MCPサーバーを使用している企業の開発者ができるだけ早く最新バージョンへ更新していることを、情報セキュリティ責任者が確認するよう促している。

リスクは、攻撃者が未承認のコードを実行したり、大規模言語モデル(LLM)を改ざんして出力を侵害したりできる点にある。

公式Git MCPサーバー単体でも悪用され得るが、「致命的な組み合わせは、Git MCPサーバーとFilesystem MCPサーバーの両方が有効になっている場合だ」と、CyataのCEOであるShahar Talはインタビューで述べた。「そうなると、その[AI]エージェントは重大なリスクにさらされる。最新バージョン(両アプリケーション)を使うことを強く勧める。」

影響を受けるのは、2025-12.18より前のmcp-server-gitを使用している開発者だ。

3つの脆弱性は次のとおり。

特定の構成を必要とした他のMCPサーバーの脆弱性とは異なり、これらはAnthropic公式サーバーのどの構成でも、初期状態のままで機能するとCyataは述べている。

Model Context Protocol(MCP)は、Anthropicが2024年に導入したオープン標準で、AIアシスタント(Claude Desktop、Cursor、Windsurfなど)が、ファイルシステム、データベース、API、Gitのような開発ツールを含む外部ツールやデータソースとやり取りするための統一的な方法を提供する。

MCPサーバーはAIに機能を公開し、LLMと外部システムの橋渡し役として動作する。

Cyataがブログで指摘しているように、MCPサーバーはLLMの判断に基づいてアクションを実行する。LLMがプロンプトインジェクションで操作可能であれば、脅威アクターはAIのコンテキストに影響を与え、攻撃者が制御する引数でMCPツール呼び出しを発生させられる。

Anthropicがモデルを公開して以降、数千のベンダーやサードパーティ提供者が公式MCPサーバーをリリースしてきた。LinkedInのようなオンラインプラットフォーム向けの非公式サーバーもある。そして予想どおり、犯罪者が出回らせている怪しいMCPサーバーも存在する。

関連コンテンツMCPサーバーのセキュリティ確保に関する新ツールについてCISOが知っておくべきこと

Anthropicが保守する公式Git MCPサーバーmcp-server-gitを、企業の開発者がどれほど利用しているかは不明だ。Filesystem MCP Serverも併用している人数も分かっていない。

Cyataの研究者Yarden Poratはまず、mcp-server-gitでツールが呼び出されると、サーバーは与えられたパスを検証せずに使用することを発見した。つまり攻撃者は、LLMが読み取れる悪意ある内容を含む新しいgitリポジトリを作成できる可能性がある。

2つ目の穴は、サニタイズされないままgitのコマンドラインに直接渡されるパラメーターにある。これにより脅威アクターは、対象ファイルを上書きできるものを含め、任意のgitフラグを注入できる。3つ目として、攻撃者がファイルを削除できることも判明した。さらに研究者は、攻撃者がgitのsmudgeおよびcleanフィルターを使ってコードを実行できることを見つけた。

「知るべきことは――そしてそれは攻撃対象のエージェント次第だが――[AI]エージェントに、あなたが制御する何かを読ませる方法だ」とTalは述べた。「それはかなり一般的だ。攻撃面は非常に広い。」

関連コンテンツ: MCPの脆弱性トップ10

Cyataによれば、防御策はmcp-server-gitを2025.12.18以降へ更新するだけでなく、どのMCPサーバーが同時に動作しているかを監査することも意味する。研究者は、Git+Filesystemの組み合わせが攻撃面を拡大すると述べている。

管理者はまた、リポジトリではないフォルダー内に予期しない .git ディレクトリがないか監視すべきだ。

「一般に、MCPサーバーの脆弱性から守るのは非常に難しい」とTalは述べた。「ほとんどのアシスタント型エージェントは、パラメーターのサニタイズすらできない。自作エージェントなら様々なプロンプトインジェクション対策を組み込めるが、どれも万全ではない。」

Cyataによれば、同社は2025年6月24日にバグ報告サービスHackerOneを通じて最初の問題をAnthropicに通知した。Anthropicはそれを参考情報として扱った。Cyataがプロンプトインジェクションの問題を報告した後、Anthropicは再検討したが、報告が受理されたのは9月10日になってからだった。Git MCP Serverの新バージョンは12月18日にリリースされた。

インタビューでPoratは、脆弱性の発見からより安全なGit MCP Serverのリリースまでの間に、情報セキュリティ責任者や開発者ができたことはあまりなかったのではないかと示唆した。未修正バージョンでは、最も安全な構成であってもプロンプトインジェクション攻撃が成立すると彼は述べた。

「各[AI]エージェントと、それが何をできるのか、何に触れられるのかについてガードレールが必要だ」とTalは付け加えた。「また、インシデントが起きた場合に、エージェントが行ったことすべてを遡って確認できる必要がある。」

MCPサーバーの問題は、LLMに機微な機能を実行するアクセス権を与えてしまう点だと、SANS Instituteの研究部門責任者であるJohannes Ullrichはコメントした。「これがどれほど問題になるかは、アクセスできる具体的な機能に依存する。しかしMCPサーバーが一度構成されると、LLMは受け取った内容に基づいて行動し、コードを実行する(この場合はgitで)。

「残念ながら、これがこのシステムでプロンプトインジェクションを見る最後の機会になる可能性は非常に低い。プロンプトインジェクションに簡単な解決策はなく、通常は特定の悪用を防ぐためのその場しのぎを作ることになる。このようなMCPサーバーでは、最良の選択肢は、信頼できるソースからのデータのみを使用するように、そしてアクセスできる機能を制限するように、動作対象のデータを絞ることだ。これを実装するために、より細かなアクセス制御を利用できる。」

カナダ拠点のセキュアコーディング講師であるTanya Jancaは、潜在的な問題を軽減するため、MCPを使用する開発チームはMCPサーバーへのアクセスと権限(rootなし、読み取り専用アクセス、ローカルアクセスのみ)を制限し、ユーザーには必要最小限の権限だけを付与すべきだと述べた。管理者は、プレフィックス一致だけでなくファイルパスを完全に検証し、シンボリックリンクを適切に解決し、常に慎重な入力検証を行い、パラメータ化クエリを使用すべきだという。 

翻訳元: https://www.csoonline.com/article/4119571/three-vulnerabilities-found-in-anthropic-git-mcp-server-could-let-attackers-tamper-with-llms.html

ソース: csoonline.com