—— 转自通往AGI之路
看不懂?让小龙虾帮你快速落地:
本文及本站大部分openclaw相关文章,都可以让Openclaw agent阅读,然后进行应用,参考Prompt如下:
请阅读这篇文章:https://www.aiec.fun/%e6%89%93%e9%80%a0%e4%b8%93%e5%b1%9e%e5%b7%a5%e4%bd%9c%e5%a4%a7%e8%84%91%ef%bc%9a%e8%ae%a9openclaw%e4%bc%98%e5%85%88%e4%bd%bf%e7%94%a8%e4%bd%a0%e7%9a%84%e7%a7%81%e6%9c%89%e5%b7%a5%e4%bd%9c%e7%9f%a5/ 分析有哪些内容,对我们优化工作流程有价值。并严格根据openclaw最新官方文档核对,排除错误及过时信息,制定落地计划。
详细方法,参考文章 >>>
安全背景
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" },
tools: {
profile: "messaging",
deny: ["group:automation", "group:runtime", "group:fs",
"sessions_spawn", "sessions_send"],
fs: { workspaceOnly: true },
exec: { security: "deny", ask: "always" },
elevated: { enabled: false }
},
channels: {
whatsapp: {
dmPolicy: "pairing",
groups: { "*": { requireMention: true } }
}
}
}
生成 token:
openclaw doctor --generate-gateway-token
详细配置(4 大类)
- 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仅限本机
- 工具权限控制
作用: 控制 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 }禁用提权操作
- Docker 沙箱隔离
作用: 让每个 Agent 运行在独立的 Docker 容器中,与宿主机隔离。
为什么: 即使工具权限控制到位,Agent 执行的代码仍可能通过漏洞逃逸。沙箱提供第二道防线——容器内的恶意操作无法影响宿主机。
解决什么:
network: "none"防止容器内发起网络请求(数据外泄);readOnlyRoot: true防止篡改容器文件系统植入后门;capDrop: ["ALL"]移除所有 Linux capabilities 防止提权;user: "1000:1000"非 root 运行减少攻击面。不挂载 Docker socket 防止容器逃逸控制宿主机。

{
agents: {
defaults: {
sandbox: {
mode: "all", // off / non-main / all
scope: "agent", // session / agent / shared
workspaceAccess: "none", // none / ro / rw
docker: {
image: "openclaw-sandbox:bookworm-slim",
readOnlyRoot: true,
network: "none", // none / bridge / host(危险)
user: "1000:1000", // 非 root
capDrop: ["ALL"],
pidsLimit: 256,
memory: "1g",
memorySwap: "2g",
cpus: 1,
tmpfs: ["/tmp", "/var/tmp", "/run"],
dangerouslyAllowContainerNamespaceJoin: false
}
}
}
}
}
要点:
- 永远不挂载 Docker socket
readOnlyRoot: true防止运行时篡改- 网络默认
"none",需要网络时用"bridge",永远不用"host"
- 密钥管理 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减少或关闭广播,降低被局域网内攻击者发现的概率。
{
discovery: { mdns: { mode: "minimal" } } // off / minimal / full
}
或设置环境变量 OPENCLAW_DISABLE_BONJOUR=1。
浏览器 SSRF 防护
作用: 控制 Agent 的浏览器工具能否访问内网地址。
为什么: 如果 Agent 能浏览任意 URL,恶意技能可以构造请求访问
localhost、192.168.x.x、云元数据 API 等内网资源,这就是 SSRF(服务端请求伪造)攻击。解决什么:
dangerouslyAllowPrivateNetwork: false阻止浏览器工具访问私有网络地址,切断 SSRF 攻击路径。
{
browser: {
ssrfPolicy: {
dangerouslyAllowPrivateNetwork: false
}
}
}
文件权限
作用: 限制 OpenClaw 配置文件和凭据文件的系统访问权限。
为什么:
~/.openclaw/下存储了 Gateway token、WhatsApp 凭据、Agent 认证信息。默认文件权限可能允许同机器其他用户读取。解决什么:
chmod 700/600确保只有当前用户能访问这些文件,防止本地用户或被入侵的其他进程窃取凭据。

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
参考资源
| 资源 | 链接 |
| 官方安全文档 | https://docs.openclaw.ai/gateway/security |
| 官方 Docker 文档 | https://docs.openclaw.ai/install/docker |
| 官方密钥管理 | https://docs.openclaw.ai/gateway/secrets |
| GitHub SECURITY.md | https://github.com/openclaw/openclaw/blob/main/SECURITY.md |
| Knownsec 安全指南 | https://github.com/knownsec/openclaw-security |