
OpenClaw 24h 更新快报(2026-04-21):CLI 性能优化、安全加固与渠道稳定性
过去 24 小时,OpenClaw 仓库共合并了 46 个 PR,涉及 CLI 性能、渠道安全、Agent 会话管理等多个维度。本期重点关注:懒加载机制落地大幅缩短了 doctor 命令的启动时间;多处 SSRF 防护与权限校验得到强化;同时 Telegram、Discord 等主流通知渠道的稳定性问题完成了修复。
CLI 性能:doctor 命令启动耗时大幅缩减
PR #69840 为 CLI 带来了显著的性能改进。通过对 doctor 插件路径实施懒加载,doctor --non-interactive 不再在进入工作逻辑前承担完整的插件图导入与 Jiti 运行时初始化代价。测试基准显示,整条命令执行时间从约 25.8 秒降至约 3.6 秒,降幅超过 85%。这对于自动化健康检查和 CI 环境中的例行诊断意义重大。
安全加固:多链路防护升级
本期合并了多个安全相关修复,覆盖 exec、gateway、control-ui 等核心模块。
PR #69795 补全了 exec 允许列表对 heredoc 参数展开的过滤。此前 $(...) 和 `...` 已被拦截,但 $VAR 形式的普通参数展开仍可逸出,允许列表模式下的安全命令存在被环境变量劫持的风险,此次修复将其纳入拦截范围。
PR #69796 修复了 gateway 中 loopback 请求的所有权上下文推导逻辑此前存在的缺陷:MCP loopback 请求曾从子进程控制的头部接受所有权上下文,导致非持有者可通过 bearer token 冒认所有者身份,现已改为从 token 本身派生上下文,消除这一权限提升向量。
PR #69774 要求执行所有者强制命令必须提供真实所有者身份标识,而非仅依赖 header 声明,从机制上堵住了身份伪冒的路径。
PR #69773 在 control-ui 中阻止了远程图片的加载,防止通过图片 URL 进行的侧信道探测或恶意内容注入。
PR #69797 修复了 OpenShell 文件写入的一个路径验证缺陷:writeFile 在完成目标路径校验后,通过未解析的主机路径执行临时文件创建和重命名操作,存在符号链接父目录遍历风险,现已将写入操作约束在沙箱根目录内。
SSRF 防护:Zalo 与 QQBot 同时修复
PR #69593 为 Zalo 渠道出站图片 URL 添加了 SSRF 防护,PR #69595 对 QQ 机器人直接上传接口(uploadC2CMedia 与 uploadGroupMedia)的 URL 路径同样增加了 SSRF 检查。两个渠道的媒体下载路径此前未做来源验证,存在被利用发起内网探测或定向攻击的风险。
Agent 会话与调度
PR #69817 修复了 Agent 子会话中的 A2A ping-pong 循环问题:当向拥有父所有权的 ACP 子进程发送消息时,回复会在父子之间来回转发直到达到 maxPingPongTurns 上限(默认 5 次),导致对话异常终止。现已实现跳过逻辑,终止该无效循环。
PR #69775 为 control UI 头像路由启用了身份认证要求,防止未授权用户通过该路径获取用户头像信息。
PR #69404 将会话维护行为默认启用并在加载时触发修剪,防止长期运行导致 gateway 内存耗尽。
渠道稳定性修复
Telegram 媒体文件投递(PR #69641)与 cron 聊天消息投递策略(PR #69587)在过去一日完成修复,前者改善了媒体文件的发送成功率,后者纠正了 cron 场景下消息路由的行为一致性。
PR #69791 与 PR #69786 分别针对 Discord 与 Telegram 频道注册流程引入性能优化,通过缩窄运行时表面降低了注册阶段的资源开销与延迟。
其他重要更新
PR #69611 为渠道工具引入了流式进度输出至预览编辑的能力,工具执行反馈现在可以实时呈现在控制台,降低了长时间运行的工具调用黑盒感。
PR #69816 为 Ollama 补全了 media-understanding provider 注册,此前视觉模型图片工具的 provider 注册表中缺少 ollama 条目,导致配置 agents.defaults.imageModel.primary = "ollama/..." 时模型无法解析。
PR #69477 将 Moonshot 默认模型从旧版本切换为 Kimi 2.6,保持与官方推荐版本同步。
本期更新覆盖安全、性能、稳定性三个主要方向,整体呈现出对生产环境可靠性的持续关注。


评论