ログイン中: ゲストモード

Research2026年2月28日Abcas Security Research

接続不能でも判定を空白にしない: 10件で見た暫定判定の役割

10件のMCPサーバーのうち5件は、完全な接続証拠なしで暫定判定された。暫定判定は、欠けた証拠を無視するためではなく、判定空白を減らすために機能していた。

用語

用語意味
出所公開者の身元と配布経路が妥当かどうか
暫定判定完全な接続証拠がないときに返す保守的な判定
判定空白使える判定が返らず、運用判断が宙に浮く状態
部分検査実際に取得できた証拠だけで行う検査

リード

本番の検査では、接続不能は珍しくない。MCPサーバーが一時的にダウンしている、ネットワークポリシーで遮断されている、一部のエンドポイントだけ応答しない。こうした状況は実運用では日常である。

重要なのは、理想的には完全証拠の方がよい、という一般論ではない。完全証拠が欠けたとき、システムは何を返すべきかである。本稿では10件のサンプルから、空白判定より保守的な暫定判定の方が有用かを考える。

Key Findings

  1. 10件中5件が、部分証拠だけで判定されていた。
  2. 暫定判定の全件が WARN で、PASS でも BLOCK でも「判定不能」でもなかった。
  3. 暫定判定の主な根拠は 過去の検査履歴、公開者情報、パッケージメタデータ だった。
  4. 暫定判定の価値は、完全検査と同等の精度ではなく、判定空白を減らすこと にあった。
  5. 暫定判定は通常判定と分けて追わないと、接続性の問題をリスク上昇と誤読しやすい。

データセット

項目
対象10件のMCPサーバー
注目ケース完全な接続証拠なしで判定されたケース
中心指標暫定判定比率、判定結果、利用証拠
位置づけ探索的サンプル

なぜ空白判定が問題なのか

「判定不能」は技術的には正直だが、運用上は真空を作る。

結局、現場は次のどれかを決めなければならない。

  • 一時的に許可する
  • 一時的に遮断する
  • 手動レビューへ回す
  • 次回スキャンまで保留する

つまり、空白判定は中立ではない。判断の負担を、構造化された根拠なしで別の場所へ押し出している。

MCP検査では接続ギャップが珍しくない以上、この問題は設計対象にすべきである。

実際に観測されたこと

暫定判定比率

指標
全件10
暫定判定5
暫定判定比率50%

サンプルの半数が、何らかの部分証拠処理を必要としていた。
この時点で、暫定判定を例外扱いするより、前提として設計する方が自然である。

暫定判定で使われた証拠

証拠源利用件数
過去の検査履歴5/5
公開者 / 出所情報5/5
パッケージメタデータ5/5
依存関係の静的分析4/5

これらのケースは、何も分からないまま決められたのではない。
不完全ではあるが、意味のある証拠で決められていた。

暫定判定の結果

結果件数
PASS0
WARN5
BLOCK0
空白 / 判定不能0

この分布は設計意図そのものを示している。

  • PASS を出さないのは、ランタイムの確信が足りないから
  • BLOCK を出さないのは、証拠欠落だけで最重判定にしないため
  • WARN は、保守的にレビューへつなぐ中間状態として使うため

暫定判定は何のためにあるのか

1. 検査カバレッジを実用状態に保つ

暫定判定がなければ、このサンプルの半数は使える判定を持てなかった。
これはUI上の不便ではなく、カバレッジの欠損である。

2. 不完全証拠を完全証拠のふりで扱わない

暫定判定は、部分証拠を完全証拠と同一視しない。ただし、それでも「何も返さない」よりは保守的な判断を返す。その中間設計に価値がある。

3. 再検査の優先順位づけに使える

暫定判定は、そのまま再検査キューのシグナルになる。
証拠が欠けていた対象を、次回以降で優先的に取り直す理由を残せる。

暫定判定でできないこと

暫定判定には明確な限界もある。

十分に確認しにくいもの:

  • ランタイムの挙動整合性
  • 接続時にだけ表れる振る舞い
  • 一部の相互作用依存リスク

したがって、暫定判定は完全検査の代替ではない。完全検査までの橋渡しである。

実務上の提案

  1. 暫定判定比率を通常 WARN 率と分けて追う。
  2. ユーザー向け表示でも 部分検査 を明示する。
  3. 暫定判定対象は再検査キューで優先する。
  4. 接続不能が繰り返される対象は、別の運用シグナルとして扱う。

これが必要なのは、WARN 増加が同じ意味とは限らないからである。

  • 本当にリスクが増えたのか
  • 接続性が悪化しただけなのか
  • 対象の可用性が落ちたのか

この3つは別問題である。

限界

  1. サンプル数は10件であり、暫定判定の精度を大規模に評価したものではない。
  2. 後日の完全検査結果との比較は行っていない。
  3. 接続不能の原因分類は詳細化していない。
  4. 記事の目的は検査設計の説明であり、個票の特定ではないため、実名は出していない。

まとめ

暫定判定は、品質を下げる近道ではない。完全証拠が欠けたときに、判定空白を減らすための設計である。

今回の10件では、半数がその対象だった。もし空白判定を許容していたら、監視とレビューの実務は大きく痩せていたはずだ。保守的な暫定 WARN は、監視対象をレビューの流れの中に留めるために機能していた。


MCP Guard は、完全証拠が取れない場合でも、使える根拠に基づいて保守的な暫定判定を返す。