Hotdry.
security

OpenClaw 安全框架深度审计:身份验证、权限控制与数据隔离的架构缺陷

深入剖析 OpenClaw 安全框架的架构性缺陷,揭示 41% 漏洞率背后的身份验证缺失、权限控制失效与数据隔离不足问题。

当近半数流行技能存在安全漏洞,而 99.3% 的技能甚至没有向用户披露其权限需求时,这个以「AI 代理编排」著称的开源框架正在暴露出架构层面的系统性安全危机。ClawSecure 近期对超过 2,890 个流行 OpenClaw 技能的独立审计,揭示了一个令人警醒的现实:用户正以「盲信任」的方式将敏感数据与系统控制权交给未经审查的代码。这种危机的根源并非个别实现缺陷,而是 OpenClaw 安全框架在身份验证层、权限控制层与数据隔离层存在的结构性短板。

身份验证层的架构性缺失

OpenClaw 的设计哲学强调技能(Skill)的可组合性与快速部署,这一理念在带来开发便利性的同时,也导致了身份验证机制的长期缺位。审计数据显示,99.3% 的 OpenClaw 技能在分发时未附带 config.json 权限清单,这意味着用户在安装一个技能之前,对其能够访问的系统资源一无所知。更确切地说,用户无法在安装前得知该技能是否会读取文件系统、执行 Shell 命令、访问浏览器数据或向外部服务器发起网络请求。

这种「盲安装」模式暴露了身份验证层的第一层缺陷:框架缺乏对技能发布者的强制身份验证机制。与传统应用生态中应用商店对开发者的审核不同,OpenClaw 的技能分发依赖于社区驱动的 awesome-openclaw-skills 列表与 openclaw/skills 仓库,任何开发者都可以提交技能且几乎不受到身份核验的约束。ClawSecure 的审计发现 539 个技能表现出与 ClawHavoc 恶意软件活动一致的指标,包括凭证收割、命令与控制回拨以及数据外传行为,这些技能得以广泛传播正是利用了身份验证层的空白。

身份验证的第二个维度涉及技能运行时对调用者的身份校验。OpenClaw 的技能执行模型允许多个技能在同一上下文中运行,但框架并未强制要求每个技能在执行敏感操作前验证调用者的身份与权限级别。这意味着一个被标记为「安全」的基础技能,可能被恶意的上游技能通过链式调用劫持其执行路径,进而以合法技能的身份执行未经授权的操作。审计中发现的 9,515 个安全发现,相当比例源自这种身份验证的缺失 —— 框架无法区分一个文件读取请求是来自用户显式调用的技能,还是来自被恶意技能诱导的间接调用。

权限控制层的失效与绕过

权限控制是安全框架的核心防线,但在 OpenClaw 的架构中,这道防线形同虚设。首先,权限清单(Permissions Manifest)的缺失使得权限控制失去了其前置条件 —— 如果一个技能从未声明其需要的权限,那么运行时权限检查便无从谈起。审计数据显示,即便存在 config.json 机制,框架也未强制执行权限声明的校验,这导致即便有少数技能尝试使用权限清单,其声明与实际行为之间可能存在显著偏差。

权限控制的第二层失效体现在权限升级(Privilege Escalation)机制的缺失。OpenClaw 的技能可以组合使用,一个技能的输出可以作为另一个技能的输入,这种设计在带来灵活性的同时也为权限升级提供了天然通道。攻击者可以构建一系列低权限技能的组合,通过逐步传递控制权的方式实现对高权限资源的访问。例如,一个仅具有「读取文本文件」权限的技能,可以通过调用另一个具有「执行命令」权限的技能来实现权限升级,而框架对此类跨技能调用链的权限校验几乎为零。

第三个关键问题在于权限的动态变更缺乏审计与回滚机制。ClawSecure 的 Watchtower 监控系统在审计期间检测到 661 次代码变更,涉及已注册技能的代码修改。这些「沉睡特工」(Sleeper Agent)风险表明,一个技能可能在初始审计时表现正常,但在后续更新中悄然引入恶意行为。由于 OpenClaw 缺乏对技能代码变更的强制再审计机制,用户在自动更新后可能毫不知情地暴露于新引入的漏洞之中。

数据隔离层的结构性漏洞

在数据隔离层面,OpenClaw 的架构设计同样存在根本性缺陷。框架的技能执行环境并未实现严格的数据作用域隔离,多个技能可能共享同一文件系统路径、内存空间或网络上下文。这种设计虽然简化了技能间的数据共享,但也创造了数据泄露的广泛攻击面。

审计中发现的高频漏洞类型 —— 未经授权的网络调用与凭证暴露 —— 直接关联到数据隔离的不足。当一个技能可以无限制地发起外部网络请求时,它实际上拥有了将本地数据(文件内容、环境变量、API 密钥)传输至任意服务器的能力。99.3% 的技能未提供权限清单的现实,意味着用户在安装技能时无法预判其网络行为,更无法通过配置策略限制其数据外传的通道。

正则表达式拒绝服务(ReDoS)漏洞的广泛存在进一步揭示了数据隔离层面的另一重问题:技能对不可信输入的处理缺乏安全边界。当一个技能接收来自其他技能的输出作为输入时,框架并未要求对跨技能数据进行消毒处理,这意味着恶意技能可以通过构造特定的输出内容来触发目标技能的正则表达式灾难性回溯,从而实现对整个代理系统的拒绝服务攻击。

攻击面评估与风险参数

综合审计发现,OpenClaw 的攻击面可以归纳为以下几个关键维度。首先是供应链攻击风险,未固定的 npm 依赖项允许攻击者在依赖树中注入恶意包版本,一旦某个流行技能引入受污染的依赖,整个依赖该技能的上游技能链都将受到波及。其次是凭证外泄风险,30.6% 的漏洞被评定为 HIGH 或 CRITICAL 级别,其中凭证暴露与未经授权的网络调用是最常见的严重漏洞类型。第三是持久化威胁,「沉睡特工」模式的存在表明攻击者可以通过长期潜伏的方式,先以正常功能建立用户信任,再在后续更新中激活恶意能力。

针对这些攻击面,以下参数可作为安全部署的基准参考:技能安装前必须验证其是否附带 config.json 权限清单,未附带者应标记为高风险;所有技能应纳入依赖锁定(lockfile)机制,确保依赖版本不可被篡改;建议部署类似于 ClawSecure 3-Layer Audit Protocol 的多层次审计流程,结合行为分析引擎与 55+ 威胁模式进行深度检测;启用代码完整性监控(如 SHA-256 哈希比对),在检测到任何代码变更时自动触发重新审计;网络出站请求应纳入白名单策略,默认拒绝未经明确授权的外向连接。

资料来源

本文审计数据源自 ClawSecure 于 2026 年 3 月发布的 OpenClaw 安全审计报告,该报告覆盖了 2,890+ 个流行技能的 9,515 个安全发现。

查看归档