2026-01-20

Anthropic MCP Gitサーバーの3つの脆弱性がファイルアクセスとコード実行を可能に

Anthropicが管理するGit Model Context Protocol(MCP)サーバーであるmcp-server-gitに、ファイルの読み取りや削除、コード実行を可能にする3つのセキュリティ脆弱性が発見されました。これらの脆弱性は、攻撃者がAIアシスタントに影響を与えることで悪用される可能性があります。具体的には、パスのトラバーサルや引数の注入が含まれ、成功した場合、攻撃者は任意のディレクトリをGitリポジトリに変換し、ファイルを上書きすることができます。これらの問題は、2025年9月25日および2025年12月18日に修正されました。

メトリクス

このニュースのスケール度合い

7.0 /10

インパクト

8.5 /10

予想外またはユニーク度

8.5 /10

脅威に備える準備が必要な期間が時間的にどれだけ近いか

8.0 /10

このニュースで行動が起きる/起こすべき度合い

8.5 /10

主なポイント

  • mcp-server-gitに3つの脆弱性が発見され、攻撃者はファイルアクセスやコード実行が可能になる恐れがあります。
  • これらの脆弱性は、AIアシスタントに影響を与えることで悪用される可能性があり、迅速な対応が求められています。

社会的影響

  • ! この脆弱性は、開発者が広く使用するリファレンス実装に存在するため、MCPエコシステム全体のセキュリティに対する懸念を引き起こします。
  • ! AI技術の進展に伴い、セキュリティの脆弱性が悪用されるリスクが高まるため、開発者はより慎重な対応が求められます。

編集長の意見

今回の脆弱性は、Anthropicのmcp-server-gitにおけるセキュリティの重要性を再認識させるものです。特に、AIアシスタントが広く利用される中で、攻撃者がどのようにしてこれらの脆弱性を悪用するかを理解することが重要です。脆弱性の悪用は、開発者が意図しない形でシステムに影響を与える可能性があり、特にAI技術が進化する中で、セキュリティの脆弱性が新たな攻撃手法を生むことが懸念されます。今後、開発者はセキュリティの観点からもコードを見直し、脆弱性を未然に防ぐための対策を講じる必要があります。また、ユーザーは最新のバージョンにアップデートすることで、これらの脆弱性から保護されることが期待されます。セキュリティの強化は、単なる技術的な問題ではなく、社会全体の信頼性を高めるためにも重要です。したがって、開発者や企業は、セキュリティ対策を優先事項として位置づけ、継続的な監視と改善を行うことが求められます。

解説

AnthropicのMCP Gitサーバーに3脆弱性—AIアシスタント連携が引き金となるファイルアクセスと任意コード実行のリスクです

今日の深掘りポイント

  • LLMがツールを叩く時代では、ローカル実行権限=境界のない攻撃面です。MCPサーバーのパス・引数処理不備は、プロンプトインジェクション1つでOS操作に直結します。
  • 3件の脆弱性は、任意ディレクトリのGit化・ファイル上書き・コード実行という“開発者環境を武器化する”典型的な連鎖を招きます。Gitフックや設定上書き経由の遅延実行にも注意が必要です。
  • 修正は2025年9月25日と12月18日に公開済み。AI開発環境の“標準”を自認するリファレンス実装での欠陥は、エコシステム全体の安全基準を引き上げる契機でもあります。
  • セキュリティ対策の主軸は、アップデート、最小権限・専用ワークスペース化、引数・パスの正規化、ヒューマン・イン・ザ・ループ、実行前検証(ドライラン/差分提示)、OSサンドボックスの多層化です。
  • 検知面では「許可外パスでのgit init/commit」「ホーム直下の*.rcやSSH鍵、.git/hooksへの書き込み」「AIアシスタント経由の大量ファイルアクセス」を監査できる運用が鍵です。

はじめに

LLMエージェントがIDEやGitを当たり前に操作する時代になり、攻撃者は「ネットワーク境界」よりも「ツール境界」を狙います。Anthropicが管理するGit Model Context Protocol(MCP)サーバー「mcp-server-git」に、ファイル読み取り・削除、任意コード実行に至る3件の脆弱性が見つかり、修正が公開されました。AIの“支援”は快適ですが、同時にOS権限の移譲でもあります。気づかぬうちに、アシスタントが攻撃の媒介になる—今回はその現実を正面から見つめ直す機会になります。

