security supply-chain

ClawHavoc:820 个恶意插件是怎么渗透进 OpenClaw 市场的

ZeroClaws.io

ZeroClaws.io

@zeroclaws

2026年2月17日

7 分钟

ClawHavoc:820 个恶意插件是怎么渗透进 OpenClaw 市场的

2026 年 2 月 1 日,Koi Security 的自动化扫描器在 ClawHub——OpenClaw 的官方插件市场——发现了异常。一批最近发布的插件共享着高度相似的代码结构、相同的错误处理模式和几乎一样的依赖列表。它们有不同的作者、不同的名字、不同的描述。但剥开表面,里面是同一套东西。

Koi 把这次攻击命名为 ClawHavoc。对 ClawHub 2,857 个插件的初步审计发现了 341 个恶意条目。到 2 月 16 日,扩展扫描标准后,这个数字增长到了 824 个——而此时注册表已经膨胀到超过 10,700 个插件。大约 20% 的 ClawHub 内容被攻陷。

这不是砸了抢了就跑的那种攻击。这是一次精心策划的行动,利用了市场中每一个信任信号。

攻击解剖

恶意插件被设计成看起来完全合法。每一个都遵循 ClawHub 的打包、文档和元数据最佳实践。很多有专业的 README,包含安装指南、配置示例和故障排查章节。有些甚至有几百颗星标——通过一批一次性 GitHub 账号人为刷上去的。

名字经过精心计算,以吸引安装。solana-wallet-tracker、api-rate-monitor、docker-health-check、slack-standup-bot。听起来很有用的工具,开发者可能不怎么审查就装了。没有一个名字有明显的危险信号。

载荷投递是分层的。 插件确实能用。如果你装了docker-health-check,它真的会检查你的 Docker 容器健康状态。这不是一个不能用的木马——这是一个功能正常的工具,带有隐藏的第二个目的。

恶意行为在安装后激活,通常通过定时器或触发条件:

  1. 1.**凭据收割。** 插件读取环境变量,寻找 API 密钥、数据库凭据、云服务商令牌和 SSH 密钥。OpenClaw 插件与 OpenClaw 进程拥有相同的 OS 权限,所以环境变量里的一切都可以被访问。
  1. 2.**数据外泄。** 收割的凭据通过伪装成分析或遥测调用的方式发送到攻击者控制的端点。HTTP 请求看起来像正常的 API 流量——发向看起来合法的域名的 POST 请求,带着 JSON 载荷。
  1. 3.**持久化访问。** 有些插件安装了二级载荷:轻量级反向 shell 或 SSH 密钥注入,能在 OpenClaw 重启和插件卸载后存活。卸载恶意插件并不能移除后门。
  1. 4.**横向移动。** 有网络访问权限的插件利用收割的凭据探测内部服务,将攻击面扩展到 OpenClaw 主机之外。

为什么 ClawHub 如此脆弱

ClawHub 的脆弱性不是代码 bug。这是信任模型的问题。

没有代码审查。 ClawHub 对发布的插件没有审查流程。任何人可以发布任何东西。市场依赖社区举报来识别恶意内容——一个被动模型,保证攻击者有一个窗口期。

没有沙箱。 OpenClaw 插件在与 OpenClaw 相同的进程空间中执行。没有能力模型,没有权限系统,没有办法限制插件能访问什么。安装一个插件就是隐式授予完整系统访问权限。

可操控的信任信号。 ClawHub 上的星标、下载量和作者声誉都是可以操纵的。ClawHavoc 运营者创建了大量假账号来提升其插件的表面可信度。

依赖不透明。 很多恶意插件在载荷旁边包含了合法的 npm 依赖。恶意代码通常被注入 postinstall 脚本或埋在依赖的依赖里,让手动代码审查变得不切实际。

应对措施

Koi Security 2 月 1 日的公开披露引发了一连串反应:

  • ClawHub 对已确认的恶意插件实施紧急下架
  • OpenClaw 团队发布了已知受损插件名和校验和列表
  • 社区维护的屏蔽列表在几小时内出现
  • GitHub 安全团队标记并删除了用于刷星的一次性账号

但根本问题没解决。清理之后,ClawHub 的架构并没有变。新插件仍然可以未经审查就发布。插件仍然没有沙箱。信任信号仍然可以被操纵。

到 2 月下旬,安全研究员发现了第二波恶意插件——比第一波更隐蔽,吸取了第一批被检测到的经验。

数据

截至 2 月下旬的最终统计:

  • 824 个确认的恶意插件
  • 其中 12% 包含 AMOS 信息窃取器
  • 335 个追溯到一个协调行动(严格意义上的 ClawHavoc)
  • 489 个归因于看到机会的模仿攻击者
  • 估计 10,000+ 用户在下架前安装了至少一个恶意插件
  • 泄露的凭据数量不详

这对 AI 智能体市场意味着什么

ClawHub 的失败是 AI 智能体生态在缺乏安全架构的情况下规模化会发生什么的预演。

插件市场模型——由浏览器扩展、IDE 插件、现在的 AI 智能体技能所普及——有一个根本性的张力:安装的便利性驱动生态增长,但安装的便利性也驱动攻击面扩大。安装一个插件越无摩擦,攻击者分发恶意软件就越无摩擦。

解决方案不是新的。它们与每个其他软件生态最终都采用的解决方案相同:

  1. 1.**发布前的强制代码审查**(Apple App Store 模式)
  2. 2.**限制已安装代码能访问什么的运行时沙箱**(浏览器扩展模式)
  3. 3.**需要用户显式授权的基于能力的权限**(Android 权限模式)
  4. 4.**验证发布包与源代码一致的可复现构建**
  5. 5.**标记已知脆弱或可疑依赖的依赖扫描**

ZeroClaw 的做法从根本上绕开了市场问题。没有 ClawHub 的对应物。扩展是编译进二进制的 Rust trait 或以显式能力授权加载的 WASM 模块。你不能通过点击按钮安装 ZeroClaw 扩展——你必须有意地将它添加到配置中、编译它、并授予特定权限。

这没有 ClawHub 方便。这就是重点。摩擦就是安全模型。

检查你的暴露情况

如果你用过 ClawHub 插件:

  1. 1.列出已安装插件:`openclaw skills list`
  2. 2.与已知恶意列表交叉比对:github.com/koi-security/clawhavoc-indicators
  3. 3.如有匹配:立即轮换 OpenClaw 进程可访问的所有凭据
  4. 4.检查未授权的 SSH 密钥:`cat ~/.ssh/authorized_keys`
  5. 5.检查意外的 cron 任务:`crontab -l`
  6. 6.检查出站网络连接:`ss -tp | grep openclaw`
  1. 1.更新到最新版(修补了 CVE-2026-25253 和 CVE-2026-26327)
  2. 2.不要暴露在公网——放在 VPN 或反向代理后面
  3. 3.审计每一个已安装的 ClawHub 插件
  4. 4.考虑迁移到不使用信任式插件模型的框架

824 个恶意插件不是终点。只要 ClawHub 的架构不做根本性改变,这就是起点。

开始用 ZeroClaw 构建 AI Agent

获取新版本、集成和 Rust 驱动的 Agent 基础设施更新。不发垃圾邮件,随时退订。