SkillSentry:用自适应蜜罐世界动态检测 Agent 技能安全
SkillSentry: Adaptive Honey Worlds for Dynamic Safety Testing of Agent Skills
SkillSentry用自适应honey world做技能安装前审计,两混合基准平均F1为96.26%。
安装前审计:扫描器可读技能包,在隔离环境执行。
- 已安装技能可能在特定环境、资源或交互历史出现后才暴露未披露行为。公开注册表使技能易复用,安装后可使用宿主的文件、shell、凭证和网络。静态分析与一次性语义判断难以确认该行为可达、已完成且由技能导致。
- SkillSentry先从宣称任务推断能力契约,再把源码支持的越界行为做成测试。它构造含任务无关诱饵的honey world,对同一任务做有技能与无技能的配对执行,只在效果完成、可归因且超出契约时判为不安全。
- SkillSentry在仅有害基准上Recall为99.50%,两个混合基准F1为96.08%与96.43%,FPR为4.15%与2.33%。四种规避平均F1为92.95%。注入平均F1为86.32%。
- 论文未专门讨论局限。实验覆盖三个标准基准、四种语义保持规避和两组能力注入,以及组件消融、四类骨干和200个技能的耗时抽样。论文未报告完整基准规模、重复次数和人工一致性。
- 威胁模型
- 安装前审计:扫描器可读技能包,在隔离环境执行。目标是判断技能是否产生宣称任务不需要的已完成效果。知识包括说明、脚本、依赖、辅助文件,以及由描述、用户输入和部署策略推出的能力契约。论文未用white-box或black-box。判定要求效果由技能导致、有源码支持且越出契约;覆盖不足记未解决。
- 被测模型
- DeepSeek-V4-ProQwenKimiDoubao
- 基准
- HarmfulSkillBenchSkillTrustBenchMalSkillBenchPOISESkillCloak-StructuralSkillCloak-SFSVulMask-styleSkill-InjectSkillJect
- 指标
- PrecisionRecallF1FPR
研究者提出 SkillSentry,一个基于自适应蜜罐世界的动态安全测试框架,用于检测 LLM Agent 外部技能在特定环境状态下才暴露的有害行为。该方法先推断技能的能力边界,构建由 LLM 模拟、含受控诱饵资源的环境,并自适应生成任务以探索其行为状态,再将启用技能的执行轨迹与匹配的无技能执行对比,把可疑行为定位到源码和已验证的执行轨迹上。在标准基准上,SkillSentry 取得 99.50% 召回率和 96.26% 平均 F1;在保持语义的规避攻击下平均 F1 为 92.95%,最强基线为 80.07%。作者称代码已公开。
深度解读
这篇论文试图解决什么问题?
条件性技能越权难靠静态或一次性语义扫描诱发并归因,SkillSentry用配对执行做安装前审计。
技能在检查时可以看似无害,只在遇到特定环境状态、资源或交互历史后才表现出有害行为;静态扫描和一次性语义判断难以诱发并归因这种条件性越权。
- 场景:技能由可复用指令、脚本和依赖组成,安装后可使用宿主智能体对文件、shell、凭证和网络服务的访问。作者称公开注册表便于复用,也形成供应链边界;近期测量发现恶意技能,以及描述从未披露其能力的看似有用技能。
- 不足:作者称现有扫描器主要依赖静态分析、预定义规则或一次性语义判断。源码能发现文件和网络 API,但不能显示条件分支会执行;LLM 评审可能接受合理解释而不观察效果,也可能拒绝合法的双用途操作。
- 要求:作者认为有用结论必须同时看到行为发生、启用该技能导致该行为、以及宣称任务并不需要它。环境可能缺少激活隐藏分支的文件、凭证或服务响应;没有该技能时,基座智能体也可能做出同样动作。
- 做法:作者提出部署前审计 SkillSentry:推断能力契约,构造带受控诱饵的环境并自适应出题,再对比启用技能与匹配的无技能执行,把结论落到源码和已核实轨迹上。摘要称环境由 LLM 模拟;方法节称执行发生在隔离环境中。
- 威胁模型:
- 目标:判断技能是否做了宣称目的所不必要的动作,作者称之为能力漂移(capability drift),并在安装前给出结论。
- 知识:扫描器可读说明、脚本、依赖和辅助文件,并从描述、用户输入与部署策略推导任务特定的能力契约。论文未使用 white-box、black-box 或 no-box。
- 能力:隔离环境中,对同一任务、同一基座智能体和同一预算,做普通世界与 honey world、有技能与无技能的配对执行。后补前提必须同时有源码和轨迹支持。
- 判定:至少一项效果已完成、由启用技能导致、可用所引包内容解释且超出契约时,报告不安全。必需行为无法测试则报告未解决,不把缺失覆盖当作安全证据。
有哪些相关研究?
相关工作涵盖技能威胁、制品扫描器和沙箱;作者将判定改为可执行且可归因的能力漂移。
技能带来的威胁
- 工具化攻击(Zhan et al. 2024;Debenedetti et al. 2024;Zhang et al. 2025;Wang et al. 2026):攻击可从外部内容、工具元数据或工具交互进入,效果可能多步之后才出现。论文此处只作背景,未逐篇对比。
- 技能供应链(Li et al. 2026;Liu et al. 2026;Saha, Faghih, and Feizi 2026):作者称这些工作识别了恶意技能,以及带有文档未写明能力的看似有用包。技能会把指令、可执行辅助程序和依赖留到后续许多任务。
- 已有基准(Jiang et al. 2026;Guo et al. 2026a;Tencent Zhuque Lab 2026 等):论文称现有基准覆盖仅有害集合、混合集合、能力注入和规避性改写。作者据此认为技能安全不仅取决于包内容,还取决于使用技能时造成的行为。
技能扫描器
- SkillSpector(Paz et al. 2026;NVIDIA 2026)把静态分析与可选 LLM 评审结合起来。
- Cisco Skill Scanner(Cisco AI Defense 2026)提供静态、数据流和基于 LLM 的配置。Skill Vetter(spclaudehome 2026)用 LLM 检查完整包。Etteib、Lunghi 与 Bissyandé(2026)先定位可疑源码区域,再做语义判断。
- 作者称这些扫描器易于扩展,但制品证据单独不能确立可达性或因果:敏感操作可能是宣称任务所需,有害路径也可能藏在触发条件或良性代码之后。
沙箱与诱饵
- ToolEmu、ToolSandbox、AgentDojo(Ruan et al. 2024;Lu et al. 2025;Debenedetti et al. 2024)模拟服务交互,或提供可复现、有状态的工具环境。
- 受控执行(Liu et al. 2025;Jia et al. 2025;Yuan et al. 2024;Feng et al. 2026)被用于模糊测试、动作检查、轨迹判断和状态核实。论文未逐一批评这些系统。
- 作者称自己的合成资源借鉴诱饵文档与 honeywords(Bowen et al. 2009;Juels and Rivest 2013),但接触诱饵只是观察。
基线与基准
- 基线:SkillSpector 的 Static 与 LLM;Cisco 的 Original、Behavioral 与 LLM;Skill Vetter 在 Hermes 与 OpenClaw 下使用相同指令。共七种配置。
- 基准:标准检测用 HarmfulSkillBench、SkillTrustBench、MalSkillBench;规避用 POISE、SkillCloak-Structural、SkillCloak-SFS 和 VulMask-style;补充注入用 Skill-Inject 与 SkillJect。
作者把本文定位为能力漂移测试:用制品发现指导执行,判定取决于行为是否由技能导致且超出宣称权限。作者称多数先前沙箱把智能体或应用作为整体评测,SkillSentry 则用匹配初始状态下的有技能/无技能对比隔离一个技能。
论文如何解决这个问题?
SkillSentry用能力契约指导honey world中的四路配对执行,再核实已完成且越界的效果。
整体思路是把安装前扫描做成受控实验:先定允许行为,再用自适应 honey world 给隐藏分支发生的机会,最后用有技能/无技能轨迹做归因。框架名为 SkillSentry,分四阶段,全部执行在隔离环境中(Figure 2)。
能力契约与测试计划
- 契约:从技能描述、用户输入和部署策略记录宣称任务所需的资源、操作、目标和输出。只有该任务必需的权限才写入;技能不能靠请求更宽权限扩大自己的契约。
- 测试计划:检查指令、脚本、依赖和辅助文件,把可能超出契约的行为转成计划,写明可能触发条件、预期动作、为何可能越界,以及完成时可观察的证据。每项必须引用包内容。
- semantic critic:执行前检查引用内容是否支持该计划,不支持的丢弃。它不判定技能是否不安全,只保证测试对应包里可合理执行的行为。
自适应 honey world
- 两个世界:普通世界只有任务所需资源。honey world 从同一状态出发,只加入测试计划所需的最小额外资源。该资源与任务无关、带唯一标记,并被监控访问或修改。
- 细化:源码若检查某个条件,只构造满足该条件的状态。执行若露出另一个前提,下一次仅在源码和轨迹都支持时加入。行为已到达,或没有仍受支持的改动时停止。
- 诱饵不是结论:诱饵只提供发生机会。必需运行没有到达被测行为时记为未解决,不把缺失覆盖当成安全。两世界其余任务状态保持匹配。
四路配对比较
- 因果束:每个测试和随机种子下,两个世界各做一次无技能对照和一次启用技能。四次使用同一任务、同一基座智能体、同一预算和对应初始状态,记录工具调用、目标、结果和前后状态。论文未给出种子数量或预算数值。
- baseline differential:在每个世界内比较启用技能与无技能,去掉与对照中已完成效果相匹配的项。效果若只在有技能时出现、作用于不同目标、产生不同结果或留下不同最终状态,则保留。
- 世界间比较:普通世界差分看任务所需状态下技能造成的行为;honey 世界差分看引入该诱饵之后的行为。比较二者,用来区分诱饵激活的额外行为,与任务、基座智能体或技能在普通状态下本来就会做的动作。
确认违规
- dynamic verifier:保留效果必须只在有技能时出现,通过工具结果或状态变化完成,且能用所引包内容解释。失败命令、尝试性动作和智能体自述,若没有可观察结果,则不够。
- 双用途复核:对合格的软阳性询问该效果对宣称任务是否必要且范围适当。证据支持合法的任务所需操作时降级。复核可以降级,不能在没有执行证据时新造不安全结论。
- 分工与三种结论:critic 在执行前看源码测试是否合理;verifier 在执行后看证据是否确立效果。二者可以共用骨干,但证据和提示词不同。至少一项已完成、技能导致、源码支持且超出契约的效果即报告不安全;全部必需测试完成且无此类效果,才报告无已核实违规;必需行为无法测试则报告未解决。
论文做了哪些实验?
两混合基准平均F1为96.26%、平均FPR为3.24%;四种规避的平均F1为92.95%。
实验设置
- 扫描器:七种基线为 SkillSpector(Static、LLM)、Cisco Skill Scanner(Original、Behavioral、LLM)、Skill Vetter(Hermes、OpenClaw)。除非另有说明,SkillSentry 的测试生成器与证据评审都是 DeepSeek-V4-Pro(第 4.1 节)。
- 骨干:Figure 3 还比较 DeepSeek、Qwen、Kimi、Doubao。论文未给出后三者版本,也未说明各基线内部的具体模型。
- 基准:HarmfulSkillBench 只有有害技能;SkillTrustBench 与 MalSkillBench 同时有有害和干净包。规避为 POISE、SkillCloak-Structural、SkillCloak-SFS、VulMask-style。补充评测为 Skill-Inject 与 SkillJect。论文未报告各完整基准的技能条数。
- 指标:Precision、Recall、F1、FPR。前三项越高越好,FPR 越低越好。HarmfulSkillBench 无干净样本,只报告 Recall。论文未说明 unsafe、无已核实违规、未解决如何映射到这些二分类指标。
- 执行:全部执行在隔离环境中。论文未说明基座智能体模型、随机种子个数、测试预算和重复次数,也未报告人工标注或与 LLM 评审的一致性。
- 抽样:Table 4 用 SkillTrustBench 的 200 个技能,表注称这是唯一抽样实验。附录 A 又对另两个基准各评测固定的 200 个技能。
主结果
据 Table 1,单位为 %。HSB 为 HarmfulSkillBench,只列 Recall;STB 为 SkillTrustBench;MSB 为 MalSkillBench。
表格较宽,可左右滑动
扫描器 HSB Recall STB F1 STB FPR MSB F1 MSB FPR SkillSpector (Static) 6.00 84.60 28.36 56.14 20.70 SkillSpector (LLM) 10.00 86.68 45.22 61.06 20.88 Cisco (Original) 2.50 82.41 30.49 56.57 13.08 Cisco (Behavioral) 5.00 82.43 37.13 60.81 18.20 Cisco (LLM) 5.00 88.30 53.68 81.66 38.78 Skill Vetter (Hermes) 86.50 90.14 42.85 94.36 9.15 Skill Vetter (OpenClaw) 89.00 89.27 49.48 97.44 3.88 SkillSentry 99.50 96.08 4.15 96.43 2.33 - 作者称 SkillSentry 在三个基准上都能检出有害技能,两个混合基准的 FPR 都低于 5%。作者把差别归于两步核对:禁用技能后效果是否消失,以及宣称任务是否需要该效果。
- 作者称现有扫描器的高 Recall 伴随大量误报。SkillTrustBench 上 Cisco (LLM) 的 Recall 为 97.03%,SkillSentry 为 96.12%;作者称前者会把超过一半的良性技能标错,FPR 见上表。
- 例外:MalSkillBench 上 OpenClaw 的 Recall 为 98.73%,高于 SkillSentry 的 94.74%;SkillTrustBench 上 OpenClaw 与 Hermes 的 Recall 为 97.52% 与 96.96%,也高于 96.12%(Table 1,未列入上表)。上表中 OpenClaw 的 MSB F1 同样更高。
语义保持规避
- 测了什么:Table 2 的四种变换改指令、程序结构或载荷放置,作者称有害能力仍保留。指标仍是 Precision、Recall、F1、FPR。
- 结果:SkillSentry 的 F1 为 POISE 97.55%、SkillCloak-Structural 91.74%、SkillCloak-SFS 96.15%、VulMask-style 86.36%,平均 92.95%。作者称各攻击上 F1 最高基线的平均为 80.07%,领先 5.41–16.70 个 F1 点;平均 FPR 从 31.73% 到 8.18%。
- 例外:VulMask-style 上 SkillSpector 的 Recall 为 100.00%,高于 SkillSentry 的 76.00%,但 FPR 为 80.00%–93.18%;四种基线配置在该列 Recall 为 0.00%。作者称改写藏不住只在启用技能时出现的效果。Structural 上 SkillSentry 的 FPR 为 18.00%,不是该列最低。
组件消融
- 静态与动态:仅动态时两混合基准 Precision 均为 100.00%,但 Recall 为 SkillTrustBench 8.00%、MalSkillBench 4.00%,HarmfulSkillBench 为 2.00%。作者称无引导任务很少满足隐藏触发。仅静态把 HarmfulSkillBench Recall 从 99.50% 降到 78.00%,SkillTrustBench F1 从 96.08% 降到 83.33%(Table 3)。
- honey 资源:去掉后,混合基准平均 F1 从 96.26% 降到 85.48%。作者称普通环境常缺少激活条件路径的凭证、文件或服务状态;接触诱饵本身不构成违规。
- 归因与核实:作者称完整流程在混合基准上平均 FPR 为 3.24%。去掉无技能差分后平均 FPR 为 10.00%;去掉动态核实后为 34.09%;去掉双用途复核后为 10.00%。作者称没有单一组件同时再现高 Recall 和低 FPR。
注入能力
- 设置:Skill-Inject 与 SkillJect 把与宣称目的无关的有害能力插入干净技能。作者称这不是两个主要威胁设置。Figure 5 的逐点数值文本未给出,下面用第 4.6 节的平均。
- 结果:SkillSpector (LLM) 平均 F1 为 89.63%、平均 FPR 为 29.47%;SkillSentry 为 86.32% 与 3.94%;Cisco (LLM) 为 80.39% 与 4.88%。
- 作者解读:作者称 Recall 导向的制品扫描能认出注入载荷,但可能把可疑制品算到宿主包原有的良性行为上;无技能轨迹和能力契约把宿主合法行为与新副作用分开。
其他消融与分析
- 去掉 Critic:HSB Recall 52.00%,STB F1 63.16%(FPR 4.00%),MSB F1 74.42%(FPR 8.00%)(Table 3)。
- 去掉 Source Grounding:HSB Recall 69.44%,STB F1 82.76%(FPR 6.67%),MSB F1 87.50%(FPR 18.18%)。
- 去掉 Baseline Differential 的 HSB Recall 为 76.00%;去掉 Dual-use Review 为 86.00%;去掉 Dynamic Verifier 为 78.57%(Table 3)。
- 第 4.4 节对 Figure 3:各骨干 HSB Recall 至少 97.00%,最低即为 97.00%;STB F1 为 81.82%–96.08%,MSB F1 为 89.57%–96.43%。作者称 DeepSeek 整体平衡最好,契约解释最依赖模型。
- Figure 4:作者称匹配的生成器–评审组合在 12 组中的 10 组最好,平均 93.57%,跨模型组合平均 73.89%。正文未逐格列出。
- Table 4:SkillTrustBench 的 200 个技能上,SkillSentry 为 119.47 秒/技能,输入 37.53M、输出 1.41M tokens。附录 Table 5、Table 6 的另两个 200 技能子集为 51.76 秒、输入 10,253,319 tokens,以及 78.20 秒、输入 18,759,162 tokens。
有什么可以进一步探索的点?
论文没有专门写出局限或后续方向。
作者指出的局限与后续方向
论文未专门讨论局限。正文、结论和附录都没有把某项结果写成不足,也没有列出后续工作。
实验覆盖范围
- 标准检测比较七种基线配置与 SkillSentry,基准为 HarmfulSkillBench、SkillTrustBench、MalSkillBench,指标为 Precision、Recall、F1、FPR(第 4.1–4.2 节,Table 1)。
- 规避实验为 POISE、SkillCloak-Structural、SkillCloak-SFS 与 VulMask-style(Table 2)。能力注入补充实验为 Skill-Inject 与 SkillJect,正文给出的是两个基准的平均 F1 与平均 FPR(第 4.6 节,Figure 5)。
- 组件消融为 Table 3 的九个设置。骨干比较涉及 DeepSeek、Qwen、Kimi、Doubao(Figure 3);生成器与评审的搭配见 Figure 4。默认两者都是 DeepSeek-V4-Pro。
- 耗时与 API token 在三个基准上各使用 200 个技能(Table 4,附录 Table 5、Table 6)。附录 B 给出三个 OpenClaw 标为 normal、SkillSentry 标为 malicious 的案例。
- 论文未报告各完整基准的技能数量、重复次数、基座智能体模型、三种审计结论如何计入二分类指标,以及 LLM 评审与人工判定的一致性。
总结一下论文的主要内容
契约加配对执行审计技能越权;两混合基准平均F1为96.26%,规避平均F1为92.95%。
SkillSentry 是安装前的动态技能审计,用来发现超出宣称功能的能力漂移。
技能一旦安装,就能使用宿主的文件、shell、凭证和网络,而有害分支可能要等特定资源才出现。作者认为,源码或一次性语义判断既不能确认分支会执行,也不能把技能造成的效果与任务或基座智能体的动作分开;合法高权限操作因此容易被误判。
做法是:由描述、用户输入和部署策略建立能力契约;把有源码依据的可能越界行为做成测试;在只有任务资源的普通世界,和只多一个任务无关诱饵的 honey world 中,对同一任务做有技能与无技能执行。只保留已完成、可回指源码、且超出契约的技能特异效果。双用途复核只能降级,不能凭空增加不安全结论。覆盖不足记为未解决。
作者报告的主要数字:
- HarmfulSkillBench 的 Recall 为 99.50%;SkillTrustBench 的 F1/FPR 为 96.08%/4.15%;MalSkillBench 为 96.43%/2.33%(Table 1)。作者称两混合基准平均 F1 为 96.26%、平均 FPR 为 3.24%。OpenClaw 在 MalSkillBench 的 F1 为 97.44%,高于 SkillSentry。
- 四种语义保持规避的平均 F1 为 92.95%。作者称这比各攻击上 F1 最高基线的平均 80.07% 领先 5.41–16.70 个 F1 点,平均 FPR 从 31.73% 到 8.18%(Table 2)。VulMask-style 的 Recall 为 76.00%,不是该列最高。
- 两个注入基准平均 F1 为 86.32%、平均 FPR 为 3.94%,F1 低于 SkillSpector (LLM) 的 89.63%(第 4.6 节)。200 个 SkillTrustBench 技能平均耗时 119.47 秒(Table 4)。
作者的结论是:随契约变化的 honey world 加上有/无技能配对轨迹,可以在安装前暴露隐藏的能力漂移,并给出可重放、可归因到技能的证据,同时控制错误归因。论文未专门讨论局限。