AI 自動化 2026年4月7日

2026 實操矩陣:Mac mini M4 上 OpenClaw 工具白名單、檔案系統沙箱與無頭閘道器落地

NodeMac Team

安全與自動化編輯

OpenClaw 閘道器一旦能呼叫任意 shell 或檔案工具,等價於在伺服器上給模型一把「弱化 root」。2026 年推薦做法不是事後審計日誌,而是在無頭 Mac mini M4 上預先劃定工具白名單目錄沙箱:按讀、寫、執行、網路四象限制能力,再配專用 Unix 使用者與 launchd 生命週期。本文為可抄表的矩陣、禁止路徑清單與八步落地序列,並附 FAQ 結構化資料。

金鑰與 plist 基線見 鑰匙串與 .env;守護程序驗收見 無頭 onboard 驗收;零信任視角見 零信任加固。需要圖形複核時用 VNC;套餐見 定價

三類典型事故:不是「模型變壞」而是邊界沒畫

  • 遞迴刪庫:工具被授予對父目錄的寫許可權,一次誤解析即可清空工作區外路徑。
  • 金鑰外帶:可讀 ~/.ssh 或瀏覽器配置時,日誌脫敏也攔不住模型把路徑拼進回覆。
  • 橫向移動:閘道器程序與 CI Runner 同使用者時,工具鏈可讀取另一應用的臨時令牌檔案。

工具能力四象限矩陣

能力 生產預設 排障臨時窗
讀檔案 僅工作區 + 顯式 allowlist 變更單批准下可讀 /var/log 子集 ≤4 h
寫檔案 僅工作區內臨時子目錄 禁止寫到 /usr/local 等系統樹
執行命令 白名單可執行檔案(雜湊或路徑固定) 可擴充套件到 curl 等需雙人複核
出站網路 僅模型 API 與已登記 webhook 端點 臨時放行需 SIEM 規則同步

目錄邊界與「永遠禁止」列表

路徑模式 原因
~/.ssh/** 私鑰與 known_hosts 組合可導致橫向移動
~/Library/Keychains/** 鑰匙串檔案不應被工具直接讀寫
/System/**、/Library/Preferences/**(系統級) 誤改可致不可啟動或安全策略漂移

合規提示:若工作區含個人資料,工具「讀」許可權應服從資料分類標籤;跨境場景下日誌與工具審計記錄保留期限需與 DPA 一致。

預發與生產的配置分叉策略

預發可略寬以便研發除錯,但「寬」應體現在更短的臨時視窗而非永久目錄。推薦用兩套配置檔案,透過環境變數切換;合併到生產前執行 diff,禁止手工合併。預發發現的合法新工具,須經安全評審後同步寫入生產的 allowlist 版本號並留檔備查。

八步無頭落地清單(macOS)

  1. 建立專用使用者 openclaw-svc,禁止登入 shell 或改為 /usr/bin/false
  2. 掛載工作區/srv/openclaw/workspace,屬主為該使用者,許可權 750
  3. 在配置中宣告 allowlist 工具名與引數模式,版本控制入庫。
  4. 為閘道器 plist 設定 UserName 與最小環境變數集。
  5. 啟用系統防火牆 出站規則:預設拒絕,僅放行 API 與登記 webhook IP 段。
  6. 整合審計:工具呼叫寫結構化 JSON 一行一日誌,含 request_id。
  7. 月度演練:嘗試讓模型呼叫未授權路徑,應穩定失敗並告警。
  8. 文件化例外:任何臨時擴權必須關聯變更單號與回滾時間。

多租戶與多工作區時的字首隔離

若一臺閘道器服務多個業務線,建議為每個租戶掛載獨立子目錄,如 /srv/openclaw/tenants/<id>/workspace,並在工具層強制路徑字首校驗。禁止透過符號連結跳出租戶樹;定期用 find -L 掃描異常連結。租戶級出站網路表也應拆分,避免 A 業務錯誤配置拖累 B 業務的 API 白名單評審。

當同一主機上還執行 CI 與 Agent 混池 時,務必將閘道器程序使用者與 Runner 使用者分離,檔案 ACL 遵循「預設拒絕」原則,僅對必要共享快取目錄設組讀許可權。

與運維 runbook 的銜接

升級閘道器版本前,先在預發對比工具 schema 是否新增隱式能力;若新版本預設開啟更廣檔案訪問,應在變更視窗先收緊配置再發布。參考 運維 runbook 中的回滾順序,避免「升級 + 擴權」疊乘。

與獨佔硬體結合

NodeMac 在香港、日本、韓國、新加坡與美國提供專用 Mac mini M4,適合為閘道器與 CI 分配不同物理機,從硬體層消除同使用者檔案競爭。按需租用可在合規審計期單獨起一臺「僅沙箱驗證」主機做滲透式自檢。

與 API 限流策略的關係

檔案沙箱不替代上游限流:當模型頻繁觸發工具重試時,應同步參考 多模型故障轉移與超時 調低併發或切換模型,否則沙箱內會產生大量臨時檔案撐滿工作區。

日誌與沙箱的一致性

若啟用 閘道器日誌輪轉與脫敏,確保「被拒絕的工具呼叫」同樣落盤,便於證明策略生效,滿足審計「可追責」要求。

對外整合 Slack/Discord 時,勿在通知正文貼上完整檔案路徑或命令列;可參考 Webhook 整合 中的訊息模板,將詳情留在受控日誌索引中。這樣即使 IM 被轉發,也不會擴大沙箱邊界資訊的外洩面。

供應鏈與依賴更新視窗

Homebrew 或 npm 全域性包更新可能悄悄新增可被呼叫的二進位制路徑。每月維護窗應用只讀快照對比 PATH 解析結果,把新出現的可執行檔案納入評審:要麼加入白名單並記錄用途,要麼從服務使用者的 PATH 中剔除。未評審路徑不應出現在 launchd 環境中。

對透過 安裝與部署指南 裝機的節點,建議在交付清單中附帶「首次 allowlist 雜湊」欄位,後續變更必須走雙人複核,防止靜默漂移。

常見反模式

生產環境把 sudo 放進白名單;允許模型對 ~/Downloads 遞迴刪除;與研發個人賬戶共享同一主目錄——均屬高風險配置,應在程式碼評審階段一票否決。

將本矩陣列印為檢查表,與 doctor 健康診斷 的輸出一併歸檔,可在季度安全覆盤時快速定位漂移項。

要獨立閘道器機做沙箱驗證?

M4 物理隔離、多區域、SSH/VNC。

NM
NodeMac Cloud Mac
5分鐘部署

在雲端租用專用的 Apple Silicon Mac。SSH/VNC 訪問,港·日·韓·新·美節點。

立即開始