OpenClaw 安全策略:DM 配对与权限控制
OpenClaw 连接到真实的通讯平台,安全至关重要。本文将详细介绍 OpenClaw 的安全策略,包括 DM 配对、权限控制和最佳实践。
安全概述
OpenClaw 的核心安全理念:默认安全,显式授权
- DM 配对:陌生私信需要配对才能交互
- 权限控制:精确控制工具访问权限
- 审批机制:敏感操作需要用户审批
- 数据加密:传输和存储数据加密
DM 安全策略
由于 OpenClaw 连接到真实通讯平台,必须谨慎处理陌生私信(DM)。
配对模式(默认)
陌生人发送私信时,会收到配对码,机器人不会处理消息,直到你批准:
{
"channels": {
"telegram": {
"token": "YOUR_TOKEN",
"dmPolicy": "pairing"
}
}
}
配对流程
- 陌生人发送消息给机器人
- 机器人返回配对码
- 你查看配对列表
- 批准或拒绝配对
- 配对后,该用户可以正常与机器人交互
配对管理命令
列出所有待批准的配对:
# 列出待批准的配对
$ openclaw pairing list
# 批准配对
$ openclaw pairing approve telegram 123456
# 拒绝配对
$ openclaw pairing deny telegram 123456
# 查看已配对用户
$ openclaw pairing list --approved
白名单模式
仅允许白名单中的用户交互:
{
"channels": {
"telegram": {
"token": "YOUR_TOKEN",
"dmPolicy": "allowlist",
"allowFrom": ["user1", "user2"]
}
}
}
开放模式(不推荐)
允许任何人发送私信:
{
"channels": {
"telegram": {
"token": "YOUR_TOKEN",
"dmPolicy": "open",
"allowFrom": ["*"]
}
}
}
⚠️ 警告:开放模式存在安全风险,仅在受信任的环境中使用。
工具权限控制
通过精确的工具权限控制,限制 AI Agent 的能力。
全局工具策略
为所有 Agent 设置默认工具策略:
{
"tools": {
"deny": ["exec", "bash"],
"allow": ["read", "write", "web_search"]
}
}
工具 Profile
使用预定义的 Profile:
| Profile | 包含工具 | 适用场景 |
|---|---|---|
minimal |
session_status | 最小权限,仅状态查询 |
coding |
group:fs, group:runtime, group:sessions, group:memory | 编程助手 |
messaging |
group:messaging, sessions_* | 消息处理 |
full |
所有工具 | 完整权限 |
每个 Agent 独立配置
为不同的 Agent 配置不同的工具权限:
{
"tools": {
"profile": "coding"
},
"agents": {
"list": [
{
"id": "default",
"name": "Default Assistant",
"tools": {
"profile": "full"
}
},
{
"id": "messenger",
"name": "Message Bot",
"tools": {
"profile": "messaging",
"allow": ["slack", "discord"],
"deny": ["exec"]
}
},
{
"id": "reader",
"name": "Read-Only Agent",
"tools": {
"allow": ["read", "web_search"],
"deny": ["exec", "write"]
}
}
]
}
}
敏感操作审批
为敏感操作配置审批机制:
配置审批策略
{
"tools": {
"exec": {
"security": "ask"
},
"process": {
"security": "ask"
}
}
}
审批级别
| 级别 | 说明 |
|---|---|
off |
不启用审批 |
on-miss |
仅不在允许列表时审批 |
always |
总是需要审批 |
网络通信安全
HTTPS/TLS
确保所有网络通信使用 HTTPS:
- 网关 API 使用 HTTPS
- 聊天平台使用安全连接
- 模型提供商使用 HTTPS
API Key 管理
安全地管理 API Key:
- 使用环境变量存储 API Key
- 不要在代码中硬编码 API Key
- 定期轮换 API Key
- 使用最小权限的 API Key
数据加密
配置文件加密
加密敏感配置文件:
# 加密配置文件
$ openclaw config encrypt ~/.openclaw/openclaw.json
会话数据加密
启用会话数据加密:
{
"security": {
"encryptSessions": true,
"encryptKeys": true
}
}
沙箱隔离
通过沙箱隔离保护系统安全:
工具沙箱
将工具运行在隔离的环境中:
{
"tools": {
"exec": {
"sandbox": true,
"workspace": "/tmp/openclaw-sandbox"
}
}
}
Agent 沙箱
为 Agent 设置独立的工作空间:
{
"agents": {
"list": [
{
"id": "coder",
"workspace": "/home/openclaw/workspaces/coder",
"isolate": true
}
]
}
}
审计与监控
启用审计日志
{
"audit": {
"enabled": true,
"logFile": "/var/log/openclaw/audit.log",
"level": "info"
}
}
监控安全事件
监控安全相关事件:
- 未授权的访问尝试
- 敏感操作执行
- 工具权限变更
- 配对请求
安全诊断
使用诊断工具检查安全问题:
# 运行安全诊断
$ openclaw doctor --security
诊断工具会检查:
- API Key 是否暴露
- DM 策略是否过于宽松
- 工具权限是否合理
- 敏感操作是否需要审批
最佳实践
最小权限原则
- 只授予必要的工具权限
- 使用最小权限的 API Key
- 限制文件系统访问范围
定期审计
- 定期审查配对列表
- 检查工具权限配置
- 审查审计日志
及时更新
- 保持 OpenClaw 最新版本
- 更新依赖项
- 关注安全公告
故障排查
配对请求未收到
- 检查网关日志
- 确认渠道配置正确
- 验证 DM 策略设置
工具权限错误
- 检查 Agent 工具配置
- 确认全局工具策略
- 验证工具名称拼写
总结
安全是使用 OpenClaw 的关键。通过 DM 配对、工具权限控制、审批机制和数据加密,你可以构建一个安全可靠的 AI 助手。
相关资源
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。







