SkillVetBench:用 LLM-as-Judge 评估开源 LLM Agent 技能的多维安全风险
SkillVetBench: LLM-as-Judge for Multi-Dimensional Security Risk Evaluation in Open-Source LLM Agent Skills
SkillVetBench在标注的78个恶意技能上Miss为0%(Table 3)。
- 开源智能体技能的危害常写在自然语言指令里,代码层扫描器看不到,人工审查也扩不到市场规模。作者要做可公开比较的语义化多维审查。
- 同一LLM-as-Judge只读技能静态产物,用五维加权公式给出SARS,再由模型填写的CVSS v4.0向量计算基分,并给出三档裁决。三套结果分开报告,且与ClawHub官方审查并排。
- 标注集上SkillVetBench对78个恶意技能的Miss为0%(Table 3);四名评审的检出率为35%–95%(Table 5)。线上1299次评估中509次(39.2%)被标为vulnerable,不是相对标签的召回。
- 作者指出裁决随评审模型变化,置信度尚未对照经验准确率,且系统只读静态产物;校准、沙箱动态分析与judge加固是后续工作。检出数字来自100个有标签技能,线上统计是1299次评估的快照。
- 被测模型
- Qwen2.5-14B-InstructQwen2.5-32BLlama-3.1-70BLlama-3.1-7BLlama-3.2-3B-InstructMixtral-8x7B
- 基准
- labeled 100-skill set (78 confirmed-malicious + 22 benign) from the companion benchmarkClawHub/OpenClaw leaderboard snapshot (1,299 evaluations, 24 May 2026)
- 指标
- Miss Rate (FNR)Catch (recall)PrecisionSARSCVSS v4.0 base scoreVuln. %
研究者提出 SKILLVETBENCH,一个部署在 Hugging Face 上的公开排行榜,用 LLM-as-Judge 审查社区贡献的 Agent 技能,并给出五维 Agent 风险指标 SARS 及加权公式,同时整合 CVSS v4.0 向量分解与 ClawHub 双视图。基于配套基准论文,LLM-as-Judge 阶段在 78 个已确认恶意技能上零漏报、22 个良性对照上零误报,而最佳静态基线 SKILLSIEVE 仍漏掉 15%;在提示注入、记忆投毒等指令层类别上,传统工具漏检 89% 至 100%,例如 CODEBERT 对 9 个记忆投毒技能一个都没检出。四个 LLM 评估器的检出率在 35% 至 95% 之间,作者据此建议在生产部署中采用集成评分。主论文已投稿 NeurIPS 2027,处于评审中。
深度解读
这篇论文试图解决什么问题?
开源技能的指令层风险缺少可比较的多维语义审查,作者用SkillVetBench来补。
开源 LLM 智能体技能缺少能覆盖指令层和跨技能风险、又可公开比较的语义审查。
- 场景:作者称 LangChain、Auto-GPT 与 OpenAI 的 function-calling 让智能体在运行时发现、安装并调用社区技能;ClawHub 与 OpenClaw 托管数以万计的技能。恶意贡献者可以把有害行为放进对用户、智能体和市场扫描器都显得良性的技能。作者称危险常在自然语言指令层,凭据窃取和数据外传要到执行时才出现,并引用配套论文 [1];本文未给该活动的规模。
- 现有方法:作者称签名扫描和静态分析停在代码层,看不到没有代码级签名的指令层攻击;策划者的临时人工审查扩不到数千技能;静态方法也不能确认危险原语是否被触发、用了什么参数、效果如何。
- 作者的主张:缺的是标准化、自动化、可公开比较的多维评估。作为代码有多危险、作为智能体行动者有多危险、以及如何分诊,是三个不同问题;合成一个分数会盖住分歧。
- 本文的对象:SkillVetBench,一个持续更新的公开排行榜。LLM-as-Judge 阅读完整技能产物,对每个技能给出五维 SARS(Skill Agentic Risk Score)、完整 CVSS v4.0 向量,以及 Benign / Suspicious / Malicious 裁决和 [0, 1] 置信度。有标签的检测数字来自配套基准 [1]。
有哪些相关研究?
论文无Related Work专节,对照主要来自代码层扫描、CVSS与配套基准。
论文没有 Related Work 专节。下面只按引言、方法、第 5 节和参考文献里实际写到的内容分组。
智能体框架与技能市场
- LangChain(Chase,2022)与 Auto-GPT(Richards 等,2023):引言用来说明智能体可以发现、安装并调用社区贡献的技能。OpenAI 的 function-calling 同样被提到,论文未给文献条目。
- ClawHub 与 OpenClaw:作者称这两处开放市场托管数以万计的技能;官方提交审查仍未能挡住恶意技能,细节指向配套论文 [1]。
代码层扫描与人工审查
- 签名扫描与静态分析:作者称它们工作在代码层,对没有代码级签名的指令层攻击在结构上看不见;即便标出危险原语,也不能确认运行时是否触发。
- 平台人工审查:作者称策划者的临时审查扩不到数千技能。论文没有把这句批评挂到某一篇被引论文上。
评分标准与排行榜先例
- CVSS v4.0(FIRST.org,2023):本文为每个技能计算完整基分向量。作者称 CVSS 面向代码级漏洞,没有提示劫持、跨技能放大或指令范围内数据外传的原生指标。
- SuperGLUE(Wang 等,NeurIPS 2019):作者只把它当作公开排行榜推动语言技术进展的先例,并称 SkillVetBench 想在智能体技能安全上扮演同类角色。论文未比较二者的任务或协议。
基线与配套基准
- 基线方法:Table 3 列出 VirusTotal、ClawScan、ClawVet、LLM (0-shot)、LLM (few-shot)、CodeBERT、SkillProbe、SkillSieve。论文未在正文定义这些系统的实现,也未说明两种 LLM 基线的模型名。
- 基准/数据集:第 5 节检测数字来自配套论文 [1] 的有标签集合,78 个确认恶意技能加 22 个良性对照。线上语料来自 ClawHub/OpenClaw,第 7 节快照为 1299 次评估。
- 作者把本文定位为 [1] 的公开排行榜配套:用 SARS 记录代码分看不到的指令层与多智能体风险,并与 CVSS、市场官方裁决并列,而不是合成一个分数。
论文如何解决这个问题?
同一LLM-as-Judge读静态技能产物,分别输出SARS、CVSS v4.0和三档裁决。
SkillVetBench 用同一个 LLM-as-Judge 只读完整技能产物,再把 SARS、CVSS v4.0 和三档裁决分开写入报告与排行榜。作者称三者回答不同问题,分歧本身是信号。
输入与不执行的边界
- 读入:SKILL.md,以及捆绑脚本、配置和声明的工具/参数接口。解析成指令、代码、配置、工具声明四类片段,并规范化注释与空白。
- 不做什么:不执行技能,不沙箱运行,不观察运行时参数,不做动态污点跟踪。作者称裁决评估的是已声明且可检查的行为;只在特定输入下才出现的风险是由静态证据推断的,不是观察到的。
- 截断:超出上下文时优先保留指令,代码和配置最后截断,并记录截断。作者称指令层意图是主要威胁类。
- 平台流程:摄取、解析、评估、评分、报告、发布。Figure 1 画成四段:输入、LLM-as-Judge、多维评分、报告与排行榜。产物版本或评审模型变化时重跑,每行保存模型标识。第 7 节数字固定在 2026-05-24 快照。
LLM-as-Judge
- 模型与解码:线上默认评审是 Qwen2.5-14B-Instruct。同一次评估里,意图抽取、分类、SARS、CVSS 向量和最终裁决共用同一模型、同一提示模板。解码为 T=0.2、top p=0.9。
- 提示结构:角色与三档裁决语义、SARS 与分类量表、按类型标注的技能片段、结构化输出。附录 A 给出精简模板。该模板要求对照 15 类;第 4 节 Table 2 列出 7 类。论文未解释两套分类如何对应。
- 裁决:综合信号后落入 Benign、Suspicious 或 Malicious,置信度在 [0, 1]。composite risk 达到 Medium 及以上时,排行榜把该技能标为 vulnerable。论文未给出 composite risk 的合成公式。
- 置信度:作者称这里的 calibrated 只表示分数跟踪模型自述的确定程度;尚未用 reliability diagram 对照经验准确率,阈值也没有在留出验证集上单独调节。
SARS
五个维度都是 0–3 的整数。SARS = (2 IFR + 1.5 DG + 1.5 AI + 2 BR + 2 CA) / 2.7。作者称权重和为 9、单维最高为 3,未归一化最高为 27,除以 2.7 后落到 0–10。
- 维度与权重:IFR 是指令忠实风险,DG 是数据敏感度,AI 是动作可否撤销,BR 是爆炸半径,CA 是链式放大。Table 1 给出各级语义。IFR、BR、CA 的权重为 2,DG、AI 为 1.5。作者称权重是设计选择,不是拟合参数;前一组权重更高,是因为代码层扫描最难看见它们。
- 分档:Critical 为 ≥9.0,High 为 7.0–8.9,Medium 为 4.0–6.9,Low 为 <4.0。作者称连续分用于排序,分档用于设门限。点击维度可展开 0–3 的说明(Figure 4)。
CVSS 与 ClawHub 双视图
- 谁填向量:judge 填写类别型指标和每项理由;数值基分与 severity 档由标准 CVSS v4.0 函数计算,不是模型直接给出。附录模板规定 agentic skills 的 AV:N 与 AC:L 固定。
- 双视图:官方一侧是同一技能的 OpenClaw Safety Review。两侧按五个维度对齐:Purpose & Capability、Instruction Scope、Install Mechanism、Credentials、Persistence & Privilege。LLM 侧用 Pass/Warning/Fail,官方侧用 note、concern 等刻度。作者称映射到共同序数轴以便并排,不强制相同标签;分歧被当作发现,而不是要抹平的错误。
分类与主导标签
- Table 2 的七类:Command/Shell Injection、Remote Code Execution、Unsafe File Operations、Prompt Injection、Memory Poisoning、Data Exfiltration、Privilege Escalation。每条发现有 SKV 编号、受影响内容、危险说明、攻击场景和修复建议。
- 主导类别:最高 severity 发现所在类;并列时先比发现数,再按类别顺序。Table 9 反映主导类别,并把相近类型合并报告。线上类别名还包括 Table 2 没有的 Agentic State Manipulation、Insecure Deserialization 等。
- 标签来源:作者称七类由配套基准 [1] 的恶意语料导出并校验,每个确认恶意技能至少落入一类。
论文做了哪些实验?
标注集上Miss为0%(Table 3);1299次评估里509次被标为vulnerable。
实验设置
- 两套总体:第 5 节是配套基准 [1] 的 78 个确认恶意技能与 22 个良性对照,作者写明检测指标只在这套有标签数据上报告。第 7 节是 2026-05-24 快照的 1299 次线上评估,没有这套恶意/良性标签。贡献列表另写 1200-skill 语料;下文线上数字以第 7 节为准。
- 评审模型:默认 Qwen2.5-14B-Instruct。标注集 Table 5 为 Qwen2.5-32B、Llama-3.1-7B、Llama-3.2-3B-Instruct、Mixtral-8x7B。线上 Table 10 为 Qwen2.5-32B、Llama-3.1-70B、Mixtral-8x7B、Qwen2.5-14B。
- 基线:Table 3 有 VirusTotal、ClawScan、ClawVet、LLM (0-shot)、LLM (few-shot)、CodeBERT、SkillProbe、SkillSieve。两种 LLM 基线的模型名论文未说明。
- 指标:Catch 为召回,Miss % 为漏检率,另有 Precision 和未定义的 Balance。SARS 为 0–10,CVSS 为 v4.0 基分。线上 Vuln% 是 composite risk 达到 Medium 及以上的比例,不是相对恶意标签的召回。
- 判定与区间:Table 4 为 TP=78、FN=0、FP=0、TN=22。作者给出 Wilson 95% 下界,recall 约 0.95,specificity 约 0.85,并称真实漏检率可能到约 5%。论文未报告与人工的一致性,也未报告重复运行次数。
- 第 5 节的出处:这些检测数字引自配套基准 [1],不是在 1299 次快照上重新标注得到的。
主结果
下表只含 Table 3 的原数,总体为 78 个恶意技能加 22 个良性对照。省略 ClawVet(Miss 59%)与 LLM (0-shot)(Miss 26%)。
| 系统 | Catch | Precision | Miss % | | VirusTotal | 0.33 | 1.00 | 67% | | ClawScan | 0.48 | 1.00 | 52% | | LLM (few-shot) | 0.78 | 0.88 | 22% | | CodeBERT | 0.70 | 0.95 | 30% | | SkillProbe | 0.81 | 0.88 | 19% | | SkillSieve | 0.85 | 0.90 | 15% | | SkillVetBench | 1.00 | 0.96 | 0% |
- 作者称该表中只有 SkillVetBench 对 78 个恶意技能零漏检,并对 22 个良性对照零误报。摘要将 SkillSieve 称为 best static baseline,其 Miss 为 15%,与表一致。同表还有未定义的 Balance 列,SkillVetBench 为 0.95。
- Table 3 的 Precision 列为 0.96,Table 4 与正文写 FP=0、TP=78。论文未定义 Precision,也未解释这两处如何同时成立。
- 指令层计数在第 5.1 节,不在 Table 3:Prompt Injection 共 19 个技能,VirusTotal 标出 0 个,ClawScan 标出 3 个,LLM-as-Judge 标出全部 19 个。Memory Poisoning 共 9 个,ClawScan 检出 1 个,VirusTotal 检出 3 个,CodeBERT 检出 0 个;LLM-as-Judge 将 9 个都标为 Suspicious 或 Malicious。摘要称常规工具在这类上漏掉 89%–100%。作者称基线合计漏检为 15–67%,好于它们在指令层上的漏检。
评审模型敏感性
- 同一标注集(Table 5):Qwen2.5-32B 检出率 95%,平均 SARS 5.06±2.02;Llama-3.1-7B 为 78% 与 4.99±2.48;Llama-3.2-3B-Instruct 为 43% 与 5.57±2.66;Mixtral-8x7B 为 35% 与 1.74±2.20。作者称 Mixtral 接近一律弃权,中位 SARS 为 0.00。
- 线上子集(Table 10):各模型的 N 不同,论文未说明是否同一批技能。Qwen2.5-32B(N=120)与 Llama-3.1-70B(N=101)的 Vuln% 均为 79.2%,平均 SARS 为 5.06 与 4.90;Mixtral-8x7B(N=99)为 35.4%;默认 Qwen2.5-14B(N=979)为 30.5%。Table 5 里 Qwen2.5-32B 的平均 SARS 也印作 5.06±2.02,但是标注集,不是这 120 次评估。
- 作者的解读:作者建议使用至少 7B 参数、指令跟随较好的评审,并做多 judge 集成。第 7 节称 Table 10 的检出率差距接近 2.5 倍(作者写 35%–79%),单模型裁决不宜单独采信。第 9 节把跨 judge 范围写成 35%–95%,引用 Tables 5 与 10。
SARS 与 CVSS 的分歧
- Table 6(来自 [1]):恶意类别的 CA 都不低于 1.80。Data Exposure 的 CVSS 为 1.84,Supply Chain 为 2.30。No Issue 行为 IFR 0.86、DG 0.32、AI 0.14、BR 0.05、CA 1.00、CVSS 0.00。
- 作者的两类解读:每个恶意类别的 CA 都不低于 1.80,作者称确认恶意技能都会加入组合攻击链,与主向量无关。Data Exposure 与 Supply Chain 被作者称为低于 CVSS 的 Medium 档,但 IFR 为 2.00、CA ≥ 1.80,裁决为 Suspicious。
- 权重扰动:Memory-Poisoning 均值画像(IFR=2.11,DG=1.56,AI=2.11,BR=2.00,CA=2.11)在公式下为 6.65,等权并重归一到 0–10 时为 6.59。作者称偏移 <1%,并把 SARS 主要当作排序信号。windows-control 在两种权重下都是 8.0。
线上快照与案例
- composite risk(Table 7):1299 次中 Low 712(54.8%)、Medium 451(34.7%)、High 54(4.2%)、Critical 3(0.2%)。作者将 Medium 及以上计为 vulnerable,并写 509 次(39.2%)。表内各等级计数与 509 如何对齐,论文未解释。另有 79 次(6.1%)为 ERROR,作者称保留而不是静默丢掉。
- 两套 severity(Table 8):CVSS 只覆盖基分非零的 536 个技能,其中 High 140(26.1%)、Critical 24(4.5%)、Low 242(45.1%)、Medium 130(24.3%)。SARS 覆盖全部 1299 次:Critical 8(0.6%)、High 40(3.1%)、Medium 418(32.2%)、Low 326(25.1%);正文另写 None 507(39.0%)。作者称 SARS 的 High/Critical 合计 48 个(3.7%)。
- windows-control(第 6 节,Qwen2.5-14B-Instruct,2026-05-24):SARS 8.0(HIGH;IFR=3,DG=2,AI=3,BR=1,CA=3),CVSS 10.0(Critical)。论文将该向量读作网络可达、无需权限或用户交互、两侧系统的 C/I/A 均为 High,Exploit Maturity 为 Attacked。7 条 SKV:3 条 Critical(Command Injection、Unsafe File Operations、Remote Code Execution)、3 条 High(Data Exfiltration、Privilege Escalation、Memory Poisoning)、1 条 Medium(Agentic State Manipulation)。LLM 报告为 Malicious(High Confidence),官方审查为 Suspicious(Medium Confidence)。市场元数据为 28 stars、6.6k interactions、42 installed、v1.0.0。作者称这是报告示例,不是统计样本。
其他消融与分析
- Table 9 的 509 个 vulnerable 技能:Command/Shell Injection 与 RCE 共 236(46.4%),Prompt Injection 58(11.4%),Credential/Secret Exposure 51(10.0%),Memory Poisoning & Persistence 44(8.6%),Unsafe File Operations 42(8.3%),Agentic State Manipulation 35(6.9%),Data Exfiltration 26(5.1%),Privilege Escalation 9,Supply Chain 7,Insecure Deserialization 1。
- 第 5.2 节正文:Llama-3.2-3B-Instruct 平均每技能 6.50±7.80 个漏洞发现;该数不在 Table 5 的 SARS 列。Mixtral-8x7B 的中位 SARS 为 0.00。
- 第 6 节:作者把 Table 6 的 No Issue 行代入公式,得到约 1.67(Low),平均 CVSS 为 0.00,裁决为 Benign;并称前面的高分来自产物的风险面,而不是系统性偏报警的 judge。
- Table 10 的平均发现数 V/sk:Llama-3.1-70B 为 4.09,Qwen2.5-32B 为 2.48,Qwen2.5-14B 为 1.08,Mixtral-8x7B 为 0.94。
有什么可以进一步探索的点?
作者指出裁决随评审模型变化、只做静态阅读,并把校准与沙箱分析列为后续。
作者指出的局限与后续方向
- 模型依赖与漂移:裁决继承评审模型的偏差。作者在第 9 节写检出率在各 judge 间为 35%–95%,并引用 Tables 5、10。低温采样减少但不能消除运行间不确定性;模型升级可能挪动整个排行榜。记录评审模型并建议集成,但单模型行仍须带着这一限制来读。
- 提示词与校准:结果依赖固定模板,量表措辞和片段顺序都可能影响分数。置信度是模型自述的确定程度,尚未用 reliability diagram 对照经验准确率;后处理校准是后续工作(第 9 节)。第 3.1 节同样写明阈值未在留出集上调节。
- 静态阅读与规避:因为只读不执行,作者列出指令或字符串混淆、多语言或低资源语言、运行时才取回的恶意指令、动态拼装载荷的包装代码,以及特定输入才触发的外壳。作者还指出针对 judge 本身的提示注入。加固 judge,并用沙箱动态分析补充静态审查,被写为后续工作(第 9 节)。
- 误报取舍:抓住细的指令层威胁,与误标合法的高能力自动化技能,二者有取舍。作者认为第 6 节的良性对照和 Table 7 的分布说明默认 judge 偏保守而不是偏报警;为提高召回收紧阈值时,应预期更多误报。22 个良性对照限制了目前能把误报率界定到多紧(第 9 节)。
- 外部输入与标签:ClawHub/OpenClaw 的元数据和官方审查可能变化或不可用;确认恶意标签来自配套基准的标注流程。作者称这两者都约束结论能推广到多远(第 9 节)。
实验覆盖范围
- 检测指标(Tables 3–6)只报告在配套基准的 100 个有标签技能上:78 个确认恶意、22 个良性(第 5 节)。
- 线上统计是 2026-05-24 快照的 1299 次评估,作者将其与标注集分开(第 7 节)。
- 附录 A 列出的评审模型为 Qwen2.5-14B-Instruct、Qwen2.5-32B、Llama-3.1-7B、Llama-3.1-70B、Llama-3.2-3B-Instruct、Mixtral-8x7B。
- 第 2 节写明 judge 只读静态内容,不执行技能、不观察运行时参数、不做动态污点跟踪。
- 论文未报告评审与人工的一致性,也未说明 Table 3 中 LLM (0-shot) 与 LLM (few-shot) 的模型名称。
总结一下论文的主要内容
公开排行榜用LLM-as-Judge给技能分列SARS与CVSS,并对照市场官方审查。
SkillVetBench 是给开源 LLM 智能体技能做多维安全评估的公开排行榜,检测数字锚定配套基准 [1]。
- 要审的对象:社区技能在运行时扩展智能体的动作空间。作者称危害经常写在自然语言指令里,代码扫描和平台审查对不上这类供给链风险。
- 做法:同一个 LLM-as-Judge 只读静态产物,用五维加权公式给出 0–10 的 SARS,由模型填写的 CVSS v4.0 向量经标准函数得到基分,并输出三档裁决与置信度。三者分开报告,再与 ClawHub 官方审查按五个维度并排。默认评审是 Qwen2.5-14B-Instruct,T=0.2、top p=0.9。
- 有标签的检出:78 个确认恶意技能加 22 个良性对照上,Table 3 中 SkillVetBench 的 Catch 为 1.00、Miss 为 0%、Precision 为 0.96;SkillSieve 的 Miss 为 15%。Table 4 写 FP=0。四个评审模型的检出率从 35%(Mixtral-8x7B)到 95%(Qwen2.5-32B)(Table 5)。Prompt Injection 的 19 个技能里,VirusTotal 标出 0 个;Memory Poisoning 的 9 个里,CodeBERT 检出 0 个。
- 线上快照:2026-05-24 的 1299 次评估中,作者将 509 次(39.2%)标为 vulnerable(Table 7)。默认 Qwen2.5-14B 在其 979 次上的 Vuln% 为 30.5%,Qwen2.5-32B 与 Llama-3.1-70B 在各自子集上为 79.2%(Table 10)。这不是同一套恶意标签上的召回。
- 作者的结论:指令层威胁是代码扫描盖不住的攻击面;SARS 补上 CVSS 没有的智能体维度,双视图把市场审查与语义审查的分歧变成可核对的信号。集成评分、置信度校准,以及对静态规避和 judge 提示注入的加固,被留在后续。