乐于分享
好东西不私藏

OpenClaw安全防护指南:从检查到加固完整实操

OpenClaw安全防护指南:从检查到加固完整实操

你装好了OpenClaw,它能帮你写代码、处理文件、执行命令,非常好用。但你有没有想过:它安全吗?我该怎么检查?又该怎么防护?

OpenClaw给了AI直接访问你电脑的能力——能执行shell命令,能读写文件。这种能力很强大,但也带来了安全风险。今天我们就来一步步说清楚,怎么给你的OpenClaw做安全检查,又该做哪些防护措施。


一步到位:先用内置命令做审计

OpenClaw自带了安全审计工具,别着急手动改配置,先跑一遍它:

# 基础审计(推荐先用这个)openclaw security audit# 深度审计(探测当前Gateway状态,更全面)openclaw security audit --deep# 自动修复发现的问题(权限收紧等)openclaw security audit --fix

这一步一定要做。它会自动帮你检查:

检查项
说明
入站访问控制
陌生人能不能触发你的机器人?
工具权限范围
提权工具是不是开得太松了?
网络暴露情况
Gateway有没有暴露在公网上?
浏览器控制暴露
CDP端点有没有不安全暴露?
文件权限
配置文件是不是能被别人读?
插件安全
有没有装了不信任的插件?
模型选择
小模型开工具是不是有风险?

--fix参数会自动帮你修复这些常见问题:

  • • 把放开的群组策略从open收紧成allowlist
  • • 恢复敏感日志脱敏开启
  • • 收紧~/.openclaw目录权限到700
  • • 把配置文件、凭证文件权限改成600

跑完这一遍,你就已经解决了80%的常见问题。


安全检查清单:逐项核对

我整理了一份可操作的检查清单,你可以对着一项一项过:

✅ 1. 访问控制:谁能找你的AI说话?

这是第一道防线,也是最重要的一道。绝大多数安全问题都出在这里。

检查要点:

// 你的配置应该大概长这样{  "channels": {    "whatsapp": {      "dmPolicy": "pairing",        // 陌生人需要配对批准      "groups": {        "*": { "requireMention":true }  // 群聊必须@才响应      }    }  }}

核对清单:

  • • [ ] 私信策略是不是pairing(默认)?不要用open除非你真的知道在做什么
  • • [ ] 群聊是不是开了requireMention?不@不响应,防止陌生人误触发
  • • [ ] 白名单是不是只有你信任的人?不要写"*"放开所有人

危险❌:

"dmPolicy": "open"              // 任何人都能发私信给AI"groupPolicy": "open"           // 任何群里任何人都能触发AI"groupAllowFrom": ["*"]         // 所有群组都允许

正确✅:

"dmPolicy": "pairing"           // 陌生人要配对批准"groupPolicy": "allowlist"      // 只允许白名单群组"dm.allowFrom": ["你的ID"]      // 只允许你自己

✅ 2. 网络暴露:Gateway绑定对了吗?

OpenClaw Gateway默认绑定在loopback(127.0.0.1),只有本机能访问。这是最安全的。

检查配置:

