为什么安全很重要
OpenClaw 不同于普通的聊天应用——它是一个拥有执行能力的 AI 代理,可以操作文件、执行命令、控制浏览器。这意味着一旦安全配置不当,攻击者可能通过你的 AI 助手获取系统权限。
OpenClaw 官方建议遵循最小权限原则:先以最严格的权限启动,再根据实际需要逐步放开。
第一步:网络绑定与暴露控制
OpenClaw 网关默认绑定到 loopback(仅本地),这是最安全的模式:
{
gateway: {
bind: "loopback" // 默认值,仅本地连接
}
}
如果你需要局域网访问,可以改为 lan,但务必同时配置认证:
{
gateway: {
bind: "lan",
auth: {
token: "your-strong-random-token"
}
}
}
如需远程访问,推荐使用 Tailscale 组建私有网络,而不是直接暴露到公网。
第二步:私信访问策略
OpenClaw 提供四种私信处理策略,控制谁能与你的 AI 助手交互:
| 策略 | 行为 | 适用场景 |
|---|---|---|
pairing |
陌生人收到配对码,审批后才能对话 | 默认推荐 |
allowlist |
仅允许白名单用户 | 严格控制 |
open |
允许任何人对话 | 公开服务 |
disabled |
忽略所有私信 | 仅群组使用 |
建议保持默认的 pairing 模式,通过 CLI 管理配对请求:
# 查看待审批的配对请求
openclaw pairing list whatsapp
# 审批某个用户
openclaw pairing approve whatsapp abc123
第三步:沙箱隔离
沙箱是 OpenClaw 的重要安全特性,可以将工具执行限制在隔离的容器环境中。配置方式:
{
agents: {
defaults: {
sandbox: {
mode: "non-main", // off | non-main | all
scope: "session", // session | agent | shared
workspaceAccess: "ro" // none | ro | rw
}
}
}
}
三种模式说明:
- off:不使用沙箱,工具直接在宿主机执行
- non-main:除主会话外的所有会话使用沙箱(推荐)
- all:所有会话都在沙箱中执行
工作区访问权限也有三个级别:
- none:工具只能访问沙箱内部
- ro:只读挂载宿主机工作区
- rw:读写访问(需谨慎使用)
第四步:工具权限控制
你可以精细控制 AI 助手能使用哪些工具:
{
tools: {
allow: ["group:web", "group:fs"], // 允许的工具组
deny: ["exec", "browser"] // 禁止的工具
}
}
OpenClaw 提供以下工具组快捷方式:
group:fs:文件系统操作group:runtime:运行时命令执行group:sessions:会话管理group:web:网络请求group:ui:界面交互
对于多代理场景,可以为不同代理配置不同权限:
{
agents: {
list: [
{
id: "personal",
sandbox: { mode: "off" } // 个人代理完全信任
},
{
id: "public",
sandbox: { mode: "all", workspaceAccess: "none" },
tools: { deny: ["exec", "browser", "group:fs"] }
}
]
}
}
第五步:文件权限加固
确保 OpenClaw 的配置文件和凭证文件具有正确的权限:
# 自动修复文件权限
openclaw security audit --fix
该命令会自动执行以下操作:
- 配置文件设置为
600(仅所有者可读写) - 状态目录设置为
700(仅所有者可访问) - 凭证文件设置为
600 - 群组策略从
open收紧为allowlist
建议在每次修改配置或网络环境变化后运行:
# 深度安全审计
openclaw security audit --deep
第六步:日志脱敏
OpenClaw 默认会对工具输出中的敏感信息进行脱敏处理:
{
logging: {
redactSensitive: "tools", // 脱敏工具输出
redactPatterns: [
"sk-[a-zA-Z0-9]{48}", // 自定义脱敏规则
"ghp_[a-zA-Z0-9]{36}"
]
}
}
分享诊断信息时,使用预脱敏的命令:
openclaw status --all # 自动脱敏后的状态输出
安全事件响应
如果你怀疑 AI 助手被入侵,按以下步骤处理:
- 遏制影响:禁用高危工具或停止网关
- 锁定访问:将私信策略切换为
disabled - 轮换密钥:更新网关令牌和模型 API 密钥
- 审查记录:检查日志和会话记录中的异常工具调用
- 重新审计:运行完整安全审计确认环境已清理
安全最佳实践总结
- 保持
loopback绑定,需要远程访问时使用 Tailscale - 使用
pairing或allowlist控制消息来源 - 为非主会话启用沙箱隔离
- 限制高危工具(
exec、browser)的使用范围 - 定期运行
openclaw security audit --deep - 使用环境变量存储敏感令牌,不要硬编码在配置文件中