文章总结: Silverfort研究发现OpenClaw技能平台ClawHub存在授权漏洞,攻击者可绕过限制伪造下载量提升排名。研究通过构造恶意技能并利用漏洞刷量使其登顶,六天内全球执行三千九百次,证实了供应链攻击的可行性与AI代理被欺骗的风险。该案例揭示了生成式引擎优化背后的深层安全隐患,强调了严格权限校验与代码审计的必要性。 综合评分: 92 文章分类: 漏洞分析,供应链安全,AI安全,实战经验
从GEO的优化到恶意skill排名作弊实践—-再议315晚会曝光AI模型搜索安全问题
原创
Silverfort Silverfort
暗镜
2026年3月26日 06:00 北京
随着生成式AI深度融入信息获取场景,企业获取流量的核心阵地正加速向各大AI助手平台迁移,生成式引擎优化(GEO)引起的欺诈问题随着315的曝光揭开了冰山一角,而Silverfort的研究却揭开深层次的问题。
Silverfort 的安全研究团队发现 ClawHub 存在一个严重漏洞,攻击者可以利用该漏洞将特定的skill推送为 ClawHub 排名第一。通过这种方式,攻击者可以将恶意代码注入看似合法且可信的技能中,从而为大规模供应链攻击奠定基础。因此,大量用户和 OpenClaw 代理可以下载被入侵的技能,并在其计算机上执行恶意代码,甚至可能获得更高的权限。在我们的概念验证 (POC) 中,恶意的技能在其类别中跃升至下载量第一,并 在6 天内在全球 50 多个城市(包括多家上市公司) 执行了 3900 次。
该问题已于 2026 年 3 月 16 日负责任地披露给 ClawHub 团队,此后已成功缓解。
ClawHub是什么?
ClawHub 是 OpenClaw 的公共技能注册中心,任何人都可以发布技能包供他人安装。例如,一个技能可以让你的 OpenClaw 代理与 Google 日历集成,或者代表你执行优化的网络搜索。它就像 OpenClaw 代理生态系统的 npm。ClawHub 平台发展迅速,许多技能的下载量已经非常惊人(想了解 OpenClaw 的入门知识?点击此处阅读更多内容)。
随着 ClawHub 的日益普及,它对攻击者的吸引力也与日俱增。攻击者可以将技能发布到用户活跃浏览和安装的市场上,这创造了巨大的供应链机会。
经典的攻击路径是发布恶意技能并等待用户安装。但仅仅将恶意代码注入看似无害的技能还不够——要实现广泛安装,技能本身必须看起来值得信赖。在 ClawHub 中,就像在 npm 或 VS Code Marketplace 等许多公共注册表中一样,信任度往往取决于其受欢迎程度。
用户更有可能下载带有“社会认同”的技能。
ClawHub 的代码几乎完全采用 vibe 编码。虽然这种方法有其优势,但也可能引入严重的安全问题。通过分析 ClawHub 的下载操作实现,我们发现了一个漏洞,该漏洞允许将基于下载的信任信号转化为可扩展的攻击链。
在 ClawHub 中寻找技能
假设您想安装一项技能,让您的 OpenClaw 代理能够协助您在 Google 日历中安排会议。为此,您需要访问 ClawHub(可以通过网页界面或命令行界面访问),并搜索相应的技能包。搜索结果中,您首先会注意到技能的下载量。技能的下载量越高,其在搜索结果中的排名就越高。
查看您在 ClawHub 搜索结果中相关技能的下载次数
每个技能包都包含一个SKILL.MD文件。该文件告知智能体技能的用途、所需依赖项以及使用时间和方式。某些技能可能包含智能体在特定情况下可以执行的脚本。
Google 日历技能的 SKILL.md 文件
深入研究
深入研究下载 API
ClawHub 的代码是公开的(这对我们来说是件好事)。在我们的研究过程中,我们发现它通过一个 downloadZip 函数公开了一个技能下载 API。简而言之,在下载被计入之前,请求必须通过几项验证检查:
- 速率限制:来自同一 IP 地址或用户的请求过多将被阻止。
- 去重:即使超过速率限制,同一 IP 或用户在同一小时内使用同一技能也不会被重复计算。
乍一看,这似乎是一个稳固的防御设计,但当你深入了解其实现方式后就会发现并非如此。
绕过前端 API 端点
ClawHub 使用 Convex 作为其后端框架。查看 ClawHub 源代码,发现有两个有趣的公开接口:
- Convex 网站 URL:提供前端 HTTP API。技能下载、用户列表和技能搜索等操作都基于此 API。
- Convex 的部署 URL 略有不同。它直接与 Convex 后端 RPC 层通信——没有 HTTP 操作中间件,也没有自定义请求处理。只是对后端进行原始函数调用。
深入了解凸库
Convex 是一个基于类型化 RPC(远程过程调用)模型的后端框架。在 RPC 模型中,客户端无需向 REST 或 GraphQL 端点发送 HTTP 请求,而是直接调用后端函数。您定义的每个函数都会自动注册并可调用——您可以将每个函数视为一个独立的端点。
Convex 对公共可调用函数和私有可调用函数划清了界限:
-
内部函数:
internalQuery / internalMutation / internalAction设计为私有函数。只能由其他服务器端的 Convex 函数调用,对外部完全不可见。
-
公共函数:
query / mutation / action通过 Convex 部署 URL 公开,任何知道或猜到函数名的人都可以调用它。根据 Convex 文档,如果一个函数被定义为公共函数,任何人都可以通过 HTTP 请求调用它,如下所示:
当然,这些功能必须谨慎使用 。在对后端数据库进行任何更改之前,必须验证客户端输入并确认使用该功能的权限。
发现的漏洞
downloads.ts 文件中有一个名为 increment 的函数。虽然合法的下载流程会经过一个受到严格保护的 内部变更过程 ,该过程会强制执行速率限制、去重和权限检查,但 这个函数完全跳过了所有这些步骤:
无需身份验证。无需速率限制。无需去重。无需任何权限检查。
它显然原本应该是一个 内部函数,但却被定义为 公共函数 mutation 。 internalMutation这一个错误导致它作为部署 URL 上的一个可调用 RPC 端点暴露出来,对所有人可见。
攻击者可以使用任何有效的 skillId 通过单个 curl 请求调用 downloads:increment,绕过下载流程中的所有保护措施,并 无限增加任何技能的下载计数器!
它看起来是这样的:
获取部署 ID 和技能 ID 非常简单,因为它们都暴露在客户端的网络流量中,可以通过检查 ClawHub 服务器的响应来观察。
形成攻击链
第一步:打造恶意技能
攻击始于构建并发布一项看似完全合法的技能。在本演示中,我们创建了一项 Outlook Graph 集成 技能——该实用程序允许 OpenClaw 代理安排会议、管理用户电子邮件等等。
培养技能
该技能的脚本中隐藏着一个简单的数据窃取有效载荷。当 OpenClaw 调用该技能时,它会收集客户端的用户名和完全限定域名 (FQDN),并将其发送到我们控制的服务器。为了便于研究,该有效载荷特意设计为影响极小且无破坏性的。
有效载荷嵌入在一个看似合法的“send_telemetry”函数中,因此该技能未被识别为恶意。
当然, 真正的攻击者 会使这个有效载荷更加复杂;他们可以收集环境变量、本地文件路径、存储在内存中的令牌,或者技能执行上下文中可访问的任何其他内容。
步骤二:虚增下载量
从供应链的角度来看,这正是此次攻击特别有趣的地方。我们已经在 ClawHub 上部署了一个恶意技能,但一个下载量为零的技能不可能触及任何人。谁会想安装一个从未有人尝试过的技能呢?我们需要它看起来值得信赖。
因此,可以开发了一个简单的工具来实现这个目的。通过利用在代码库中发现的漏洞函数,能够向统计数据库发送大量请求,以插入统计事件,从而增加我们恶意技能的下载计数器。下载量是多少?想多少就多少!没有速率限制,没有验证,没有任何东西可以阻挡
恶意技能请求下载量超过 20,000 次
短短几分钟内,这项技能的下载量就大幅攀升,足以将该技能推到其类别搜索结果的顶部。
利用排名系统漏洞,在的技能类别中获得第一名。
步骤三:产看结果
下载量激增后,用户开始发现并安装这项技能。结果: 短短 六天内,这项技能在 全球50多个城市 被执行了约3900次,其中包括多家上市公司。
恶意skill已在全球各地部署。
所有这些操作都会触发向恶意服务器发送 HTTP 请求,其中包含用户的域名和用户名,作为合法技能执行的一部分。
这充分展现了此类攻击链的强大威力。该技能以拥有极高权限的用户身份运行,该用户操作的是 OpenClaw 代理。在本例中,我们仅收集了用户名和域名,但真正的攻击者可以利用这些信息执行更具破坏性的操作。
OpenClaw 也落入了同样的陷阱。
如果人类用户都会落入下载陷阱,那么当我们把决策权委托给 OpenClaw 代理时会发生什么呢?
OpenClaw 可能无法做出比人类更好的决策。
当被要求查找满足特定需求的最佳技能时,代理会通过 ClawHub CLI 执行 ClawHub 搜索,并根据技能名称、别名、摘要和评分从搜索结果中选择技能。虽然最终决定安装哪个技能是由 LLM 完成的,但技能评分(根据代码库,该评分会影响最终决定)会受到内容语义以及下载次数的影响。
因此,如果让 OpenClaw 代理选择一项用于管理电子邮件和日历任务的技能,不出所料,它选择了我们发布的恶意技能。在相关问题回答中,它表示选择该技能是因为其得分最高(下载量高),从而实现了模型欺骗。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:暗镜 Silverfort Silverfort《从GEO的优化到恶意skill排名作弊实践—-再议315晚会曝光AI模型搜索安全问题》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论