本文へ

利用状態: ログイン状態を復元中...

Threat AlertAbcas Security Research

MCP脆弱性triage: advisory・利用経路・緩和策の一致

公式mcp-server-git advisoryは2026.1.14未満のgit_add path処理を対象とします。配備version、到達可能なtool経路、processから見えるfile、更新または隔離の実証がtriageに必要です。

Read in English

security advisoryを導入判断へ変えるには、advisoryが実配備artifactに一致し、影響する利用経路へ到達でき、緩和策がその環境で有効という三つの接続が必要です。公式mcp-server-git advisory GHSA-vjqx-cfc4-9h6vは具体例になります。2026.1.14未満では、git_addへ渡したfile引数の../がrepository外へ解決され、そのfileをGit indexへ追加できました。修正版は2026.1.14です。

Key Findings

  1. 影響versionは「すべてのGit MCP server」より狭い範囲です。 対象はpip package mcp-server-gitの2026.1.14未満です。
  2. 利用経路も「すべてのGit操作」ではありません。 公表された欠陥はgit_addのfile pathです。
  3. 影響は後続権限で変わります。 範囲外fileのstageに加え、commit、push、credential、host上の機密fileへ到達できる場合は影響が大きくなります。
  4. source更新だけでは配備証拠になりません。 実行環境の修正版artifactまたは検証済みcontrolが受入条件です。

Triage記録

質問取得する証拠判断への影響
artifactが対象か実環境内のpackage名と正確なversion別packageまたは2026.1.14以降なら、このadvisoryの影響範囲とは一致しない
経路へ到達できるかclientがgit_addを公開しているか、誰が呼べるかtool非公開は露出を下げるが、artifactを修正しない
processから何が見えるかrepository、mount、OS user、可読file、Git credential範囲外fileと後続commit/pushの到達範囲を定める
緩和策が配備済みかpackage version、image digestまたはlock、restart記録、拒否testこのadvisoryのclose根拠になる

公式advisoryは、後続のcommitとpushによる情報流出の可能性を説明しています。この順序は重要です。git_addはindexを変更し、外部への開示は別操作と接続先に依存します。triageでは、最初の境界違反と利用可能な後続操作の両方を記録します。追加callが必要という理由で欠陥を軽視せず、範囲外fileのstageや送信を確認していない段階で情報流出済みとも断定しません。

範囲を限定した受入test

破棄可能なrepositoryと、その隣に無害なfileを用意します。実配備と同じimageまたはPython環境へmcp-server-git 2026.1.14以降を固定してinstallします。repository内の通常pathが追加できることを確認した後、隣の無害fileへ解決される相対pathを渡し、indexへ入る前に拒否されることを確認します。toolの応答文だけでなく、実際のindexを確認します。

更新後もprocess権限を狭めます。意図したrepositoryだけを見せ、無関係なcredentialとfileを不可視にし、push credentialを承認済み接続先へ限定します。これらは将来の欠陥や設定ミスの影響を下げますが、影響versionが存在する場合のpackage更新を代替しません。

確認範囲と限界

2026年9月22日に公式advisoryとproject資料を確認したtriageです。特定組織が影響versionを利用していることや、情報流出が発生したことの証拠ではありません。対象は公表されたgit_add path問題であり、repository内の全advisory、すべてのGit引数、変更系Git toolの正当な副作用までは含みません。公式servers projectもreference implementationでありproduction-readyではないと説明しているため、本番利用には配備固有のthreat modelとcontrolが必要です。