OpenClaw 安全配置实操指南:保护你的 Mac/PC 不被 AI 搞坏
OpenClaw 给了 AI 执行命令、读写文件的权限,装在本地电脑上怎么防止误操作把电脑搞坏?这篇写给 Mac 和 Windows 用户,全是实际能操作的步骤:exec allowlist、trash 替代 rm、workspace 隔离、gateway 绑 loopback,一步步配下来。
很多人装了 OpenClaw 之后会有一个隐隐的担心:这玩意儿能执行命令、读写文件,万一 AI 判断失误,是不是会把电脑搞坏?
这个担心是合理的。OpenClaw 默认给了 AI 相当大的权限,exec 工具可以直接跑 shell 命令,file 工具可以读写任意文件。如果不做任何配置,理论上 AI 一条指令就能删掉你的文件。
但好消息是,OpenClaw 提供了一套完整的权限控制机制,只要配置得当,可以把风险降到很低。这篇文章专门写给在 Mac 或者个人 Windows 电脑上跑 OpenClaw 的用户,全部是实际能操作的步骤,不讲虚的。
先搞清楚:OpenClaw 到底能干什么
装 OpenClaw 之前很多人没仔细想过它的权限范围,装完之后才开始担心。所以先把这件事讲清楚。
OpenClaw 的 AI 能力来自几个核心工具:exec 执行 shell 命令,等同于你在终端里手动输命令;read/write 读写文件,默认限制在 workspace 目录,但配置不当可以突破;browser 控制浏览器,可以访问网页、填表、点击;web_fetch 发送 HTTP 请求。
其中最危险的是 exec。一个不受限的 exec 工具,加上一个判断失误的 AI,可以做到:误删文件、意外修改系统配置、发送你不知道的网络请求。
这不是危言耸听,AI 的幻觉在工具调用上同样存在。它有时候会「理解过度」,把你说的「帮我清理项目」变成删掉它认为没用的文件。所以安全配置的核心思路就一个:缩小 AI 能做事情的范围,让每一步都在你的预期之内。
值得注意的是,OpenClaw 本身的设计初衷是「给有经验的用户用的个人助手」,它假设你知道自己在做什么。所以它没有像消费级产品那样内置很多保护措施,而是把控制权交给用户。这意味着你得自己主动配置,等着它帮你保护是等不来的。每次升级完记得重新跑一遍安全审计,升级有时候会重置某些配置项。
第一步:给 exec 工具设置 allowlist
这是最重要的一步,没有之一。在 ~/.openclaw/openclaw.json 里找到 tools 配置,加上 exec 的 allowlist:
{
"tools": {
"exec": {
"policy": "allowlist",
"allowlist": [
"ls", "cat", "echo", "pwd", "find", "grep",
"git", "npm", "node", "python3", "pip3",
"curl", "wget", "open", "brew"
]
}
}
}allowlist 模式下,AI 只能运行你列表里的命令,其他一律拒绝。根据自己实际需求调整,用得到的加进去,用不到的不放进去。
如果觉得 allowlist 太严,至少设一个 denylist,把最危险的命令拦掉:
{
"tools": {
"exec": {
"denyCommands": ["rm", "rmdir", "dd", "mkfs", "sudo", "su", "chmod", "chown"]
}
}
}两种方式可以结合使用,allowlist 优先级更高。改完配置记得重启 gateway:openclaw gateway restart。
不知道自己需要放哪些命令的话,先用几天原始配置,在日志里看看 AI 都调用了哪些命令,再决定 allowlist 的内容,这比猜要准确得多。
第二步:用 trash 替代 rm
这是最简单但最实用的一条。rm 删掉的文件就是没了,trash 删掉的文件进废纸篓,随时可以恢复。macOS 上安装:brew install trash。Windows 可以用 PowerShell 的 Recycle-Item。
在 AGENTS.md 里加上这几行约束:
删除文件必须用 trash 命令,禁止用 rm
不确定范围的操作先问我,不自己决定
禁止运行 sudo 开头的命令
不删除 workspace 以外的文件AGENTS.md 里写的规则 AI 会认真遵守,这个文件的本质是 AI 的行为约束文档,写得越清楚,AI 越不容易乱来。不少人忽略这个文件,其实它是成本最低的安全措施之一。更多写法可以参考进阶配置教程。
第三步:限制文件操作的目录范围
在配置里指定 workspace,让 AI 只能操作这个目录:
{
"workspace": "/Users/你的用户名/openclaw-workspace"
}先建这个目录:mkdir ~/openclaw-workspace,然后把需要 AI 操作的文件放进去。这样就算 AI 出了什么差错,也只影响这个目录,主目录、桌面、文档文件夹都是安全的。
一个常见误区是把 workspace 设置在主目录或者更高层,这等于没有任何限制。workspace 应该是一个专门划出来的隔离区域,只放你愿意让 AI 碰的东西。如果你用 OpenClaw 处理工作文档,可以建多个子目录,比如 openclaw-workspace/projects、openclaw-workspace/notes,让 AI 按需访问,但始终在这个大目录下面操作。
第四步:Gateway 绑定 loopback,不暴露公网
OpenClaw 默认绑定 127.0.0.1,只有本机能访问,这是安全的。但有些用户为了在外面也能用,会把 gateway 绑到 0.0.0.0 或者做了端口转发,这非常危险。
一旦 gateway 暴露到公网,任何人都可以控制你的 AI 助手、读取配置里的 API Key 和 Token、通过 AI 操作你电脑上的文件。而且这些操作没有认证,对方不需要密码,能访问端口就能用。
检查当前状态:openclaw gateway status,Gateway 那行应该显示 bind=loopback。如果不是,在配置里改:
{
"gateway": {
"bind": "loopback"
}
}需要远程访问的话,正确方式是用 Tailscale 建私有网络,通过 Tailscale IP 访问,不要直接暴露端口到公网。Tailscale 免费版支持三台设备,个人用完全够。
第五步:跑一次官方安全审计
OpenClaw 自带安全审计,装完之后至少跑一次:
openclaw security audit --deep它会检查配置文件、工具权限、网络暴露情况,给出具体问题和修复建议。跑完之后用 --fix 参数自动修复基础问题:openclaw security audit --fix。这个命令只改 OpenClaw 自己的配置,不会动系统防火墙或者 SSH 设置。建议每次升级之后都跑一遍。
第六步:开启操作确认模式
在配置里加上 blockStreaming:
{
"agents": {
"main": {
"blockStreaming": true
}
}
}开了这个之后,AI 在执行每一步操作前都会先告诉你它要做什么,等你确认再继续。对于高风险任务非常有用,平时觉得麻烦可以临时关掉,需要谨慎的时候再打开。这个设置特别适合刚开始用 OpenClaw、对 AI 还不熟悉的阶段,多了这道人工确认,心里踏实很多。
macOS 用户额外要做的
开 FileVault 磁盘加密是最重要的一步。OpenClaw 的配置文件里存着你的 Telegram Bot Token、API Key,都是明文 JSON 文件。如果电脑被偷,没有磁盘加密别人插个启动盘就能全读出来。系统设置 → 隐私与安全性 → FileVault,点开启。第一次加密需要跑几个小时,之后就没有任何负担。
同时建议开启系统防火墙(系统设置 → 网络 → 防火墙)和自动安全更新(系统设置 → 通用 → 软件更新)。OpenClaw 本身也要定期更新:npm install -g openclaw && openclaw gateway restart。
真实案例:AI 都会出什么问题
场景一:「帮我清理项目」变成删源代码。你让 AI 清理 Node.js 项目的临时文件,AI 发现 node_modules 占了好几 GB,觉得是「临时文件」,直接 rm -rf node_modules。其实你想删的是 .cache 目录。用 trash 的话还能从废纸篓找回来,用 rm 就彻底没了。
场景二:「帮我整理文件」越界操作。让 AI 整理桌面文件,它顺手把 Downloads 里的东西也移动了,因为它觉得「这些文件应该被整理」。如果设了 workspace 隔离,它根本没权限碰 Downloads 目录。
场景三:任务描述模糊导致误删。让 AI「把所有 test 文件删掉」,它把 test.config.js、test-utils.js 这些也删了,因为文件名里含有 test。这类操作如果先让 AI 列出打算删哪些文件,你一眼就能发现问题,确认之后再执行。
这三个场景都是真实会发生的,配置里的那几道限制不是多此一举,是真的有用。
安全和方便之间的平衡
安全配置的核心不是把 AI 锁死,而是设置合理的边界。主要用来写作、查资料、聊天的话,exec 工具完全可以关掉:把 tools.exec.enabled 设为 false 就行。如果是开发者需要 AI 跑命令,就开 allowlist,只放真正用到的工具。
如果只想做最基本的防护,记住三条底线:用 trash 替代 rm、设 workspace 隔离目录、保持 gateway 绑 loopback。成本几乎为零,但能挡住大部分潜在风险。
做完上面这些之后,可以做个简单验证:让 AI 跑一个不在 allowlist 里的命令,看它会不会拒绝;让 AI 读取 workspace 以外的文件,看它会不会报错;跑 openclaw gateway status 确认 bind=loopback。三项都通过,说明配置生效了。
更多配置细节可以参考进阶配置完全教程,里面有完整的 AGENTS.md 写法。如果还没装 OpenClaw,先看安装教程,遇到报错查报错解决手册。日常命令操作可以查CLI 命令指南。