部署指南 2026-05-06 約 10 分鐘

2026年 OpenClaw 插件 fail-closed 與 manifest 強制聲明在遠端實體 Mac 7×24 閘道落地

openclaw doctor 稽核清單、ACP dispatch 開關與受控回滾 Runbook(grep 片段 + FAQ)

平台與資安工程師遠端實體 Mac當無人值守閘道時,很快就會發現每個外掛都是供應鏈:一條靜默繞過 allow-list 的路徑,就能在凌晨執行未宣告的網路或檔案系統存取。本文把強制 manifest(無有效 manifest 即不載入)與 fail-closed(驗證失敗即拒絕執行、而非默默放行)收成可勾選的 openclaw doctor 項與可貼變更單的 grep;並整理兩張決策矩陣七步受控回滾FAQ。若你也在多區節點上對齊解析視線,可併讀 staging 與 split-horizon DNS 的跨國實體遠端 Mac 決策矩陣;外掛治理與節點池選型可參考 2026 全球 Mac 資源池構建指南

2026 OpenClaw 外掛 fail-closed 與 manifest 於遠端 Mac 閘道

1. 導讀與範圍

在機房裡無頭運行的 Mac 上,外掛就是攻擊面的一部分。2026 年的主流做法是 強制 manifest(沒有合規 manifest 就不載入)加上 fail-closed(驗證失敗即拒絕執行,而非靜默放行)。

本指南把上述姿態落成 doctor 可勾選項與可附在變更單上的 grep,並把 ACP(Agent Client Protocol)dispatch 視為「誰能進入外掛排程器」的總開關。請與快照搭配,讓回滾 RTO 落在維護視窗內。範圍不含各雲端模型供應合約;假設 launchd 已釘選服務使用者與 WorkingDirectory。環境變數與 SecretRef 在 SSH/LaunchAgent 下的差異,見 OpenClaw 環境變數與 SecretRef 實戰 Runbook

2. 痛點拆解

  1. 限制:隱性權限與「能跑就先上」。 manifest 未列出的 fsnetworksubprocess 等在 fail-open 模式下常被靜默允許,稽核無法證明「當下到底放行過什麼」。
  2. 隱性成本:doctor 綠燈 ≠ 政策已上線。 openclaw doctor 可能涵蓋執行時與埠位,但熱重載從未讀到新的 manifest 強制旗標——對外仍是舊行為。
  3. 穩定與稽核:沒有成對快照的回滾只是口號。 過激的 fail-closed 會在半夜打斷合法自動化;若沒有「設定 + 外掛 bundle」成對快照,最後只能在 on-call 下徒手改 JSON,直接衝擊 7×24 SLO。

3. fail-closed × manifest 決策矩陣

第一張表回答「要硬到什麼程度」;第二張把變更訊號對到驗收動作。

環境 Manifest Fail-closed ACP dispatch
正式區 7×24 閘道 強制 僅 allow-list 的 clientId/workspace
Staging 整合 強制 開(可按外掛 shadow) 團隊租戶放寬並保留完整 JSONL
開發者筆電 強制(建議鏡像正式) 可關以利迭代 本機全開或僅回環
變更訊號 建議動作 額外驗收
新外掛或大版本升級 金絲雀節點 + 雙 manifest diff doctor + grep 宣告的 schema 版本
更多外部 ACP/agent 用戶端 收緊 dispatch allow list 與速率限制 依 requestId 追蹤外掛 span
日誌大量 denied 且錯誤尖峰 先 shadow 計數再決定是否回滾 diff 回滾前後五分鐘視窗

4. openclaw doctor 稽核清單

把 doctor 當成「政策真的載入」的證明——逐項勾在變更單上(鍵名對應發行版文件中的 openclaw.json 或環境變數)。

  • 執行時與 PATH:與 launchd 使用者一致;which openclaw 與 plist 二進位路徑一致。
  • Manifest 解析:印出有效的外掛根;強制開啟時拒絕無 manifest 的目錄。
  • Fail-closed 旗標:doctor 印出布林值與來源檔;WARN 視為上線阻擋項。
  • ACP dispatch:開關狀態與 allow-list 筆數;dispatch 開著但 allow list 為空應警告「沒有任何用戶端可進入」。
  • 外部健康:本機 curl/ready(若有)成對檢查,避免「自檢綠燈、反代紅燈」。

5. ACP dispatch 開關

此處 ACP dispatch 指:來自 agent 用戶端(IDE、CLI、外部編排器)的請求,是否允許進入外掛排程器。搭配 fail-closed 時,建議順序為 先用 manifest 驗證外掛集合,再以 dispatch 守大門,避免被入侵的用戶端直接跳進高風險 hook。

