五个 OpenClaw 0day 可导致攻击者劫持可信 AI 代理访问权限
聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
OpenClaw 通过 Slack、Discord、Microsoft Team、Matrix 和 Telegram 等服务集成 AI 代理,严重依赖于用户定义的白名单来判断可与代理交互的角色。这一信任模型认为仅有明确获得批准的身份才能向代理签发命令,访问敏感数据、内部API或系统级别的执行能力。然而研究员发现,该信任模型因为在白名单处理过程中的身份解析不当问题,已经不起作用。

这些漏洞源于一个反复出现的设计缺陷:在服务初始化期间,系统会将人类可读的标识符(例如显示名称)解析为稳定的用户 ID。由于在大多数聊天平台上,显示名称是可变的,攻击者只需将用户名改为与允许名单中的身份相匹配,就能轻易地冒充受信任的用户。该漏洞最初在 OpenClaw 的 Telegram 集成中发现,并已根据安全公告 GHSA-mj5r-hh7j-4gxf 进行了修复。尽管漏洞已修复,但同样的根本原因仍然存在于另外五个渠道的扩展中,分别是 Slack、Discord、Matrix、Zalo 和 Microsoft Teams。每个实现都独立地重新引入了相同的不安全模式,这凸显了分布式开发及安全策略执行不一致所带来的更广泛问题。

该漏洞的核心在于一个有缺陷的启动解析过程。虽然运行时检查通常会验证稳定的用户 ID,但初始化逻辑会基于 displayName 或 username 等可变字段,通过目录查询来解析允许列表中的条目。
如果在服务重启之前,攻击者将其显示名称更改为与允许名单中的用户相匹配,系统就可能错误地将攻击者的 ID 绑定到受信任的允许列表中。一旦发生这种情况,攻击者就能完全控制代理的交互,而合法用户则会被默默地排除在外。

这些漏洞是通过一个名为 agentgg 的专用 AI 驱动静态分析工具发现的,该工具能够根据历史安全公告生成自定义检测器。通过分析 OpenClaw 先前的漏洞,该工具针对反复出现的不安全模式开发了有针对性的检测逻辑,最终识别出一个在多个模块中复现的缺陷。
OpenClaw 的维护者已确认并处理了这些漏洞,其修复措施强制执行严格的基于 ID 的匹配,并将基于名称的解析置于明确的配置标志之后。从安全角度来看,此类漏洞属于 CWE-639 类型,该类型描述了通过用户控制的标识符绕过授权的行为。
这类漏洞在 AI 代理环境中影响尤为严重,因为被攻破的访问权限可能转化为任意命令执行、数据泄露或在集成系统内的横向移动。Philip Garabandic提到,此事件突显出一个问题:修补单个组件并不能消除潜在的漏洞类别。如果没有系统性的检测机制,同样的缺陷可能会在并行的实现中悄无声息地扩散。通过将过往的 incident 数据转化为自动化检测工作流,组织可以防止重复性错误,并在日益复杂的 AI 驱动架构中加强信任边界。
ClawJacked 攻击可导致恶意网站劫持 OpenClaw 窃取数据
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。


奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 “赞” 吧~
夜雨聆风