深翼判例库DeepWing Case Library · INC-048 · 工具层Tool
ClawHub 技能市场被投毒:审计当时全部 2,857 个技能,检出 341 个恶意技能,335 个同属一场行动,以假「前置安装」投放 Atomic Stealer。 一句话(英):ClawHub's skill marketplace was poisoned: an audit of all 2,857 listed skills found 341 malicious, 335 from a single campaign, using fake prerequisites to deliver Atomic Stealer.ClawHub's skill marketplace was poisoned: an audit of all 2,857 listed skills found 341 malicious, 335 from a single campaign, using fake prerequisites to deliver Atomic Stealer.
本条在判例库中的登记行This entry in the Case Library: deepwingai.com/cases#INC-048
时间线Timeline
已证实事实Confirmed facts
Koi Security 研究员 Oren Yomtov 审计了当时 ClawHub 上架的全部技能,共 2,857 个,检出 341 个恶意技能,其中 335 个属于同一场行动,Koi 将其命名为 ClawHavoc(以上数字均为 Koi 审计口径,经 AIID 报告 6951、6952 与 Cloud Security Alliance 研究简报逐字核对一致)。恶意技能自 2026-01-27 起陆续上架。每个恶意技能的文档里都设有一个「前置要求」(Prerequisites)小节,诱导用户先装一个「必需组件」:Windows 用户被要求从 GitHub 下载口令保护的压缩包 openclaw-agent.zip 并运行其中程序,该程序是带键盘记录功能的木马;macOS 用户被要求把托管在 glot.io 的代码片段粘贴进终端运行,片段经 Base64 混淆后从攻击者服务器拉取第二阶段载荷,装上 Atomic Stealer(AMOS),窃取钥匙串凭据、浏览器数据、加密货币钱包、Telegram 会话、SSH 密钥与常用文件夹文件。335 个技能共用同一回连地址 91.92.242.30。伪装类型以加密工具最多,其次为 YouTube 工具与金融社交工具(Koi 审计分类口径)。当时的发布门槛仅要求 GitHub 账号注册满一周,上架无有效审核。Koi 在两周后的原文更新中称:登记册技能数增至 10,700 以上,其确认的恶意数升至 824,此为后续更新口径,不与首轮 341 混用。个别二手文章把审计基数写成 2,632,与 Koi 口径 2,857 不符,已弃用。
Koi Security researcher Oren Yomtov audited every skill then listed on ClawHub, 2,857 in total, and found 341 malicious skills, 335 of them belonging to a single campaign Koi named ClawHavoc (all figures are Koi's audit figures, checked verbatim against AIID reports 6951 and 6952 and the Cloud Security Alliance research brief). The malicious skills had been uploaded from January 27, 2026 onward. Each carried a "Prerequisites" section in its documentation that lured users into installing a supposedly required component first: Windows users were told to download a password protected archive, openclaw-agent.zip, from GitHub and run the program inside, a trojan with keylogging; macOS users were told to paste a code snippet hosted on glot.io into a terminal, which after Base64 obfuscation fetched a second stage payload from the attacker's server and installed Atomic Stealer (AMOS), taking keychain credentials, browser data, cryptocurrency wallets, Telegram sessions, SSH keys and files from common folders. The 335 campaign skills shared one command and control address, 91.92.242.30. Crypto tools were the largest lure category, followed by YouTube utilities and finance and social tools (Koi's classification). The publishing bar at the time was a GitHub account at least one week old, with no effective review. In an update two weeks later, Koi reported the registry had grown past 10,700 skills and its confirmed malicious count had risen to 824; that is a later figure and is not mixed with the first round 341. Some secondary articles give the audit base as 2,632, which conflicts with Koi's 2,857 and is not used.
失效机制Failure mechanism深翼分析DeepWing analysis
工具层失效有两层。表层是市场门禁:发布门槛极低、上架无有效审核,而技能一旦安装即以 agent 的完整权限运行。深层是文档与指令的边界:SKILL.md 名义上是文档,实际上是 agent 会执行的指令,假「前置安装」正是把恶意指令写进这份「文档」,由 agent 或用户亲手执行。第三方工具进入执行环境前没有来源核验与内容审查,归工具关。证据说明:本条一手来源 Koi 原文页已下线(见第一节待核二),等级按多源已核封顶,数字以三路逐字转述核对为准。
The tool layer failure has two levels. On the surface it is marketplace gating: a near zero publishing bar and no effective review, while an installed skill runs with the agent's full permissions. Underneath sits the boundary between documentation and instructions: a SKILL.md is nominally documentation but in practice is instructions the agent executes, and the fake prerequisite wrote the malicious instruction into that document for the agent or the user to run by hand. Third party tools entered the execution environment with no provenance check and no content review, which is the tool gate. Evidence note: the primary source, Koi's original post, is offline (see the verification notes), so this entry is capped at multi-source verified, with its figures carried by three verbatim relays checked against each other.
工程启示Engineering lessons
技能即指令:SKILL.md 名义上是文档、实际上是 agent 会执行的指令,按可执行指令审查,不按文档放行。
上架要有门禁:第三方技能进执行环境前过来源核验与内容审查,市场发布门槛不能只剩账号年龄。
安装权限最小化:技能一装即以 agent 完整权限运行的默认要改。
A skill is an instruction:a SKILL.md is nominally documentation but in practice instructions the agent executes; review it as executable instruction, not as a document.
Gate the marketplace:third party skills pass provenance and content checks before entering the execution environment; the publishing bar cannot be account age alone.
Minimise install permissions:the default that an installed skill runs with the agent's full permissions has to change.
你的系统里,Agent 的对外动作有人盯着吗?Is anyone watching what your agents do outside your system?
做 17 题免费自检Take the free 17-question self-check