示意 JSON(上線前請替換為貴司發行 schema 的正式鍵名):

{
  "plugins": {
    "requireManifest": true,
    "failClosed": true,
    "manifestSchemaVersion": "2026-05"
  },
  "acp": {
    "dispatchEnabled": true,
    "allowedClientIds": ["ci-runner-prod", "vscode-workspace-ops"],
    "denyByDefault": true
  }
}

allowedClientIds 與內部 OAuth 或 mTLS 主體對齊,並在 JSONL 記錄 clientId × pluginId 的笛卡兒積以供鑑識。

6. 驗收用 grep 片段

於封存目錄或現場工作區執行(路徑請自行調整):

# 明確的 fail-closed/requireManifest 旗標
grep -RniE 'failClosed|fail_closed|requireManifest|require_manifest' \
  ~/.config/openclaw ./openclaw.json 2>/dev/null

# 每個外掛目錄皆應帶 manifest(缺檔=不應載入)
find "$OPENCLAW_PLUGIN_ROOT" -maxdepth 2 -type f \( -name 'manifest.json' -o -name 'plugin.yaml' \) | wc -l

# 正式區 ACP dispatch allow list 不得為空
grep -Rni 'dispatchEnabled|allowedClientIds|denyByDefault' ~/.config/openclaw ./openclaw.json 2>/dev/null

若第一條 grep 全無命中,多半仍停留在隱式 fail-open——請勿僅憑肌肉記憶簽核正式區。

7. 七步受控回滾 Runbook

  1. 凍結:公告維護;暫停會擴大呼叫面的 cron。
  2. 快照:openclaw.json、外掛樹、launchd plist 與 doctor 標準輸出打成 tar。
  3. 強制 manifest 開:重載、grep 驗收、觀察「拒絕載入」計數。
  4. fail-closed 開:對未宣告能力統一錯誤碼;保留五分鐘 JSONL 基線。
  5. 收緊 ACP dispatch:先 shadow(僅記錄),再 deny-by-default。
  6. 回滾觸發:若 SLO 破裂,還原成對快照、launchctl kickstart、重跑 doctor。
  7. RCA:更新 grep 清單與工單;排程下次金絲雀。

8. 可引用數字與留存

  • 觀測視窗:政策變更後至少觀察五分鐘滑動視窗再決定留用或回滾——啟動尖峰不算事故。
  • 快照留存:正式區保留三份可還原設定修訂,每份附外掛 tarball 校驗和。
  • 稽核留存:完整 doctor 輸出與 grep 擷取應與工單綁定至少 30 天,以滿足常見內規抽檢。

9. FAQ

manifest 明明列了能力,為何仍被視為「未宣告」?

比對 doctor 印出的解析路徑與你實際編輯的檔案;留意 schema 版本與欄位大小寫。必要時在 staging 用同一 bundle 開完整載入日誌重跑。

關閉 dispatch 後,舊工作階段還會叫用外掛嗎?

視佇列與實作而定:重載後,若 SLO 允許可丟棄未確認工作,再以唯讀煙霧測關鍵路徑。

fail-closed 能與 shadow 模式並存嗎?

可以——shadow 只累加「本將拒絕」計數而不改 HTTP 狀態;待曲線平緩再升級為硬拒絕。

簡體版對照:OpenClaw 插件 fail-closed 与 manifest(简体中文)

10. 總結:為何在 Mac mini/macOS 上落地更順

外掛治理把信任從「口頭默契」推進到機器可驗證的政策:manifest 綁能力邊界、fail-closed 定義失敗姿態、ACP dispatch 縮小入口面,doctor 與 grep 則補上稽核期待的證據鏈。

macOS 上,這與 launchd、Unified Logging、Gatekeeper、SIP 疊加得很自然。Apple Silicon Mac mini M4 待機功耗約 4W 量級,適合常駐閘道與旁路探針;相較同價位泛用迷你主機,長工作階段下 OpenClaw、健康匯出器與輕量 CI Runner 共機時通常更穩。

若你希望把本文 Runbook 跑在託管實體節點而非自建機櫃,Mac mini M4 仍是 2026 年極具性價比的起步選擇——取得遠端實體 Mac,把 manifest 強制與回滾變成可重複程序。

實體 macOS 節點

為 OpenClaw 外掛治理準備一台 7×24 遠端 Mac

ZoneMac 提供 Apple Silicon 實體 macOS,便於 manifest 硬化、可稽核回滾與閘道觀測。

按需開通 SSH 原生 安全可靠
macOS 雲端租賃 超低價限時優惠
立即獲取