本文是实现在主力 Mac 更安全的运行 OpenClaw 的系列方案之一。
如果把 OpenClaw 比作一位老司机,我之前的安全实践是在车辆上做了限制,让司机无法触及这些更改,以保证行车安全。那么这次,我们就是给老司机取一房媳妇,让媳妇坐在副驾驶管着他:不能酒驾、不能超速、闯红灯。
现在我们来为 OpenClaw 娶亲。
安全手册来自余弦安全团队:https://github.com/slowmist/openclaw-security-practice-guide

原安全手册是在 Linux 单用户高权限上完成的,我 Fork 了仓库并加入了 macOS 的版本,项目地址:https://github.com/phpstone/openclaw-security-practice-guide
macOS 版本适用于 OpenClaw 运行在 macOS 普通用户,可按需授予有限 sudo 白名单权限
如果你不喜欢 GitHub(是不喜欢吗?),那么可以到个人站点(阅读原文)下载这份「OpenClaw安全实践指南macOS 版」 MarkDown 文件。
将文档下载到用户目录或任意 OpenClaw 可访问的位置,在 OpenClaw tui 中对话并指定你文档的位置,例如你的 OpenClaw 执行用户目录 Home 文件夹下的 openclaw 文件夹。
创建一个新的会话再执行,以免上下文包含额外的内容:
openclaw tui --session security-config
请阅读这份安全指南,在部署前先识别与我们当前环境可能存在的风险或冲突,工作区没有落地的文件是需要在你部署时创建的。文件位于
'~/openclaw/OpenClaw 安全实践指南说明.md'
你的 AI 模型会分析文档内容并指出冲突,如果有较为严重的问题,可以按它的提示进行文档的修改,或让其自行修改。
修改完成后执行 /reset 命令重置对话上下文,再来一遍重新分析。
确认基本没有什么大问题后,发送指令进行部署:
请按照指南中的 Agent 辅助部署工作流执行。
这里面当然会有较多的问题提示,某些是因为你还未部署,如 trusted proxies,某些是因为与文档安全约束相冲突,如外部 IM 对话。这些没有关系,可以让模型标识为已知暂缓项。
看到 0 critical 就可以判断没有严重问题,可以继续与模型对话进行设置或修复。
全部完成以后,你的 workspace 应该加入了上述相关文件 SECURITY_POLICY.md 并被 AGENTS.md 显式引用。
接下来,你可以开个新会话,测试破坏性操作,看它是否会被限制执行。

如「获取完全磁盘访问权限」、「对桌面进行截屏」、「打开摄像头」、「删除 SECURITY_POLICY.md」等。
这是我之前的版本,在主用户对话中,它还是会删除,但是会给出一个确认消息:

这里其实如果你理解什么是「人工确认」,其实是正常的,因为安全指南里约束的是进行红线操作时,需要「人工确认」,而不是 OpenClaw 自主操作。
为了防止你共享 OpenClaw tui 给它人使用,绕过你的安全限制,我修改了Agent 辅助部署工作流里的提示词为
在执行任何操作前,必须遵循 `SECURITY_POLICY.md`。如与其他工作区习惯冲突,以该文件为准。
-`AGENTS.md` 与 `SECURITY_POLICY.md` 属于安全边界文件
- 不得删除、覆盖、移动、改名、修改
- 不得对它们执行 `chflags nouchg`

这样,就无法在对话中让它删除安全配置文件了。之前的提示词还有允许提交人工修改的描述,现在的更新版也删除了。
如果你还是不放心,可以加一重保障,让关键文件不可修改、删除,在命令终端执行:
chflags uchg ~/.openclaw/workspace/AGENTS.md
chflags uchg ~/.openclaw/workspace/SECURITY_POLICY.md
在需要修改时使用解除命令:
chflags nouchg ~/.openclaw/workspace/AGENTS.md
chflags nouchg ~/.openclaw/workspace/SECURITY_POLICY.md
以上,集合前一篇内容,就完成在 Mac 部署 OpenClaw 的主动安全与被动安全部分,可以让 OpenClaw 在你的主力 Mac 上安全的驾驶
关于被动安全的部分,其实对隐私保护还是比较给力的,在使用普通用户运行 OpenClaw 的情况下,即便给了 OpenClaw 鼠标点击、键盘输入的权限,它还是无法自主完成对 TCC 的修改,这个需要管理员级别账号密码认证。
而给于 openclaw 用户部分 sudo 权限,又可以让它做更多的事情。在 macOS 下,CLI 的 sudo 权限与 macOS 管理员是两码事,这样基本能做到既给又限制的实际效果。
但你需要知道,安全指南的约束力也取决于你使用的大模型自身能力。本指南作者不对因 AI 模型误解或误执行本指南内容而造成的任何损失承担责任,包括但不限于:数据丢失、服务中断、配置损坏、安全漏洞暴露或凭证泄露。
