安全 2026年4月24日

在共享租用的 Mac mini 上:OpenClaw 執行審批與白名單 2026(VmMac)

VmMac 工程團隊 2026年4月24日 約 24 分鐘閱讀

平臺安全負責人在 VmMac 的租用 Apple Silicon Mac mini上部署 OpenClaw 時,必須把 tools.exec 當作主機級根權限的閥門,而不是“又一個插件”。社區文檔裏,執行審批描述的是自主智能體與 shell 命令之間的聯鎖:策略同時約束安全模式詢問行爲白名單,並在無界面時配合保守的 askFallback。本 2026 矩陣把上述概念轉寫爲在 launchd 託管網關上可執行的運維動作,覆蓋香港、日本、韓國、新加坡與美國。請與 祕密、環境與 LaunchAgent plist預發與生產 launchd 隔離Node PATH 紀律 交叉閱讀,讓審批線不至於成爲唯一防線。若你還在同一主機混跑其他自動化,務必把 PATHWorkingDirectory 的變更納入變更評審,並與 結構化日誌與輪轉 的字段對齊,便於事後用同一套查詢語言取證。

執行策略並不是“開一次會就永遠正確”。上游在 2026 年對提示語義、超時與 full 模式的討論仍在演化——這意味着你必須鎖版本、讀發行說明、在預發小機上打完整演練,再推進生產。把“某次熱修臨時放開 full”記進工單並設自動過期,比指望值班記得手工收回要可靠得多。

VmMac 提供 SSH 與可選的VNC;策略文件與審計軌跡歸你方所有。請使用 幫助文檔 瞭解訪問模式,在收緊執行規則後把生產級智能體拆到專用主機上時,先查閱 定價與區域。把白名單的 CODEOWNERS、變更窗與回滾點寫成一頁紙,會顯著減少“誰改了 argv 模式卻沒人知道”的灰色地帶。

單臺 macOS 上的共享租戶威脅模型

當兩個團隊共享一個 macOS 用戶——或雖是不同用戶卻同屬能改策略的組——執行白名單也擋不住被入侵的依賴去改磁盤上的策略文件。要疊加層次:非管理員的自動化賬號、git 中不可變、帶校驗的策略構件、以及分環境的 OpenClaw 狀態根。若同機既有無人值守智能體,又有超過一人持有 sudo,在角色拆分前應把該機器標爲不合規,而不是自我安慰“審批彈窗會救我們”。在租用環境裏,機時成本會誘使人們把更多實驗堆上同一臺金屬;威脅建模應把這種誘惑當作首要輸入。

對安全與平臺聯合評審,可以要求演示:在不觸發 GUI 的前提下,僅通過文件與權限即可把策略從 allowlist 暫時扭成更寬的模式——如果做不到可觀測的拒絕或報警,該設計就尚未及格。

  • 數值告警:無人車道上 exec.approval.requested 每小時超 40 次應呼叫——通常是策略配錯或“提示風暴”。
  • 數值告警:滾動 24 小時內 deny 結果佔執行嘗試的 15% 以上時暫緩晉升;你可能在應自動化的安全路徑上欠賬。

tools.exec.security:deny、allowlist 與 full

模式 含義 在 VmMac mini 上較合適 風險註記
deny 阻止所有主機執行 只讀研究型機器人 外泄面爲零;工作流可能斷裂
allowlist 僅匹配命令 共享的 CI 鄰接主機缺省 需每週有紀律地複審列表
full 寬鬆執行 僅臨時沙箱 視若臨時;最長 72h TTL

詢問模式、提示風暴、以及無頭 launchd 的 askFallback

詢問策略決定操作者是否需確認風險命令。在 launchd 下,總是詢問且沒有配套 UI 等於自造事故:任務會卡到超時。無人主機可優先 on-miss 配緊白名單,並把 askFallback 設爲 deny,除非你真有 7×24 的指揮通道。產品升級若改變審批語義——2026 年上游討論裏多次強調過——要鎖 OpenClaw 版本並在預發 mini 上完整彩排後再動生產。

將“人要在多少秒內回答”與 on-call 排班綁定:若你只在亞太排了主值班,而策略文件在全球同步,無頭美西節點可能在你熟睡時把隊列堵死。地理與策略修訂的耦合必須在運行手冊中寫清。

