メインコンテンツへスキップ
「ラグプル」は、承認後にツール定義を変える MCP サーバーです — 信頼されたツールを 何か新しいことをするよう再定義する、あるいはひっそりとツールを追加する。OrcaRouter は これをスキーマレイヤーで捕捉します:各サーバーのアドバタイズされたツールセットを ベースライン化し、すべてのロードで再チェックするため、ドリフトはフェイルクローズし、 変化したツールを静かに提供することはありません。 このページは、サーバーごとのスキーマステータスと、各状態がトラフィックにとって何を 意味するかのリファレンスです。

1. ベースラインフィンガープリント

最初の接触で、ゲートウェイはサーバーのアドバタイズされたツールセットの正規ハッシュ を計算し、承認されたベースラインとして保存します:
  • ハッシュはすべてのツールの名前、説明、入力 JSON スキーマをカバーします — まさにラグプルが変えるサーフェスです(持ち出し引数を得るツール、あるいはプロンプト インジェクション向けに武器化された説明は、ハッシュを反転させます)。
  • それは順序に依存しません:サーバーがツールリストを並べ替えても、スキーマ内の キーを並べ替えても、変更とは見なされません。本物の定義変更だけがハッシュを動かします。
その後のすべてのプローブで、ゲートウェイはライブツールを再ハッシュし、保存された ベースラインと比較します。これはサーバーごとのチェックです — あなたが作成する任意の ルールに依存しません。

2. スキーマステータスのライフサイクル

各登録済みサーバーは schema_status を持ちます。状態と、それがサーバーのツールが 提供されるかどうかにどう影響するか:
ステータス意味ツール提供?
(ベースライン化されていない)初回使用 — まだベースラインが記録されていない。ディスカバリー姿勢:はい(trust-on-first-use — 現在のスキーマがベースラインとして捕捉されます)。ストリクト姿勢:いいえ — 下記 pending を参照。
verifiedライブスキーマが承認されたベースラインに一致。はい
changedドリフト検出 — ライブスキーマがベースラインと異なる。いいえ — フェイルクローズ
pendingストリクト(trust-on-first-use なし)姿勢下でベースライン化されていないサーバー — 承認待ち。いいえ — フェイルクローズ
quarantined管理者がサーバーを保留した。いいえ — フェイルクローズ
3 つのクローズ状態 — changedpendingquarantined — はすべて、サーバーの ツールがゲートウェイ経由で提供されるのを停止します。verified は常に提供します; ベースライン化されていないサーバーは、ディスカバリー姿勢(trust-on-first-use)の 下でのみ提供され、ストリクト姿勢の下では pending として保留されます。ドリフトが 静かに通過することは決してありません。

3. ドリフト時に何が起こるか

再チェックでライブスキーマがもはやベースラインに一致しないことが判明したとき:
1

ステータスが changed に反転する

サーバーの schema_statuschanged になり、ドリフトのタイムスタンプが記録 されます。
2

ツールの提供が停止する

ゲートウェイはフェイルクローズします:そのサーバーのツールは統合された MCP サーフェスから差し控えられるため、エージェントは変化した定義を呼び出せません。
3

コンソールがそれを表面化する

ドリフトはレビュー用に表示されるため、管理者は新しいツールセットを承認されたものと 比較できます。
4

再ベースライン化または隔離

管理者は新しいスキーマを承認する(再ベースライン化する — 現在のツールセットが 新しい verified ベースラインになる)か、サーバーを隔離します。そのいずれかが 起こるまで、サーバーはクローズのままです。

4. ドリフトしたサーバーの再承認

再ベースライン化は単一の呼び出し(またはコンソールアクション)です:
POST /api/workspace/firewall/mcp_servers/:id/approve_schema
Developer ロールが必要です。これはライブツールセットを新しい承認済みベースライン として記録し、サーバーを verified に戻します。(サーバーの隔離は、変更が敵対的だと 判断したときのための別個のアクションです — approve_schemaverified への 再ベースライン化だけを行います。)このアクションは監査トレイルに書き込まれます。
差分をレビューした後にのみ再承認してください。チェックせずにドリフトしたスキーマを 承認すると、この制御を無効にします — それは OrcaRouter に、新しい(おそらく悪意の ある)ツール定義が信頼されていると伝えます。

5. これがどこに収まるか

スキマドリフト検出は、ラグプル防御のスキーマレイヤー半分です;もう半分は mcp サーフェス上の呼び出しごとの評価です(すべての tools/call がディスパッチ時に あなたのポリシーに対してチェックされます)。両者は「定義が変わった」と「この特定の 呼び出しは危険だ」の両方をカバーします。

ラグプル防御

完全なラグプル像 — スキーマベースラインと呼び出しごとの評価。

MCP セキュリティ概要

MCP ゲートウェイ、スキル、クレデンシャル。

MCP ツールポイズニング

このステートマシンが防御する脅威。

MCP 監査イベント

スキーマ変更とゲートウェイ決定の監視。