当被投毒的智能体技能藏进误报之中
最新研究展示了一种「位置感知」的技能投毒攻击:它把恶意指令融入技能的普通正文,绕过那些本就对大多数正常技能频繁误报的 LLM 扫描器。
这是什么?
智能体「技能(skill)」是扩展通用智能体的一种轻量方式:一个文件夹,包含简短描述、以自然语言书写的指令,有时还有少量代码,通过开放的市场和代码仓库分发。这种开放性同时也是攻击面。被投毒的技能可以携带攻击者的指令,让智能体在完成用户真正请求的同时执行它。
伊利诺伊大学芝加哥分校的一支团队于 2026 年 6 月 6 日发表的论文——POISE: Position-Aware Undetectable Skill Injection on LLM Agents(arXiv:2606.07943)——研究了为什么有些投毒尝试成功、有些被拦截,并得出一个令人不安的结论:许多团队用来审查技能的静态 LLM 扫描器,可以被绕过——不是靠藏得更深,而是靠融入这些扫描器本就产生的噪声之中。
它是如何运作的
研究者用一个严格的成功定义来衡量攻击:注入的载荷必须真正执行,并且用户的正常任务在同一次尝试中仍要通过其验证器。第二个条件很关键。如果执行载荷让用户任务偏离轨道,可见的失败会促使有人打开技能查看——因此「成功」的注入是保持隐蔽的注入。
在这个视角下,以往的投毒技术都面临可靠性与隐蔽性的取舍。放在技能 YAML 头部的注入加载可靠,但极易被检查。埋在正文中的注入更隐蔽,却往往不可靠:夹在一堆本来合理的指令中间的、脱离上下文的命令,可能触发智能体自身的怀疑而被忽略。
论文的贡献在于「位置」,而非新的载荷。它不是把一条显眼的命令塞进正文,而是把触发条件压缩成一条看似无害的正文指令,放在这类指令本应出现的位置——紧挨着安装或前置步骤——并借助上下文感知的生成器,让它读起来像技能的自然组成部分。我们在此有意不复现其构造方式;这里的教训是「放置原则」,而不是可复制粘贴的配方。
论文报告的数据令结果尤为值得注意。在作者的 Skill-Inject 基准上,该方法达到了 89.3% 的攻击成功率,远高于在正文中随机放置的基线,也略高于「仅头部」的基线,同时保留了正文放置的隐蔽性。最关键的发现关乎防御方:由于正常技能的正文本就经常需要特权工具操作,负责发现滥用的 LLM 扫描器过度敏感,在四个评判模型和两个基准上平均误报了 74.6% 的正常技能。被投毒的变体就融入这片误报的洪流之中——只有 5.6% 相对其正常版本触发了新的高风险告警。一个对什么都告警的扫描器,实际上等于什么都没告警。
为什么重要
这是一个伪装成内容审核问题的供应链问题。越来越多团队用「LLM 安全扫描器」这一步来过滤第三方技能,并把「干净」的判定当作运行许可。这项研究表明,当误报率如此之高时,该判定几乎毫无意义:运营者要么淹没在噪声里,要么悄悄抬高阈值,直到真实攻击与其余一切一起放行。
该结果也可推广到这个基准之外。任何依赖语言模型对不可信指令进行「静态、执行前」审查的流水线都继承了同样的弱点——审查者无法干净地区分「一个确实需要访问文件系统和网络的正当技能」与「一个恰恰滥用这些能力的技能」,因为在纸面上它们看起来一样。区分性的信号在于技能在运行时做了什么,而不在于它的文字事先读起来如何。
防御
不要再把扫描器的「干净」判定当作授权。 执行前的 LLM 审查是弱过滤器,不是关卡。如果你唯一的控制手段是静态扫描,研究表明你已处于暴露状态。在信任其「阴性」结论之前,先在已知正常的技能上测量扫描器的误报率——一个对大多数干净输入都报警的检测器,在保持沉默时几乎不携带任何信息。
把边界移到运行时的权限控制。 对技能实际能做什么施加最小权限:按技能限定文件系统与网络访问、要求显式的能力授予而非环境式权限,并在特权或不可逆的工具调用前设置人工确认。本季度的其他工作——例如在执行时观察智能体自身激活的内部信号检测器(RouteGuard, arXiv:2604.22888)——指向同一方向:检测行为,而非措辞。
建立来源与完整性。 优先选择来自已知发布者的已签名技能,锁定版本,并对更新做差异比对,使被悄悄改动的正文指令在审查中可见。默认将未签名的、或由匿名来源新近发布的技能视为不可信。
隔离执行。 在隔离上下文中运行技能:削减权限、无常驻凭据、默认无出站网络,这样即便载荷执行,也无法触及机密、元数据端点或外泄通道。
记录并审计行为,而非仅仅意图。 记录技能发起的工具调用,并与它声称需要的进行比对。事后的行为审计能抓住执行前文本审查在结构上无法看见的情形。
状态
| 项目 | 详情 |
|---|---|
| 类型 | 学术研究(技能投毒攻击 + 防御分析) |
| 发表 | 2026 年 6 月 6 日(6 月 11 日提交) |
| 来源 | arXiv:2606.07943 —— University of Illinois Chicago |
| 测试环境 | Skill-Inject 基准,codex + gpt-5.2 |
| 关键结果 | 89.3% 攻击成功率;正常技能 74.6% 误报率;仅 5.6% 的投毒技能触发新的高风险告警 |
| 代码 | github.com/liofoil/SkillSafety |
| 要点 | 静态 LLM 扫描器是不可靠的技能关卡;应在运行时施加最小权限并进行行为审计 |