無頭規則:120 秒內無人能應答,則無人執行應默認拒絕,並記錄可複審的結構化上下文,供之後人工批准。不要讓智能體在無人觀看的彈窗上等到天亮。

白名單結構:前綴、argv 模式與可審計性

好的白名單讀起來像基礎設施代碼:顯式指定 /usr/bin/bin 與釘死的工具鏈路徑——除非經評審的包裝腳本在 git 裏,否則不要給寬泛的 sh -c 通配。Homebrew 升級後依賴路徑會漂移,把這種變更和 安裝與部署指南 的檢查點對齊。也可把表拆爲三層引導(包管理器與健康探針)、構建(編譯器與測試運行器)、發佈(對批准端點的 rsync/scp/curl),每層在 CODEOWNERS 中有 owner。事件響應時,先凍非引導層,讓運維仍能重啓網關而不必把 full 開得過寬。保留一把臨時的破窗項,48 小時後必須自動失效並開還原工單——人的健忘就是通配 shell 復辟的原因。

模式 結論 原因
/opt/homebrew/bin/git 與固定子命令 ✓ 優先 argv 面可審
bash -lc "curl … | sh" ✗ 阻止 下游執行面不受限
/usr/local/bin/vm-* 包裝腳本 ✓ 若已簽名且版本化 集中承載策略變更

爲何 launchd 改變審批的交互體驗

有桌面的用戶能在 UI 裏點掉審批。launchd 代理不能。要彌合,要麼 成對的值班工作流(把告警打到帶簽名批准鏈接的頻道),要麼極罕見的、文檔齊全的 專用 VNC 破窗賬號——並與 VNC 加固同頁說明。絕不要讓智能體在無人值守的夜間等 GUI 提示。對待批准隊列深度設指標:若積壓超過 5 條且持續 10 分鐘 以上,應呼叫基礎設施團隊而不是先懷疑模型組。持續積壓通常表明白名單對真實任務過緊,或無人車道上詢問模式設錯。事故後把被拒的 argv 前綴寫進覆盤模板,避免 30 天內同一漏檢再擾人清夢。若運行 多智能體 24h 自動化 集羣,應把高風險工具 shard 到更嚴 deny 缺省的主機,讀多寫少的研究負載放在別的標籤上——把風險混在同一份 plist 裏只會把批准變成噪音。

七步加固手冊

  1. 盤點每個調用主機執行的工具,標記爲必須保留應刪除
  2. 在預發把 tools.exec.security=allowlist,用七天時間收集拒絕。
  3. 白名單 v1 控制在 ≤25 條;每條在 git blame 有理由。
  4. 無人主機設 ask=on-missaskFallback=deny
  5. 結構化日誌與輪轉 接線審批事件。
  6. 五個區域各用一臺 VmMac mini 演練升級後再切生產。
  7. 季度紅隊:嘗試 curl | bash 式任務,確認走拒絕路徑。

五地策略一致

時延並不改變執行語義,但值班的日曆會:新加坡週五發版時可能錯過美國週四已經分叉的策略。把策略校驗和放在可觀測性棧中,任一地多於一版修訂即讓 CI 失敗。容量喫緊時先用 定價 加機,而不是在負載下臨時放大白名單——這種捷徑幾天內就會長成債務。

若你把網關恢復流程記在 恢復運行手冊 中,也應在同一頁寫清“策略回滾的先行順序”:先收斂 argv,再談擴權。

常見問題:租用 Mac mini 上的執行審批

預發與生產能共用一份白名單嗎? 不能——像應用代碼一樣分文件、評審合併。

VmMac 會強制 OpenClaw 策略嗎? 不會——由你方實現;我們提供 Mac mini 與網絡路徑。

升級又打開提示了怎麼辦? 鎖版本、讀發行說明,並按 網關恢復 在預發先演一遍。

爲何 Mac mini M4 與 VmMac 仍適合高保障智能體

Apple Silicon Mac mini 爲常開智能體提供可預測的單機性能,且相較嵌套 VM,物理 TCC 邊界更直觀。在香港、日本、韓國、新加坡與美國分別租用,可在全球推廣前用更小機羣試跑更嚴的執行策略。VmMac 不是策略引擎,而是可切分的金屬。把硬件租約與執行白名單配在一起,自主工具在資產負債表上纔會真正顯得“無聊”。

先隔離智能體,再放大執行面

在最近的 VmMac 區域加一臺專用 Mac mini,做預發批准與白名單燒機。