{  "gateway": {    "bind": "loopback",  // ✅ 默认就是这个,最安全    "auth": {      "mode": "token",      "token": "你的长随机令牌"  // ✅ 一定要设置令牌    }  }}

核对清单:

  • • [ ] 默认就是loopback,不要乱改
  • • [ ] 如果用Tailscale Serve,Gateway仍然保持loopback绑定,Tailscale处理访问控制
  • • [ ] Gateway一定要设置认证令牌,不要开无认证访问
  • • [ ] 绝对不要绑定到0.0.0.0暴露在公网上

mDNS发现设置:

{  "discovery": {    "mdns": { "mode": "minimal" }  // ✅ 默认,不泄露敏感信息    // "mdns": { "mode": "off" }   // ✅ 完全禁用更安全  }}

不要用full模式,它会把你的完整文件路径、SSH端口都广播出去,局域网里任何人都能看到。

✅ 3. 文件权限:配置和凭证锁好了吗?

OpenClaw把你的API密钥、渠道凭证都存在~/.openclaw下面,一定要确保只有你能读。

检查命令(macOS/Linux):

# 检查目录权限ls -ld ~/.openclaw# 应该显示:drwx------ 也就是700权限# 检查配置文件权限ls -l ~/.openclaw/openclaw.json# 应该显示:-rw------- 也就是600权限

如果不对,手动修复:

chmod 700 ~/.openclawchmod 600 ~/.openclaw/openclaw.jsonchmod 600 ~/.openclaw/credentials/*/*.json 2>/dev/null || true

openclaw security audit --fix会自动帮你做好这一步。

✅ 4. 模型选择:小模型开工具要小心

不是所有模型对提示词注入的抵抗力都一样。

建议:

模型层级
启用工具推荐
说明
最新一代大模型(Opus 4.5+、GPT 5+)
✅ 推荐开
对提示词注入识别能力强
中等模型(Sonnet 3.5+等)
⚠️ 沙箱隔离
一定要开沙箱,收紧工具白名单
小模型(Haiku、7B/13B等)
❌ 不推荐开工具
容易被对抗性提示词操纵

记住: 如果你要用小模型+工具,必须:

  • • 开启沙箱隔离
  • • 严格工具白名单,只允许必要的工具
  • • 禁用execwritebrowser这些高危工具
  • • 不要让小模型访问不受信任的内容(网页搜索、浏览器)

✅ 5. 插件安全:只装你信任的来源

插件和Gateway同进程运行,插件代码有漏洞,直接影响你的整个OpenClaw。

检查清单:

  • • [ ] 只从ClawdHub或官方GitHub安装插件
  • • [ ] 启用插件前用skill-vetter做安全检查
  • • [ ] 尽量用显式plugins.allow白名单,不要全放开
  • • [ ] 装完插件后可以简单看一眼代码,有没有可疑行为

从npm安装插件要注意:

  • • npm安装过程会运行生命周期脚本,理论上可以执行任意代码
  • • 优先用固定版本openclaw plugins install pkg@1.2.3
  • • 安装后cd ~/.openclaw/extensions/插件ID,快速review一下代码

✅ 6. 沙箱隔离:高危操作放在沙箱里跑

OpenClaw支持工具级沙箱隔离,用Docker把危险工具限制在容器里。

推荐配置(在agents.defaults里加):

{  "sandbox": {    "mode": "all",        // 所有工具都跑在沙箱里    "scope": "agent",     // 每个智能体一个沙箱,隔离性好    "workspaceAccess": "ro"  // 工作区只读,防止改坏东西  }}

如果你是个人使用,只有你自己能用AI,可以不开沙箱方便使用。但如果有其他人能触发你的AI,一定要开沙箱。

不同场景建议:

场景
沙箱设置
个人单机使用,只有你能访问
可以不开,方便
多人共享,有其他人能触发
全开沙箱,工作区只读
公共机器人,任何人都能来
全开沙箱,禁用写/exec/browser

✅ 7. 浏览器控制:不要暴露给公网

浏览器控制让AI能真的上网点开网页,能力很强,但风险也不小——AI能访问你浏览器里已经登录的所有网站。

安全建议:

  • • [ ] 用专用的Chrome配置文件给AI用,不要用你日常登录的那个
  • • [ ] 专用配置文件不要存密码,不要同步你的账号
  • • [ ] Gateway和节点主机都放在Tailscale内网里,不要暴露给公网
  • • [ ] 不用的时候关掉gateway.nodes.browser.mode
  • • [ ] 不要用Tailscale Funnel暴露浏览器控制端口

✅ 8. 日志脱敏:别把敏感信息记在日志里

OpenClaw默认开启了工具摘要脱敏,千万别关。

检查配置:

{  "logging": {    "redactSensitive": "tools"  // ✅ 默认就是这个,保持开着  }}

如果你有自定义的敏感模式(比如内部域名、特定令牌格式),可以加上:

{  "logging": {    "redactSensitive": "tools",    "redactPatterns": [      "internal\\.example\\.com",      "my-org-\\w+-token"    ]  }}

不同场景的安全配置模板

我整理了几个常见场景,你可以直接复制改一改用:

📌 场景一:个人单机使用(最常见)

只有你自己能用,追求方便,适度安全。

{  "gateway": {    "bind": "loopback",    "auth": { "mode": "token", "token": "生成的长令牌" },    "discovery": { "mdns": { "mode": "minimal" } }  },  "channels": {    "whatsapp": {      "dmPolicy": "pairing",      "groups": { "*": { "requireMention": true } }    }  },  "agents": {    "defaults": {      "sandbox": { "mode": "off" }  // 个人用方便起见关掉    }  }}

📌 场景二:VPS公网部署(需要严格防护)

在VPS上跑OpenClaw,能从外网访问,必须从严防护。

{  "gateway": {    "bind": "loopback",    "port": 18789,    "auth": { "mode": "token", "token": "你的长随机令牌" },    "discovery": { "mdns": { "mode": "off" } }  },  "channels": {    "whatsapp": {      "dmPolicy": "allowlist",      "dm": { "allowFrom": ["你的ID"] },      "groups": { "*": { "requireMention": true } },      "groupPolicy": "allowlist"    }  },  "agents": {    "defaults": {      "sandbox": {        "mode": "all",        "scope": "agent",        "workspaceAccess": "ro"      }    }  }}

另外,VPS上还要做好:

  • • 系统防火墙只开放必要端口
  • • SSH禁用密码登录,只用密钥
  • • 开启自动安全更新
  • • 使用Tailscale访问,不要直接暴露端口公网

📌 场景三:公共机器人(多人可用)

任何人都能来和机器人说话,必须做到最小权限。

{  "gateway": {    "bind": "loopback",    "auth": { "mode": "token", "token": "..." }  },  "agents": {    "list": [      {        "id": "public",        "sandbox": {          "mode": "all",          "scope": "session",  // 每个会话一个沙箱,彻底隔离          "workspaceAccess": "none"  // 不能访问主机工作区        },        "tools": {          // 只允许真正需要的工具          "allow": ["read", "web_fetch", "web_search", "summary"],          // 高危工具全部禁用          "deny": ["write", "edit", "exec", "process", "browser"]        }      }    ]  }}

如果怀疑出问题了:事件响应步骤

万一你觉得可能被入侵了,按这个顺序来:

1️⃣ 先遏制,缩小影响范围

# 先停掉Gatewayopenclaw gateway stop# 或者如果是手动运行,直接Ctrl+C杀掉进程
  • • 如果有公网暴露,先关掉Tailscale Funnel或者防火墙规则
  • • 把开放的私信/群组策略切回pairing/allowlist

2️⃣ 轮换所有密钥

  • • 轮换gateway.auth.token(Gateway认证令牌)
  • • 轮换各个渠道的API令牌/凭证(WhatsApp、Telegram、Discord等)
  • • 轮换各个模型提供商的API密钥
  • • 撤销所有可疑的节点配对

3️⃣ 审计日志

  • • 查看Gateway日志:/tmp/openclaw/openclaw-YYYY-MM-DD.log
  • • 查看最近的会话记录:~/.openclaw/agents/<agentId>/sessions/
  • • 检查最近有没有可疑的工具调用

4️⃣ 重新跑安全审计

openclaw security audit --deep

确认没有问题了再启动Gateway。


养成好习惯:定期做安全检查

安全是一个过程,不是一劳永逸的事情。我建议:

  1. 1. 每次更新完OpenClaw:跑一遍openclaw security audit
  2. 2. 每次改完配置:特别是网络、访问控制那块,记得跑审计
  3. 3. 定期(比如每月):完整跑一遍openclaw security audit --deep
  4. 4. 可以开定时审计:用OpenClaw内置的cron做定期检查

设置定时审计的示例:

# 每周日凌晨跑一次安全审计openclaw cron add --name "healthcheck:security-audit" --schedule "0 0 * * 0" "openclaw security audit --deep"

总结:核心安全原则

OpenClaw的安全设计遵循一个核心思路:

身份优先,范围其次,模型最后

  1. 1. 先决定谁能来找AI说话——配对+白名单锁住入口
  2. 2. 再决定AI能做什么——工具白名单+沙箱缩小影响范围
  3. 3. 最后才是模型选择——就算模型被操纵,影响也有限

记住这几句话,你的OpenClaw就安全了一大半:

✅ 先跑审计:装完第一件事openclaw security audit --fix✅ 默认拒绝:不是明确信任的,都不让进✅ 最小权限:只给AI刚好够用的权限✅ 定期检查:每月跑一遍审计,出问题早发现✅ 沙箱隔离:多人共享一定要开沙箱

安全这东西,就是把该做的功课做在前面。你今天花10分钟过一遍这个清单,未来少很多麻烦。


你平时怎么用OpenClaw?是个人单机还是公网部署?交流一下你的安全经验,做好这些能抗得住吗?