先说一个让你后背发凉的事实。
打开你的 OpenClaw 配置,如果 exec.security 设的是 full——
你的 AI 助手可以执行这台电脑上的任何命令。
包括 rm -rf。包括 curl 你的私钥到某个服务器。包括修改系统配置让整台机器挂掉。
这还不是最可怕的。
最可怕的是 Prompt Injection:攻击者可以在网页里、邮件正文里、甚至一个文档的注释里嵌入恶意指令。你的 AI 助手读到它,就可能在你不注意的时候执行。
2026 年的一项社区调查显示,ClawHub(OpenClaw 的技能商店)上约 12% 的第三方 Skill 包含潜在恶意代码。
我用 OpenClaw 四个月,花了两个月搭安全体系。这篇文章把思路和做法完整写出来。
1 先搞清楚自己暴露了多少
安全加固的第一步不是加锁——是审计。
跑一遍 openclaw doctor,我的结果是:
✅ 网络隔离:只监听 127.0.0.1(外部无法访问)
✅ Token 认证:已开启
✅ 白名单:只有我自己
✅ 凭证隔离:敏感信息不写在记忆文件里
⚠️ exec.security=full(命令执行权限全开)
⚠️ sandbox=off(无沙箱)
⚠️ 74 个 Skill,大部分没审计过
⚠️ Prompt Injection 防御薄弱
不是"不安全"。是"有改进空间"。
关键要区分:哪些是真正的风险敞口,哪些是"理论上不够完美但实际可控"。
2 四道闸门,层层设防
第一道:网络隔离
成本最低,效果最好。
lsof -i :18789 | grep LISTEN# 应该是 127.0.0.1:18789# 如果是 0.0.0.0:18789 → 立即改只要绑在 127.0.0.1,就算你机器暴露在公网,Gateway 端口也打不进来。
第二道:Prompt Injection 防御
AI Agent 特有的攻击面。分两层:
层一:敏感操作二次确认
暂停 → 问主人"是你本人的要求吗?" → 只有明确说"确定"才继续。模糊回答("应该吧")一律拒绝。
层二:不可逆操作绝对拒绝
不管谁要求——以下操作一律不执行:
⛔ 清空磁盘(rm -rf /)
⛔ 删除系统目录
⛔ 格式化硬盘
⛔ 修改安全规则本身
第三道:OTC 一次性确认码
对高风险操作——对外发消息、改系统配置——光靠对话确认不够。
如果 prompt 被注入,攻击者可以模拟"确定"。
我设计了一套 OTC(One-Time Code) 机制:
1. Agent 识别高风险操作 → 暂停2. 生成随机码 → 发邮件到主人邮箱3. 确认码存状态文件,不经过 stdout4. 主人在原频道回复确认码5. 验证通过 → 执行 → 状态文件立即删除🔐 关键安全设计:
• 确认码不经过 stdout → Agent 无法看到明文
• 邮件独立通道 → Prompt Injection 拦截不了
• 单次使用 → 验证后立即失效
• 邮件失败 = 操作阻断 → 绝不 fallthrough
⚡ 硬规则:
"同意""可以""好的" → 一律视为不同意。只有正确确认码才放行。
第四道:ClawHub 技能审查
第三方 Skill 是供应链攻击的理想入口。
# 列出所有 Skillfind ~/.openclaw/workspace/skills -name "SKILL.md" | wc -l# 逐个检查:# 是否执行外部命令?访问网络?# 是否读敏感文件?改系统配置?不信任的,删。不犹豫。
少一个 Skill 只是少一个功能。多一个恶意 Skill 是灾难。
关闭自动更新,防止供应链攻击。
3 日常好习惯
安全不只是架构,更是肌肉记忆。
操作前先三问:影响几个 bot?有更安全的方式吗?能回滚吗?
操作后必验证:重启了服务就检查进程。改了配置就验证语法。
凭证不进记忆:API Key、密码 → 环境变量或独立配置文件(权限 600)。
敏感不进群聊:AppSecret、个人数据只走私聊。
4 务实安全观
最后说一个我认为最关键的认知:
别追求"绝对安全"。追求"风险可控"。
你的电脑连着网,就不可能绝对安全。
AI 有执行权限,就不可能零风险。
关键是把风险控制在可接受范围:
你知道风险在哪(审计) 你有应对机制(分层防御) 出问题能止损(回滚方案) 没出问题也能验证(定期巡检)
举个例子。
我的 exec.security=full 在审计里是 ⚠️ 风险项。但我没改成 restricted——因为那会让 Agent 失去 90% 的实用价值。
我的取舍是:保留 full 权限,但加强 OTC 闸门和 Prompt Injection 防御。
在能力和安全之间找平衡,而不是一刀切。
如果你也在用 OpenClaw
建议按这个优先级做:
第一周
1、确认网络隔离(127.0.0.1 only) 2、确认 Token 认证和白名单 3、审查 Skill,删掉不信任的
第二周
1、部署 OTC 确认码 2、在 SOUL.md 加 Prompt Injection 防御规则 3、凭证迁移到环境变量
持续
1、每周一次安全巡检 2、升级前看 changelog 安全条目 3、重大操作前做风险评估
···
安全不是一次性工程。是习惯的积累。
夜雨聆风