在共享租用的 Mac mini 上:OpenClaw 执行审批与白名单 2026(VmMac)
平台安全负责人在 VmMac 的租用 Apple Silicon Mac mini上部署 OpenClaw 时,必须把 tools.exec 当作主机级根权限的阀门,而不是“又一个插件”。社区文档里,执行审批描述的是自主智能体与 shell 命令之间的联锁:策略同时约束安全模式、询问行为与白名单,并在无界面时配合保守的 askFallback。本 2026 矩阵把上述概念转写为在 launchd 托管网关上可执行的运维动作,覆盖香港、日本、韩国、新加坡与美国。请与 秘密、环境与 LaunchAgent plist、预发与生产 launchd 隔离、Node PATH 纪律 交叉阅读,让审批线不至于成为唯一防线。若你还在同一主机混跑其他自动化,务必把 PATH 与 WorkingDirectory 的变更纳入变更评审,并与 结构化日志与轮转 的字段对齐,便于事后用同一套查询语言取证。
执行策略并不是“开一次会就永远正确”。上游在 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 排班绑定:若你只在亚太排了主值班,而策略文件在全球同步,无头美西节点可能在你熟睡时把队列堵死。地理与策略修订的耦合必须在运行手册中写清。
白名单结构:前缀、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 里只会把批准变成噪音。
七步加固手册
- 盘点每个调用主机执行的工具,标记为必须保留或应删除。
- 在预发把
tools.exec.security=allowlist,用七天时间收集拒绝。 - 白名单 v1 控制在 ≤25 条;每条在 git blame 有理由。
- 无人主机设
ask=on-miss与askFallback=deny。 - 按 结构化日志与轮转 接线审批事件。
- 在 五个区域各用一台 VmMac mini 演练升级后再切生产。
- 季度红队:尝试
curl | bash式任务,确认走拒绝路径。
五地策略一致
时延并不改变执行语义,但值班的日历会:新加坡周五发版时可能错过美国周四已经分叉的策略。把策略校验和放在可观测性栈中,任一地多于一版修订即让 CI 失败。容量吃紧时先用 定价 加机,而不是在负载下临时放大白名单——这种捷径几天内就会长成债务。
若你把网关恢复流程记在 恢复运行手册 中,也应在同一页写清“策略回滚的先行顺序”:先收敛 argv,再谈扩权。
常见问题:租用 Mac mini 上的执行审批
预发与生产能共用一份白名单吗? 不能——像应用代码一样分文件、评审合并。
VmMac 会强制 OpenClaw 策略吗? 不会——由你方实现;我们提供 Mac mini 与网络路径。
升级又打开提示了怎么办? 锁版本、读发行说明,并按 网关恢复 在预发先演一遍。
为何 Mac mini M4 与 VmMac 仍适合高保障智能体
Apple Silicon Mac mini 为常开智能体提供可预测的单机性能,且相较嵌套 VM,物理 TCC 边界更直观。在香港、日本、韩国、新加坡与美国分别租用,可在全球推广前用更小机群试跑更严的执行策略。VmMac 不是策略引擎,而是可切分的金属。把硬件租约与执行白名单配在一起,自主工具在资产负债表上才会真正显得“无聊”。