OpenClaw v2026.4.11今天发布,我仔细研究了release notes,发现这次更新在安全方面做了不少重要改进。
作为一个AI助手平台,安全不仅仅是"不泄露密码"那么简单。它涉及到信息边界、权限控制、数据隔离等多个层面。这次更新,OpenClaw在这些方面都有所加强。
安全改进一:子Agent信息泄露修复
问题描述
在ACP(Agent Control Protocol)架构中,父会话可以创建子Agent来执行特定任务。之前存在一个严重问题:子Agent的内部运行注释会泄露到父会话中。
具体表现
[子Agent] 正在分析用户需求...
[子Agent] 正在生成代码结构...
[子Agent] 正在编写具体实现...
[子Agent] 任务完成,返回结果
# 现在:父会话只看到最终结果
[任务完成] 这里是生成的代码...
安全风险
1信息过载:用户不需要看到这些内部过程
2敏感信息泄露:子Agent的内部逻辑可能包含敏感信息
3攻击面扩大:攻击者可能通过这些信息了解系统内部结构
修复效果
现在这些内部进度信息被正确屏蔽。父会话只接收最终结果,实现了更好的信息隔离。
安全改进二:外部嵌入内容审核
新功能
Control UI新增了[embed ...]标签,支持在对话中嵌入富内容(网页预览、交互组件等)。
安全机制
security:
embed_urls:
allowlist:
- https://docs.openclaw.ai/*
- https://github.com/openclaw/*
blocklist:
- http://localhost/*
- file:///*
安全考虑
1来源审核:嵌入的URL必须经过配置审核
2协议限制:可以限制只允许HTTPS
3域名白名单:只允许信任的域名
4本地资源隔离:禁止嵌入本地文件系统资源
实际意义
这个功能在提供丰富交互体验的同时,防止了恶意内容的注入。比如,攻击者不能通过AI回复嵌入一个钓鱼网站。
安全改进三:插件系统权限声明
新架构
插件现在可以通过manifest声明所需的权限和配置步骤。
权限声明示例
"name": "database-plugin",
"version": "1.0",
"permissions": {
"required": ["read_database", "write_database"],
"optional": ["admin_access"],
"setup_steps": [
{
"name": "数据库连接配置",
"description": "配置数据库连接信息",
"fields": ["host", "port", "username", "password"]
}
]
}
}
安全优势
1最小权限原则:插件只能请求必要的权限
2透明配置:用户清楚知道插件需要什么
3分步授权:可以按需授权,而不是一次性给所有权限
4审计追踪:权限授予有明确记录
安全改进四:Microsoft Teams反应权限分离
技术细节
Microsoft Teams插件现在支持反应(reactions)功能,但实现上做了权限分离:
- ▶读取路径:使用应用级认证(不需要用户授权)
- ▶写入路径:使用委托OAuth(需要用户授权)
安全设计
reactions:
read: app_auth # 任何人都可以读取反应
write: delegated_oauth # 只有授权用户可以发送反应
安全意义
1权限最小化:不同操作使用不同权限级别
2用户控制:发送反应需要用户明确授权
3防止滥用:未授权用户不能发送恶意反应
安全改进五:音频转录DNS安全加固
问题背景
之前音频转录功能(OpenAI、Groq、Mistral)因为DNS问题失效。
安全修复
def make_request(url, data):
# 使用pinned DNS,但配置有问题
return requests.post(url, data, dns_config=pinned_dns)
# 修复后:只有multipart请求用pinned DNS
def make_request(url, data):
if is_multipart(data):
# multipart请求用pinned DNS
return requests.post(url, data, dns_config=pinned_dns)
else:
# 其他请求用系统DNS
return requests.post(url, data)
安全考虑
1针对性防护:只在必要时使用安全DNS
2性能平衡:不影响正常请求的性能
3故障隔离:一个服务的DNS问题不影响其他服务
安全改进六:配置验证增强
新功能
配置系统现在会验证asyncCompletion字段。
技术细节
const configSchema = z.object({
// ... 其他字段
asyncCompletion: z.boolean().optional(),
// ... 其他字段
})
安全意义
1配置验证:防止无效配置导致安全漏洞
2类型安全:确保配置值的类型正确
3文档同步:配置字段和文档保持一致
安全改进七:QA测试中的安全检查
新测试
QA测试现在包含"信息泄露"场景检查。
测试内容
- name: "子Agent信息泄露"
scenario: "创建子Agent执行任务"
check: "父会话不应看到子Agent内部注释"
severity: "high"
- name: "配置信息泄露"
scenario: "请求系统信息"
check: "响应不应包含敏感配置"
severity: "medium"
安全价值
1自动化检查:每次发布前自动运行安全测试
2持续监控:确保安全修复不会回退
3质量门禁:安全测试失败会阻止发布
安全最佳实践建议
基于这次更新,我总结了几个安全最佳实践:
1. 及时更新
openclaw update --check
# 应用安全更新
openclaw update
2. 配置审核
security:
embed_urls:
allowlist: [/* 只添加信任的域名 */]
plugins:
review_permissions: true # 审核插件权限
3. 权限管理
- ▶使用最小权限原则
- ▶定期审查插件权限
- ▶禁用不需要的插件
4. 监控日志
openclaw logs --filter security
总结
OpenClaw v2026.4.11-beta.1在安全方面的改进主要集中在:
1信息边界:修复子Agent信息泄露
2内容安全:外部嵌入内容审核
3权限控制:插件权限声明和分离
4配置安全:配置验证增强
5测试覆盖:QA测试包含安全检查
这些改进体现了OpenClaw团队对安全问题的重视。作为一个AI助手平台,安全不是一次性工作,而是持续的过程。
这次更新虽然标着beta,但安全修复的质量很高。建议所有用户,特别是企业用户,认真考虑升级。
安全是一个持续的过程。如果你在使用OpenClaw时发现任何安全问题,建议及时向开发团队反馈。
夜雨聆风