OpenClaw养成系列(一):安全配置指南 - 5层防御体系守护你的AI助手
OpenClaw养成系列(一):安全配置指南 - 5层防御体系守护你的AI助手
OpenClaw 是个超强的 AI 助手,能执行 Shell 命令、读写文件、控制浏览器——但这也意味着,如果配置不当,它就像一个拿着你家钥匙的陌生人。
这是「OpenClaw养成系列」的第一篇,我们将系统性地讲解如何给 OpenClaw 套上"安全笼子"。
为什么需要重视安全?
OpenClaw 的权限到底有多大?
OpenClaw 不是那种只能聊天的 AI 助手——它能做的事情,基本等同于你在终端里能干的所有事:
- 读取环境变量:
process.env里的敏感信息一览无余 - 控制浏览器:通过 Playwright 操作你的浏览器,包括登录状态的网站
- 访问网络资源:调用 API、下载文件、甚至扫描内网端口
- 执行任意命令:Shell 脚本、git 操作、文件管理
2026年1月,OpenClaw 刚修复了一个严重安全漏洞(CVE-2026-25253,CVSS评分8.8),攻击者可以通过URL参数窃取认证token,进而执行任意命令。
主要风险类型
| 风险类型 | 说明 | 潜在后果 |
|---------|------|---------|
| 未授权访问 | 陌生人可以使用你的 Agent | 资源滥用、隐私泄露 |
| 权限滥用 | Agent 执行超出预期的操作 | 数据损坏、系统破坏 |
| 数据泄露 | 对话记录包含敏感信息 | 商业机密外泄 |
| 提示注入 | 恶意指令控制 AI | 被利用执行攻击 |
5层安全防御体系
第一层:DM 配对机制(最重要!)
在 ~/.openclaw/openclaw.json 中配置:
{
"security": {
"dmPolicy": "pairing"
}
}
allow:允许所有私信pairing:仅允许已配对用户(推荐)block:阻止所有私信
第二层:Docker 沙箱隔离
这是隔离风险的最有效手段。将 AI Agent 运行在受限容器内,即使被攻破也无法触及宿主机。
在配置文件中启用:
{
"sandbox": {
"mode": "all"
}
}
non-main:仅对外部渠道启用沙箱all:强制所有会话使用沙箱(推荐生产环境使用)
第三层:敏感数据过滤
防止 API 密钥、密码等敏感信息在对话中泄露:
{
"security": {
"sensitiveData": {
"patterns": ["sk-*", "akia*", "ghp_*", "eyJ*"]
}
}
}
第四层:网络隔离
- 不要将网关暴露到公网:绑定到 localhost
- 使用 Tailscale 等 VPN:替代公网暴露
- 修改默认端口:18789 改为其他端口
# 修改默认端口
openclaw config set gateway.port 19888
第五层:凭证管理
- 使用环境变量:避免在配置文件中明文存储密钥
- 定期轮换:API Key 每月更换一次
- 运行安全检查:
openclaw doctor --security
快速安全检查清单
| 项目 | 状态 |
|-----|------|
| DM 配对设为 pairing | ☐ |
| 启用 Docker 沙箱 | ☐ |
| 配置敏感数据过滤 | ☐ |
| 不暴露到公网 | ☐ |
| API 密钥存环境变量 | ☐ |
| 定期运行安全检查 | ☐ |
总结
OpenClaw 安全配置的核心思路:
- 最小权限 - 只授予完成任务所需的最小权限
- 多层防御 - 沙箱隔离 + 网络隔离 + 凭证管理
- 持续监控 - 定期运行
openclaw doctor --security
配置看起来有点繁琐,但比起数据泄露和删库跑路,这点麻烦真不算什么。
参考资料:OpenClaw官方安全文档、安全配置最佳实践
📌 关注「OpenClaw养成系列」,下一期我们将讲解「技能(Skills)的安全审核」,教你如何安全地使用第三方插件。