参考情報(一次報道)として、The Hacker Newsが詳細を伝えています。脆弱性はパス・トラバーサルや引数注入に起因し、成功すると任意ディレクトリをGitリポジトリ化し、ファイル上書きやコード実行を許します。修正は2025年9月25日および12月18日に行われています。The Hacker Newsの報道をご確認ください。

深掘り詳細

事実関係(報道ベース)

  • 対象: Anthropic管理のGit向けMCPサーバー「mcp-server-git」。
  • 問題の性質:
    • パス・トラバーサルにより任意パスを作業対象にできる可能性。
    • 引数注入により意図しないCLIオプションが渡され、ファイル上書きやフック経由の実行に至る可能性。
  • 想定悪用: 攻撃者がAIアシスタントを“誘導”し、当該サーバーを通じてGit操作を実行させる。結果として、任意ディレクトリのGit化、重要ファイルの読み取りや削除、コード実行などに発展。
  • 対応状況: 修正は2025年9月25日および12月18日に公開済み。最新バージョンへのアップデートが推奨。

出典: The Hacker News

インサイト(編集部の視点)

  • “LLMに権限を渡す”ことは、“ローカルの信頼境界を再設計する”ことです。MCPサーバーはツール呼び出しの正規ルートになりやすく、引数・パスの取り扱いは本来のアプリ開発以上に厳格であるべきです。なぜなら、入力は人間ではなく、誘導されうるエージェントだからです。
  • Gitは「ファイルシステムのゲートウェイ」にもなります。作業ツリーやGIT_DIRの扱い次第で、ホーム直下やシステム領域を簡単に巻き込めます。フック(.git/hooks)やシェル初期化ファイルの上書きは、即時実行されない“遅延RCE”の温床です。
  • AI開発環境は“人手より速い操作”が売りですが、逆に「誤操作の迅速化」にもなります。よって、人間の確認(ヒューマン・イン・ザ・ループ)と“目的限定のワークスペース”は、スピードをほんの少し犠牲にしてでも必須です。
  • 今回の修正はエコシステムの健全性にとって前向きです。リファレンス実装の改善は波及効果が大きく、MCP全体のセキュリティ成熟を押し上げます。一方、各組織のクライアント設定・運用設計が追いつかないと、同種のリスクは残り続けます。

脅威シナリオと影響

以下は、報道内容に基づく合理的な仮説シナリオです。技術的ステップはMITRE ATT&CKのテクニックに対応づけて示します(各テクニック定義はMITREの公式ドキュメントをご参照ください)。

  • シナリオA:プロンプトインジェクションからの遅延RCE

    • コンテンツ供給(悪性READMEやIssue)でアシスタントを誘導し、mcp-server-git経由でGit操作を実行させる(Initial Accessに相当する社会的要素はT1566に近似の概念、実行のトリガは人/エージェント誘導)。
    • 引数注入により任意パスを作業ツリーに設定、あるいは不正なオプションを付与(Defense Evasion/Exploitationの一部)。
    • ホーム直下のシェル初期化ファイル(.bashrc/.zshrc)やエディタ設定、.git/hooksを上書き(Persistence/Privilege Escalation)。後続の通常作業でフックが実行されRCEに至る(Execution: T1059 Command and Scripting Interpreter)参考: ATT&CK T1059.
    • 影響: 開発環境の恒常的な汚染、ビルド時スクリプトの任意実行、サプライチェーン汚染の起点化。
  • シナリオB:資格情報窃取と横展開

    • 任意パスアクセスを用いてSSH秘密鍵、クラウドCLI認証情報(~/.ssh、~/.aws、~/.config/ghなど)を読み取り(Credential Access: T1552 Unsecured Credentials)。
    • 取得した資格情報でリモートリポジトリやCI/CD、クラウドへ横展開(Lateral Movement/Defense Evasion)。成果物改ざんや機密データの外部持ち出し(Exfiltration: T1041)。
    • 影響: リポジトリの改ざん、CIトークンの悪用、クラウド資源の乗っ取り。
  • シナリオC:破壊的操作

    • 引数注入やパス操作を通じて重要ファイルやディレクトリの削除(Impact: Data Destructionに相当)。
    • 影響: ローカル環境の復旧コスト増大、開発の停止、事故調査の難航。

