OpenClaw MCP サーバ allowlist と tools.exec 方針:2026 貸出 Mac mini マトリクス
セキュリティアーキテクトは VmMac から 貸出 Apple Silicon Mac mini へ OpenClaw を載せ、tools.exec を堅くしたのちに、モデルが依然として顧客 DB を読みにいく、あるいは外向き Webhook を起こしうる MCP サーバ へ届くのを知ります。本 2026 マトリクスは MCP を 第二の exec 表面 として扱います。トランスポートは違うが、衝撃半径は同程度です。信頼境界の比較、ジョイント allowlist パターン、八段の統制、そして 香港・日本・韓国・シンガポール・米国 フリート用の可観測性 2 列表を用意しました。実行承認、第三者スキル サプライ チェーン、導入とデプロイと併せ、いずれか一つの方針ファイルだけに頼りません。接続パターンは 接続手順、高リスク MCP ゲートウェイ専用ホストを分ける費用は 料金、GUI デバッグが要る切迫時は VNC をブレークグラス専用として文書化します。
シェルが固くても、MCP が第二の exec 表面である理由
MCP は、しばしば stdio、時には HTTP や WebSocket でモデルと道具を接続し、exec allowlist が想定した argv パースの外に出ます。侵害された MCP サーバは、「ツール結果」として流出チャンクを流しながら、ダッシュボード上では tools.exec.security=deny が緑のままかもしれません。MCP カタログを、小さく、レビューされ、版付けされ、退屈に—追加の sudoers の束として扱ってください。
- 信頼したと思っていた LAN 上で、TLS を平文に落とす トランスポート ダウングレード。
- 二つの MCP サーバが、実装の違う重複名で登録する ツール シャドーイング。
- 遅い MCP 呼び出しがワーカープールを使い果たしても、CPU アラームを踏まない 遅延のマスキング。
マトリクス:トランスポート、アイデンティティ、exec ルールの止まる場所
| 表面 | 主リスク | 自然な制御 | 典型的な抜け穴 |
|---|---|---|---|
tools.exec |
ホスト シェルからの持ち出し | argv allowlist + ask モード | 幅広い sh -c ラッパ |
| MCP stdio サーバ | ローカル プロセスの偽装 | バイナリパス固定+チェックサム | launchd plist 内の可変 PATH |
| リモート MCP(HTTP) | SSRF とトークン窃盗 | mTLS + DNS allowlist | 本番 plist に共有ステージング DNS |
コードレビューを生き残るジョイント allowlist パターン
git に二つの成果物を置きます:exec-allowlist.v1.yaml と、ペアのオーナーがいる mcp-catalog.v1.json。MCP エントリごとに バイナリの SHA256 かコンテナ digest、最大 RPS、データ分類ラベル(PUBLIC, INTERNAL, CUSTOMER)を必須にします。宣言したデータ分類が、その VmMac リージョンの処理承認を超えていればブロックします。エントリが変わるたび、semver を揃えて一緒に上げ、CI が部分プロモーションを弾けます。
HTTP の MCP では、証明書を SPKI ハッシュで固定し、45 日周期で、金曜夜の即席切替ではなく重畳期間付きで回します。
モデルに「MCP URL を一つ足して」と言わせられたら、ファイアウォール変更と同格に扱い、脅威ブリーフ、ロールバック試験、10 分以内にカタログ エントリを殺せる当番名を要請します。事後分析では、マニフェスト版と併せてプロンプトのハッシュを残し、方針退行とモデル ドリフトを切り分けます。非対話 launchd 下のゲートウェイでは、MCP クライアントが誰も答えられない TCC ダイアログを出しませんか—止まったように見えて、実はパーミッション デッドロックです。
マルチリポのモノレポなら、リポジトリ接頭辞で MCP ツール名に名前空間を付け、二つのサービスが、異なるデータ スコープで同じ呼び出しに応じる最悪の交差漏洩を防ぎます。
共有の貸出 Mac mini 上の多テナ:ラベル、ポート、状態根
VmMac の顧客は予算のため 1 台の mini を二つに分けることも—MCP にとって危険です。プロセス名前空間は同じカーネルを共有します。本番とステージングのゲートウェイのように、LaunchAgent ラベル、TCP ポート、状態ディレクトリをまったく分けてください。二つのチームを同じ既定 MCP ソケットに向けないでください。衝突は、監査地獄のテナント横断ツール結果を生みます。
2026 八段階の統制ラダー
- 使っているすべての MCP トランスポートを棚卸しし、収益ワークフローに結び付かない実験的なものを削除する。
- 動いているホストからマニフェストを生成し、週次で git と差分を取る。
- 新しい MCP バイナリを、本番の exec allowlist と組み合わせる前に、exec 拒否のサンドボックス ホスト層で走らせる。
- MCP の接続・切断に相関 ID を入れた構造化ログを有効化する。
- 読み取り専用エンドポイントを一時間に一度、合成プローブで叩く。
- 一リージョンで 72 時間カナリアしてから、グローバルに昇格する。
- ロールバック:可能ならゲートウェイ全体の再起動なしにカタログ エントリを無効化する。
- 四半期テーブルトップ:MCP 証明書の侵害を仮定し、負荷下で回転演習をする。
誰かを起こすべき可観測性シグナル
| 信号 | 行動 |
|---|---|
| 1 時間に MCP TLS 検証失敗 > 0 | プロモーション凍結。MITM か時刻ずれ |
| カタログにない新 DNS 名 | イグレスで拒否。セキュリティ インシデント化 |
| MCP 遅延 p95 > 基準の 2.5 倍 | モデル トラフィックを絞る。上流の飽和を見る |
本マトリクスとスキル、exec ランブックの接線
スキルはモデルに新しい MCP 接続を指示するプロンプトを載せることがあり、スキルのピン留めと MCP allowlist は一緒に昇格しなければなりません。exec 承認の方針は、非常用チケットがない限り、代替 MCP スーパーバイザ バイナリの起動を明示的に禁じると書きます。二層が揃うと、香港・日本・韓国・シンガポール・米国の貸出フリートは、五つの雪だるまではなく一つの機器層のようにふるまいます。
FAQ:Mac mini 上の MCP と tools.exec
ランブックは、シェル フラッグの方をオペレーターが覚えている—RPC カタログではない—前提で、両表面を隣の列に載せ、今週フリートがpinした正確な git タグにリンクする 1 枚チートシートを出してください。
一つの JSON ファイルで両方を統治できる? 技術的には可能だが、レビューは文脈を失う—別ファイルにし、版番号をリンクする。
MCP サーバに VNC は要る? ふつうはいいえ。デバッグなら、本番の launchd ではなく break-glass 用ホストで。
ローカルの Ollama エンドポイントは? MCP/HTTP 同様、ループバック束縛の検査付き。リスナ 0.0.0.0 は拒否する。
Mac mini M4 と VmMac は二表面エージェントに合う
Mac mini M4 なら、ゲートウェイと軽量 MCP サーバを、スワップ圧力を常に感じることなく同居しやすく、第二の mini で実験用を切り出せもします。VmMac の各リージョンは、オーケストレーションの書き換えなしに、データ所在要件の近くへ MCP 重めの負荷を置けます。借り物なら、財務と新 VM テンプレ交渉より速く、汚染した MCP プロファイルをポリシー再イメージで捨てられます。