tools/call をディスパッチ時に
あなたのライブポリシーに対して評価します。各登録済みサーバーのアドバタイズされた
ツールセットは最初のプローブでベースライン化されドリフトを再チェックされます —
ツールスキーマが承認されたベースラインから変化すると、管理者が再承認または隔離する
まで、サーバーはフェイルクローズします。そしてスキル
レイヤーは、インストールされたすべてのケイパビリティにリスクバンドと強制モードを割り
当て、リスクのあるものやレビューされていないものを、人間が承認するまで隔離します。
サーバーは、最初の 100 回の呼び出しでおとなしく振る舞うことでフリーパスを獲得する
ことはできません。
1. なぜ MCP ラグプル保護に呼び出しごとの評価が必要か
接続時のレビューは、1 つの問いに一度だけ答えます:このサーバーをリストに載せるのは 安全か? それは、ランタイムで実際に重要な問いには答えられません:この特定の 呼び出しは、これらの特定の引数で、今この瞬間安全か? OrcaRouter は 2 つ目の問いに答えます。ゲートウェイを越えるすべてのtools/call は、
ツール名と引数を手にした状態で、実際のサーバーにディスパッチされる前に
mcp サーフェス上で評価されます。判定は毎回新たに計算されるため、ツールが
あなたのポリシーが禁じる何か — 引数でシークレットを持ち出す、拒否されたホストに
到達する、承認していないケイパビリティを呼び出す — を始めた瞬間、同じツールが 1 分前に
どう振る舞ったかにかかわらず、その呼び出しは止められます。
呼び出しごとの評価は、各呼び出しの挙動 — 引数の内容、宛先、所有元スキルの
リスク — を統制するため、ツールが同一のシグネチャを保ちその挙動だけが敵対的に
なる場合でも、ラグプルを捕捉します。スキマドリフト検出(下記 §)は補完的なレイヤー
です:サーバーのアドバタイズされたツールセット自体が変わるケースを捕捉します。両方が
実行されます。
mcp サーフェス上で返せる判定:
allow / audit
サーバーに転送されます。
audit は呼び出しをログに記録します;allow は静かに
します。sanitize
ツール呼び出しの引数を先にリダクトして転送します(サーバーが返すものを
書き換えることは決してありません)。
deny
ツールエラー(
firewall deny: …)としてモデルに返されるため、エージェントは
クラッシュする代わりに適応できます。pending_approval
呼び出しは、実行できる前に人間が解決するために保留されます。
2. スキルのリスクバンド隔離
ラグプル防御のもう半分はサプライチェーンをカバーします:エージェントがインストール するスキル、プラグイン、持ち込み MCP サーバーです。それぞれはワークスペース スコープのレコードとして登録され、決定論的リスクエンジンによってスキャンされ、 リスクバンド(low / medium / high / critical)と強制モードを割り
当てられます:
| モード | ランタイムでの効果 |
|---|---|
allow | ルール判定が決定します;スキルは何も追加しません。 |
quarantine | deny に満たないものはすべて pending_approval にエスカレートされます — ツールは人間が承認した後にのみ実行されます。 |
block | スキルのツールは即座に拒否されます。 |
auto_detected であり、レビューされるまで隔離されます —
クリーンにスキャンされたとしても、それ自身の権限で実行されることはありません。
そしてスキルのモードは再スキャンでより厳しくラチェットするだけです:あなたが設定
した block や quarantine は、マニフェストが再提示されたときに静かに緩められる
ことは決してありません。
完全なスキャナー、スコアリングの重み、信頼シグナルについては
ファイアウォール:スキルを参照してください。
3. ツールスキーマのドリフト検出
古典的なラグプルは、登録済みサーバーがアドバタイズするものを変えることです — ツールを追加する、ツールの入力スキーマを変える、説明をすり替える。OrcaRouter は、 各登録済みサーバーのアドバタイズされたツールセットを成功したプローブでベースライン化し、 ドリフトを監視します。最初のプローブでベースライン化
最初の成功したプローブが、サーバーのツールの正規ハッシュを記録します(ディスカ
バリー姿勢の下では trust-on-first-use;強制姿勢の下では、ベースライン化されて
いないサーバーは管理者がその初期ツールセットを承認するまで
pending として保留
されます)。ドリフトはフェイルクローズ
後のプローブで、正規ツールセットがもはや承認されたベースラインと一致しない場合、
サーバーは
changed とマークされ提供を停止します — あなたが決定するまで、
ゲートウェイはそのツールをディスパッチしません。承認または隔離
再承認して新しいスキーマに再ベースライン化するか、サーバーを隔離します。隔離された
サーバーは無効化もされ、明示的な承認だけがサービスを復元します — 単なる編集では
再有効化できません。
監査済み
承認されたベースラインからのドリフトの最初の検出は、ワークスペース監査エントリを
書き込むため、変更は記録に残ります。
unknown(ベースライン化されたことがない)、
verified(ベースラインに一致)、changed(ドリフト、保留)、pending(強制下で
ベースライン化されていない)、または quarantined のいずれかです。このレイヤーは
スキーマを動かすラグプルを捕捉します。呼び出しごとの評価(§1)は、同一の
シグネチャを保ち挙動だけを変えるものを捕捉します。
4. 具体例 1 つ
コミュニティ MCP サーバーnotes が無害な notes.search ツールをアドバタイズして
いるとします。あなたはそれをリストに載せ、レビューし、それは機能します。1 週間後、
サーバーは侵害され、notes.search はあなたのコンテキストを攻撃者ホストに POST する
持ち出し引数を添付し始めます。
接続時のみのゲートウェイはそれを転送するでしょう — ツール名とスキーマは変化なく
見えます。OrcaRouter は呼び出しを評価します:
args_match の演算子は eq、contains、regex、in、cidr_match、gt、lt
です;cidr_match は IP 値の引数を CIDR に対してテストします。ツールがどこに到達
してよいかをホスト/CIDR で制限するには、引数句の代わりに
egress 宛先リストを使ってください。)
ディスパッチ時、エンジンは deny を返し、呼び出しを転送する代わりにゲートウェイは
エージェントに MCP ツール結果エラー — トランスポート障害ではなく、エラーとして
フラグされた通常の結果 — を渡すため、モデルは適応できます:
5. どう組み合わさるか
呼び出しごとの評価 vs. スキル隔離 — どちらが何を捕捉するか?
呼び出しごとの評価 vs. スキル隔離 — どちらが何を捕捉するか?
呼び出しごとの評価は、信頼されたツールが悪意化すること — 同じ名前、引数や
宛先での新しい挙動 — を捕捉します。スキル隔離は、新しいまたはレビューされていない
ケイパビリティがそもそも出現すること — 自動検出されたインストール、新たに劣化する
再スキャンされたマニフェスト — を捕捉します。ラグプルはどちらの形も取りうるため、
両方が実行されます:スキルのモードが呼び出しごとのルール判定の上に乗ります。
これはサーバーのスキーマをベースライン化しますか?
これはサーバーのスキーマをベースライン化しますか?
はい — §3 を参照してください。各登録済みサーバーのアドバタイズされたツールセットは
最初のプローブでベースライン化されドリフトを再チェックされます;ドリフトした
サーバーは、再承認または隔離するまでフェイルクローズします。それは、同一の
シグネチャを保ち挙動だけを変えるツールも捕捉する呼び出しごとの評価と補完的です。
保留された呼び出しはどこへ行くか?
保留された呼び出しはどこへ行くか?
pending_approval 判定は、コンソール(Developer+)または HMAC 承認コールバック
経由で人間が解決するために呼び出しを保留します。保留と承認がエージェントに
どう表面化されるかについては
強制モードを参照してください。6. 設定する
以下の各ステップは、sk-orca-… リレーキーではなく、あなたのセッションまたは
アクセストークンで認証されるコンソール/管理アクションです。/v1/* リレー
トラフィックだけがリレーキーを使います。
MCP サーバーをゲートウェイの背後に登録する
各サーバーを接続して、そのツールがひとつの監査済み
エンドポイントの下でアドバタイズされるようにします。登録は Developer+ です。
mcp サーフェスにデフォルト判定とルールを設定する
tool_name_glob と args_match でルールを作成し、リスクのある呼び出しが deny、
sanitize、または pending_approval に解決されるようにします。
ファイアウォールルールリファレンスを参照して
ください。読み取り(設定、ポリシー、発見されたツール、異常)は任意の Member に開放されて
います;すべての書き込みは Developer+ です。ファイアウォールゲートウェイキーの
平文を読むことは Developer+ です。
関連
ファイアウォール:MCP サーバー
完全な MCP ゲートウェイリファレンス — 登録、プローブ、ディスパッチ。
ファイアウォール:スキル
スキャナーパス、リスクスコアリング、隔離の導出。
MCP ツールポイズニング
ラグプル防御が対抗するために存在する脅威モデル。
egress 制限
ツールが到達してよい先を制限するホスト/CIDR 拒否ルールを作成します。
信頼チェックリスト
MCP サーバーを信頼するためのエンドツーエンドのチェックリスト。
ガードレール vs. ファイアウォール
コンテンツポリシーがいつ適用され、ファイアウォールがいつ適用されるか。