重要な補足として、これらは「AIアシスタントの行動を誘導するだけで成立しうる」という点が特徴です。従来の“境界防御”観点では捕捉が難しく、IDEやエージェントの操作ログ、ツール層の細粒度監査が不可欠になります。

セキュリティ担当者のアクション

アップデートは出発点に過ぎません。AI×開発ツール連携に特有の対策を、設計・運用・検知の各レイヤで積み上げることが重要です。

  • 即時対応

    • mcp-server-gitを最新の修正版へ更新します(2025-09-25および2025-12-18以降のリリース)。詳細は組織内で運用されているパッケージ/イメージの更新手順に従います。
    • MCPクライアント(例:AIアシスタントやIDE拡張)の自動承認を無効化し、Git操作やファイル変更系に人の確認ステップを挟みます。
  • 設計・構成ハードニング

    • ワークスペースの隔離: AI用に専用ディレクトリ(エフェメラルでも可)を用意し、そこ以外を操作できないようにサーバー側でパス正規化+許可リスト(allowlist)を実装します。相対パス・シンボリックリンク・環境変数展開をすべて正規化して検証します。
    • 引数サニタイズ: CLIに渡す引数は構造化(例:安全なラッパーAPI、サブプロセス時の明示配列化)し、危険オプション(--work-tree, -C, --git-dir など)の拒否/固定化を行います。
    • 実行サンドボックス: コンテナ化+無特権化(rootless)、no-new-privs、seccomp/AppArmor/SELinuxでのプロファイル制限を適用します。書き込み可能領域は最小化し、ホームやシステム領域は原則マウントしません。
    • フックと自動実行の無効化: .git/hooksの生成・変更を標準で拒否、あるいはフックディレクトリを隔離/読み取り専用にします。シェル初期化ファイルやエディタ設定(.vscode、.idea)への書き込みをブロックします。
    • ネットワーク制御: AIエージェントプロセスの外向き通信を最小化し、データの“テキスト経由の外部送信”も審査フローを通す運用にします(長文出力やファイルダンプを要注意イベントとして扱います)。
  • 運用・検知

    • 監査ログ: gitのプロセス実行ログとファイル監査を結び、許可外パスでのgit init/checkout/commit、.git/hooksの生成、ホーム直下の*.rc書き込み、~/.ssh/*アクセスを検知対象にします。
    • 変更前プレビュー: AIが提案する変更は必ずdiffを提示し、人が承認してから適用します。commit前の自動テスト/セキュリティスキャン(秘密情報・危険スクリプト検出)を組み込みます。
    • 秘密情報管理: 認証情報はエージェントから不可視にし、必要時のみ短寿命トークンを払い出します。ホームディレクトリに平文の資格情報を置かない設計にします。
    • レッドチーム演習: プロンプトインジェクションと引数/パス攻撃を想定したテーブルトップ演習を実施し、IDE・MCP・OSの各層での検知と封じ込めを検証します。
  • エコシステム対策

    • すべてのMCPサーバー/プラグイン実装を棚卸しし、引数サニタイズとパス制御のレビューを横断的に行います。リファレンス実装の更新に追随するだけでなく、社内ポリシーとして「安全なツール実装基準」を明文化します。

最後に一言。AIと開発ツールの統合は生産性の新しい標準ですが、同時に“新しい最小権限の定義”を求めます。ツールに任せる権限・範囲・手続きの線引きを、このタイミングで引き直すことが、次のインシデントを未然に防ぐ近道です。

参考情報

  • The Hacker News: Three Flaws in Anthropic MCP Git Server Allow File Access and Code Execution(2026-01-20): https://thehackernews.com/2026/01/three-flaws-in-anthropic-mcp-git-server.html
  • MITRE ATT&CK T1059 Command and Scripting Interpreter: https://attack.mitre.org/techniques/T1059/

背景情報

  • i mcp-server-gitは、Pythonで実装されたMCPサーバーであり、Gitリポジトリをプログラム的に操作するためのツールを提供します。これにより、攻撃者は特定の条件下でファイルを読み取ったり削除したり、コードを実行することが可能になります。
  • i 発見された脆弱性には、パスのトラバーサルや引数の注入が含まれ、これにより攻撃者は任意のファイルシステムパスを利用してリポジトリを作成したり、ユーザー制御の引数を直接CLIコマンドに渡すことができます。