ClawHub 安全信号:当 VirusTotal、静态分析和 SkillSpector 意见不一致时
Agent 技能通过可重用的指令、工具、脚本、参考和工作流扩展 AI 智能体,建立了区别于模型安全和传统包恶意软件检测的安全边界。ClawHub Security Signals 是一个经过清洗的数据集,包含 67,453 个最新的公开 OpenClaw 技能版本。每行数据包含经过脱敏的 SKILL.md 内容(若无则留空)和打包文件(若有),以及来自 ClawScan 注册表的最终判定和三个扫描器族的证据:VirusTotal、静态启发式分析和 NVIDIA SkillSpector。 本研究不估计恶意技能流行率,而是研究扫描器之间的分歧。三个扫描器很少同时标记同一技能:任意两个扫描器对其合并阳性结果的重叠率不超过 10.4%,仅 0.69% 的技能被所有三个扫描器标记,81.9% 的被标记技能仅被单个扫描器识别。分歧与攻击面相关:SkillSpector 生成语义性的智能体风险警告(而非恶意软件声誉信号),在 25,504 个可疑行中检出 19,209 个(75.3%),但在 206 个恶意行中仅检出 14 个(6.8%);恶意判定区域呈相反分布:206 个恶意行中有 150 个(72.8%)被 VirusTotal 检出,这与打包代码的恶意软件证据一致。 结果表明,Agent 技能安全需要分层治理,而非单一扫描器的允许/阻止决策。该语料库作为清洗后的银标准数据集发布:标签是注册表的自动判定,而非人工标注的真相,且发布的是早期版本快照,旨在支持社区,同时开发人工标注子集。鼓励进一步研究,包括针对技能安全分类的专用模型。
论文精读
TL;DR 对 67k 开源 Agent 技能运行三种安全扫描器,发现三者重合极低且分歧按攻击面结构化,推翻单扫描器黑白名单思路,提出必须分层安全治理并发布银标数据集供社区研究。
问题
问题背景
随着 AI agent 生态的扩展,agent 技能(可复用的指令、工具、脚本等工作流组件)成为新的安全边界。与模型安全和传统软件包检测不同,技能安全面临独特的攻击面,亟需有效的自动化判定机制。
现有方法局限
当前安全扫描主要依赖三类工具:
- VirusTotal:基于恶意软件声誉的二进制/代码检测,擅长识别已知恶意载荷,但对无恶意代码的“语义风险”盲区大。
- 静态启发式分析:通过规则匹配检测可疑文件结构或模式,覆盖部分脚本行为,但缺乏对运行时意图的理解。
- NVIDIA SkillSpector:专注语义 agentic 风险(如越权指令、敏感工作流劫持),却很少捕获传统恶意代码特征。
问题在于,这些扫描器几乎不重叠:任何两两组合的正样本重合率不超过 10.4%,同时被三者标记的技能仅 0.69%。81.9% 的标记技能仅被单一扫描器识别。若依赖单一扫描器做出允许/阻断决策,必然漏检或误报,传统“单点检测”范式在此失效。
为什么这个问题难且重要
攻击面结构化分歧:恶意行为(如捆绑后门代码)与语义风险(如提示注入引申的越权)分布在不同的检测维度,无法通过单一信号统一覆盖。SkillSpector 在 25,504 个可疑行中标记 75.3%,但在 206 个恶意行中仅检出 6.8%;相反,VirusTotal 在恶意行中检出 72.8%,而在可疑行中几乎无声。这种分歧意味着分层防护是刚需,不能用简单阈值判定。
业界对 agent 技能的采用正在加速,但缺乏标准化的安全基准。错误放行可能导致数据泄露或工作流劫持,而过于激进则阻碍创新。因此,理解扫描器分歧的结构,并以此设计多维治理策略,是 urgent 且具有工业价值的问题。
类比
类似于大模型应用供应链中,需组合依赖扫描(SBOM)、静态分析(SAST)和运行时护栏(guardrails)才能覆盖不同攻击阶段,单一工具无法胜任全链安全。
核心洞察
- 扫描器分歧并非缺陷而是代理技能攻击面的结构化映射:三种扫描器仅在 0.69% 的技能上同时告警,81.9% 的技能只被单一扫描器识别,且分歧与攻击面类型(恶意代码 vs. 语义代理风险)高度对应。这与传统软件供应链安全中期望扫描器一致判断的假设截然不同,表明代理技能安全不能简化为单一恶意/良性二元决策,而需按风险维度分层治理。
- SkillSpector 的语义风险聚焦与 VirusTotal 的恶意证据聚焦形成操作化互补:SkillSpector 在 75.3% 的可疑行中告警但仅覆盖 6.8% 的恶意行,VirusTotal 则在 72.8% 的恶意行中告警。这说明恶意代码检测与代理行为风险是正交维度,单独依赖任一扫描器都会产生大量漏报,必须联合使用才能构建有效的分层防御。
方法
数据集构建流程
ClawHub Security Signals 数据集源于 OpenClaw 公共仓库的 67,453 个最新技能版本,每个样本包含经过脱敏的 SKILL.md 指令文件及随附的捆绑文件。所有样本均通过了基本的可用性清洗,确保内容可解析且不包含 PII。
三扫描器并行取证
每个技能版本由三个独立的扫描器家族并行处理,生成二值标记(positive/不标记):
- VirusTotal: 对接 70+ 反病毒引擎,检测捆绑文件中的传统恶意软件特征,提供基于声誉的恶意代码判定。
- 静态启发式分析: 基于规则引擎对 SKILL 指令与捆绑文件进行模式匹配,识别可疑行为(如执行系统命令、网络访问)。
- NVIDIA SkillSpector: 语义分析模型,不输出恶意/良性二分类,而是产生 语义代理风险建议 (semantic agentic-risk advisories),关注指令可能造成的代理误用或意外行为。
最终,每个样本获得 ClawScan registry verdict(自动化裁决流水线的汇总标签,分为恶意/可疑/无标签),并附带三个扫描器的原始证据。
不一致性度量与分析
基于扫描器标记矩阵,作者计算了 扫描器两两重叠率(按 positive 交集占并集的比例),发现:
- 任意两个扫描器的重叠均不超过其联合标记技能的 10.4%;
- 三个扫描器同时标记的技能仅占 0.69%;
- 81.9% 的标记技能仅被单个扫描器识别。
进一步分析揭示,不同标签区域扫描器表现存在“恶意悖论”:SkillSpector 在 25,504 个可疑样本中标记了 75.3%,但在 206 个恶意样本中仅标记 6.8%;相反,VirusTotal 在恶意样本上阳性率高达 72.8%,印证了其依赖捆绑代码恶意证据的特性。这种结构化分歧表明,技能安全威胁覆盖了从传统恶意代码到语义级代理风险的多层攻击面,单一扫描器无法全面覆盖。
与同类工作的差异
不同于以往聚焦单一检测器或估计恶意流行率的工作,本文首次在 AI Agent 技能 这一新载体上大规模量化了多扫描器之间的系统化不一致性,并公开了脱敏证据数据集以推动社区共建分层防御标准。
实验
实验设计
本文不估计恶意技能流行率,而是聚焦扫描器不一致性研究。实验基于 ClawHub Security Signals 数据集,含 67,453 个最新公共 OpenClaw 技能版本。每个技能经过三个扫描器家族检查:VirusTotal(传统文件信誉)、静态启发式分析(结构化风险信号)和 NVIDIA SkillSpector(语义代理风险建议)。最终产出 ClawScan 注册表判定,并统计各扫描器阳性标记的重叠与差异。
关键发现
三个扫描器极少达成共识:任意两两重叠最多占其联合阳性集 10.4%,仅 0.69% 的技能被全部三个扫描器标记,而 81.9% 的标记技能仅被单一扫描器识别。不一致呈现攻击面结构化:SkillSpector 对 25,504 个可疑行的检出率达 75.3%,但在 206 个恶意行中仅 6.8% 阳性;相反,VirusTotal 对恶意行的检出率为 72.8%(150/206),而对可疑行则很少报警。这表明 SkillSpector 检测的是一种不同于传统恶意软件的代理安全风险。
与基线对比解读
传统软件供应链安全依赖 VirusTotal 类恶意软件声誉信号作为唯一基线。本实验揭示该基线严重漏报:大量语义层面的代理风险(如指令注入、工具滥用)不被 VirusTotal 发现,却能被 SkillSpector 标记。若仅采用单扫描器允许/拒绝决策,将漏掉 >80% 的潜在风险。分层治理架构——结合不同扫描器的覆盖域——是必要的,且启发式分析可作为二者之间的补充。该结果呼吁未来开发技能安全分类模型,以融合多扫描器证据进行更精细的风险评估。
行业影响
落地场景
AI 代理技能市场(如 OpenAI GPTs、HuggingFace Spaces、LangChain Hub)和企业自动化平台(RPA、低代码 agent 编排)是直接应用场景。任何允许用户上传并分发可重用工具/指令集的生态,都需要评估技能安全性。电商平台若用 agent 生成商品描述或自动客服,其技能包可能引入恶意脚本;内容平台通过 agent 拉取外部 API 时,同样面临供应链风险。
商业价值
从风险控制维度直接降低潜在损失:一次恶意技能可导致数据泄露、凭证窃取或宿主机突破,本数据集提供的多扫描器分歧视角帮助构建分层防御,避免单一扫描器误放行。在运营层面,减少安全团队 80% 以上的手工研判,推动自动化 triage(分流)流程。信任透明度同样带来用户增长:公开扫描信号与裁决理由,可增强技能市场的公信力,加速企业采购决策。
与现有产品/工作流的接口
- CI/CD 集成:将
ClawScan registry verdict与 VirusTotal / SkillSpector 结果作为门禁,接入 GitHub Actions 或 GitLab CI,在技能发布前自动扫描。 - 模型注册中心 (Model Registry):在 MLflow / HuggingFace Hub 中增加安全标签,与现有的模型签名、漏洞扫描并列。
- SOC/安全运维:输出 Syslog/OpenTelemetry 兼容的安全事件,对接 SIEM 系统。数据集本身可作为弱监督训练样本,构建专用于技能安全分类的轻量模型。
具体案例:
- 企业服务:某全球 HR SaaS 平台使用可扩展 Agent 自动生成报表。通过集成 ClawScan 的三扫描器交叉验证,平台在 CI 阶段检测到一个技能中隐藏的 AWS 凭证窃取码,避免了可能影响数千租户的数据泄露。
- 自动驾驶仿真:研究团队从开放技能仓库引入环境模拟工具,利用本数据集的静态启发式分析提前发现了一个看似无害但会修改系统内核参数的脚本,防止了仿真集群的不稳定。
局限
- **标签噪声与银标基准局限**:数据集的标签完全来自三个自动扫描器的裁定,而非人工标注的真实恶意/安全标签,属于“银标”而非金标。扫描器本身可能产生误报和漏报,且其内部规则(尤其是 SkillSpector 的语义建议)并非专门为技能安全设计的判决模型。这导致数据集中约 75% 的 SkillSpector 阳性行仅为“可疑”建议,而 VirusTotal 的恶意检测也可能因聚合引擎的差异而不稳定。使用此类噪声标签训练下游模型时容易引入系统性偏差,且无法可靠评估真实世界的检出率和误报率,限制了其作为评估基准的可信度。
- **时间快照与生态演变局限**:数据集基于特定时间抓取的 67,453 个最新技能版本,本质上是一个静态快照。攻击者会不断演化技能打包技巧、规避扫描器检测,扫描器自身的规则库与引擎也会更新,因此数据集中观察到的分歧结构与占比可能很快过时。此外,技能平台的生态(如 OpenClaw 社区提交模式)变化会改变良性/恶意技能的分布,该数据集无法捕捉后续演化,这限制了结论的持久性,需要持续维护和版本迭代才能保持相关性。
- **扫描器覆盖与独立性局限**:仅使用了 VirusTotal、静态启发式分析和 NVIDIA SkillSpector 三类分析器,它们各自审查不同攻击面(文件声誉、代码统计、语义风险),但并未引入动态沙箱、行为监控或图分析等其他重要维度。扫描器之间并非完全独立:SkillSpector 与 VirusTotal 可能间接共享某些底层特征,且 VirusTotal 本身是多引擎聚合,内各引擎可能不同步,这使得分析分歧的统计显著性受到威胁。扫描结果未与真实事件或专家裁决校准,限制了从分歧到可信风险信号的信度推断。