安全背景
OpenClaw 采用一个可信操作者 → 一个 Gateway → 多个 Agent的安全模型。Gateway 是唯一的入口,所有外部请求必须经过 Gateway 鉴权后才能到达 Agent。
已知风险:
- •ClawHub 恶意技能:ClawHub 生态中存在恶意技能包,ClawHavoc 事件已被 Koi Security、The Hacker News 等多方报道证实。
- •ClawJacked 漏洞:被 Dark Reading 等安全媒体报道,涉及技能劫持攻击链。
这些事件表明:安装后不做安全加固,OpenClaw 可能暴露在已知攻击面中。

官方 60 秒安全基线
为什么需要这个基线?OpenClaw 默认配置优先考虑"开箱即用",而非安全。这意味着 Gateway 可能无鉴权、工具权限全开、DM 通道不设限。下面这段配置一次性覆盖最关键的攻击面——Gateway 鉴权、工具最小权限、消息通道管控,是投入产出比最高的单次操作。

如果只做一件事,直接把这段hardened baseline 写入~/.openclaw/openclaw.json:
{
gateway: {
mode: "local",
bind: "loopback",
auth: { mode: "token", token: "replace-with-long-random-token" }
},
session: { dmScope: "per-channel-peer" },
生成 token:
openclaw doctor --generate-gateway-token
详细配置(4 大类)
1.Gateway 访问控制
作用:Gateway 是所有外部请求进入 OpenClaw 的唯一入口。访问控制决定谁能连上你的 Gateway。为什么:OpenClaw 默认安装后,Gateway 可能在本地端口监听但没有鉴权。同一网络的任何人都可以直接调用你的 Agent,发送消息、执行工具。解决什么:bind: "loopback"限制只有本机能连;auth.mode: "token"要求每次请求携带密钥,防止未授权访问。不设置 = 裸奔。

本地部署(默认):
{
gateway: {
mode: "local",
bind: "loopback",
auth: { mode: "token", token: "replace-with-long-random-token" }
}
}
云端部署:
{
gateway: {
mode: "gateway",
bind: "0.0.0.0",
auth: { mode: "token", token: "replace-with-long-random-token" }
}
}
要点:
- •环境变量:OPENCLAW_GATEWAY_TOKEN或OPENCLAW_GATEWAY_PASSWORD
- •gateway.bind可选值:loopback(默认)、lan、tailnet、custom
- •远程访问推荐 SSH 隧道或 Tailscale Serve,不要暴露公网端口
- •云端部署必须使用lan或0.0.0.0,loopback仅限本机
2.工具权限控制
作用:控制 Agent 能调用哪些工具。工具是 Agent 与外部世界交互的手脚——文件读写、命令执行、消息发送都是工具。为什么:ClawHub 上的第三方技能可能包含恶意指令(ClawHavoc 事件已证实)。如果 Agent 拥有文件系统和命令执行权限,恶意技能可以读取敏感文件、执行任意命令。解决什么:deny列表禁用高危工具组;exec.security: "deny"禁止命令执行;fs.workspaceOnly: true限制文件访问范围;elevated: false禁止提权。最小权限原则:只给 Agent 它真正需要的能力。

{
tools: {
profile: "messaging", // messaging / minimal / default / full
deny: ["group:automation", "group:runtime", "group:fs",
"sessions_spawn", "sessions_send"],
fs: { workspaceOnly: true },
exec: { security: "deny", ask: "always" }, // deny / ask / ask-dangerous / allow
elevated: { enabled: false }
}
}
要点:
- •tools.exec.host:"sandbox"(推荐)或"gateway"
- •危险工具组:group:automation、group:runtime、group:fs
- •elevated: { enabled: false }禁用提权操作
3.Docker 沙箱隔离
作用:让每个 Agent 运行在独立的 Docker 容器中,与宿主机隔离。为什么:即使工具权限控制到位,Agent 执行的代码仍可能通过漏洞逃逸。沙箱提供第二道防线——容器内的恶意操作无法影响宿主机。解决什么:network: "none"防止容器内发起网络请求(数据外泄);readOnlyRoot: true防止篡改容器文件系统植入后门;capDrop: ["ALL"]移除所有 Linux capabilities 防止提权;user: "1000:1000"非 root 运行减少攻击面。不挂载 Docker socket 防止容器逃逸控制宿主机。

{
agents: {
defaults: {
sandbox: {
要点:
- •永远不挂载 Docker socket
- •readOnlyRoot: true防止运行时篡改
- •网络默认"none",需要网络时用"bridge",永远不用"host"
4.密钥管理 SecretRef
作用:将 API Key 等敏感凭据从配置文件中分离,通过引用方式按需获取。为什么:配置文件可能被提交到 Git、被日志记录、被其他进程读取。明文存储 API Key 是最常见的凭据泄露原因。解决什么:SecretRef 让配置文件中只存"去哪里取密钥"的指针,不存密钥本身。支持环境变量、加密文件、外部密钥管理器(1Password/Vault/SOPS),确保密钥不落盘、不入库。

{
secrets: {
providers: {
default: { source: "env" },
filemain: {
source: "file",
path: "~/.openclaw/secrets.json",
mode: "json"
}
}
},
models: {
providers: {
openai: {
apiKey: { source: "env", provider: "default", id: "OPENAI_API_KEY" }
}
}
}
}
要点:
- •支持env/file/exec三种 source
- •exec可对接 1Password CLI、HashiCorp Vault、SOPS
- •绝不在配置文件中明文存储 API Key
- •检查明文泄露:openclaw secrets audit --check
其他安全设置

DM/群组策略
作用:控制谁能通过消息渠道(WhatsApp 等)与 Agent 对话。为什么:如果设为open,任何人都能私聊你的 Agent 并触发操作。ClawJacked 攻击链的一个入口就是通过未限制的 DM 通道向 Agent 注入恶意指令。解决什么:dmPolicy: "pairing"要求配对确认才能建立对话;requireMention: true在群组中必须 @提及才响应,防止 Agent 被群消息意外触发。
{
channels: {
whatsapp: {
dmPolicy: "pairing", // pairing / allowlist / open / disabled
groups: { "*": { requireMention: true } }
}
},
session: { dmScope: "per-channel-peer" }
}
日志脱敏
作用:自动从日志中移除敏感信息。为什么:调试日志中经常包含 API 请求/响应的完整内容,可能包含密钥、用户数据。日志被收集到集中平台后,访问权限通常比生产系统宽松。解决什么:redactSensitive: "tools"自动遮盖工具调用中的敏感字段;自定义redactPatterns可匹配项目特有的敏感格式。
{
logging: {
redactSensitive: "tools", // tools / all / false
redactPatterns: ["api_key=.*", "secret=.*"]
}
}
mDNS 发现
作用:控制 OpenClaw 是否通过 mDNS(Bonjour)在局域网广播自身存在。为什么:默认的 mDNS 广播会让同一网络的所有设备发现你的 OpenClaw 实例,暴露服务信息。解决什么:mode: "minimal"或OPENCLAW_DISABLE_BONJOUR=1减少或关闭广播,降低被局域网内攻击者发现的概率。
代码块Plain Text
或设置环境变量OPENCLAW_DISABLE_BONJOUR=1。
浏览器 SSRF 防护
作用:控制 Agent 的浏览器工具能否访问内网地址。为什么:如果 Agent 能浏览任意 URL,恶意技能可以构造请求访问localhost、192.168.x.x、云元数据 API 等内网资源,这就是 SSRF(服务端请求伪造)攻击。解决什么:dangerouslyAllowPrivateNetwork: false阻止浏览器工具访问私有网络地址,切断 SSRF 攻击路径。
代码块Plain Text
文件权限
作用:限制 OpenClaw 配置文件和凭据文件的系统访问权限。为什么:~/.openclaw/下存储了 Gateway token、WhatsApp 凭据、Agent 认证信息。默认文件权限可能允许同机器其他用户读取。

chmod 700 ~/.openclaw
chmod 600 ~/.openclaw/openclaw.json
chmod 600 ~/.openclaw/secrets.json
敏感文件位置(官方文档列出):
- •~/.openclaw/credentials/whatsapp/<accountId>/creds.json
- •~/.openclaw/credentials/<channel>-allowFrom.json
- •~/.openclaw/agents/<agentId>/agent/auth-profiles.json
CLI 安全命令
# 安全审计
openclaw security audit # 基础审计
openclaw security audit --deep # 深度审计
openclaw security audit --fix # 自动修复
openclaw security audit --json # JSON 输出
# 密钥管理
openclaw secrets audit --check # 检查明文密钥
openclaw secrets configure # 配置密钥管理
# Gateway
openclaw doctor --generate-gateway-token # 生成 token
参考资源


学员须知(小白基础答疑手册)
作业提交步骤指导:☎️AI训练营 - 学员须知(持续更新)
OpenClaw主文档(含所有回放):第五期:OpenClaw小龙虾训练营
AI训练营数据中心(含证书获取、找搭子):🌈AI训练营第1课:第1课:认知破局——认识OpenClaw小龙虾第2课:第2课:基建搭建——小龙虾云端部署+技能初始化第3课:第3课:数据中枢——小龙虾协同多维表格第4课:第4课:社媒引流——小红书自动化运营第5课:第5课:私域沉淀-微信公众号一键排版第6课:第6课:主动出击——让小龙虾给你打电话
第7课:第7课:赋予声带——让小龙虾开口说话第8课:第8课:顶峰相见,谁的龙虾会运营课程在线回答汇总:🥠课程在线回答问题汇总优秀笔记:优秀笔记分享自习室:自习室
✨从训练营出发,你与AI的故事我们想听 | WaytoAGI AI训练营老学员专属回访https://waytoagi.feishu.cn/share/base/form/shrcnvP68KwlHihAAi7UQ2Dzw2g
从训练营出发,你与AI的故事我们想听 | WaytoAGI AI训练营老学员专属回访https://waytoagi.feishu.cn/share/base/form/shrcnvP68KwlHihAAi7UQ2Dzw2g
@版权归WaytoAGI及课程讲师所有,未经许可不得传播售卖。如有侵权将依法追究法律责任。
