一个榜单上的第一名注入检测器,换个基准只能抓到 2%
现在多数 agent 系统都会在工具输出前面放一个小分类器拦 prompt 注入,而多数团队是照着排行榜选这个分类器的。arXiv 上一篇新论文问了一个问题:榜单分数能说明检测器在真实 agent 里的表现吗?基本不能。
方法很巧。作者把 AgentDojo 和 tau-bench 两个 agent 基准里的标准答案工具调用重放一遍,全程不经过 LLM。这样得到的工具输出从构造上就是干净的,检测器在上面每报一次警都是误报。被注入的输出则用差分重放来打标。然后拿 15 个检测器(包括 Meta 的 Prompt Guard 2)和两个了解任务上下文的 LLM 裁判,在这些输出和 BIPIA 基准上各跑一遍。
检出率的排名几乎不能迁移。BIPIA 上最好的检测器,在 1% 误报率下只能抓到 AgentDojo 里 2% 的注入。一个在 AgentDojo 上能抓 72% 的检测器,到 tau-bench 上只剩 15%。误报率倒是在两个 agent 基准之间一致,范围从 0 到 90% 以上。排在高位的那种,等于把 agent 看到的正常工具结果几乎全拦了。
凡是训练数据公开的,都能解释这个现象。BIPIA 的第一名就是拿完整的 BIPIA 输入训练的,论文标题说的就是这件事。把 InjecAgent 的攻击字符串当短 prompt 见过,并不能帮检测器在工具输出里把同样的字符串找出来。而在两个 agent 基准上都表现最好的那个检测器,和任何基准都没有数据重合,只是训练时用了 agent 风格的输入。
建议短到可以贴在显示器上:用自己 agent 的工具输出来评测,报低误报率下的检出率,查清楚检测器是拿什么训练的。今年 coding 基准和 agent 榜单得的是同一种病,现在传到了安全这一层。一个在公开基准上很漂亮的护栏,可能只是把考卷背下来了。便宜的解法谁有日志谁就能做:先重放自己的流量数一数误报,再决定信不信包装上的数字。
链接:arxiv.org/abs/2610.03448
← 返回所有文章
方法很巧。作者把 AgentDojo 和 tau-bench 两个 agent 基准里的标准答案工具调用重放一遍,全程不经过 LLM。这样得到的工具输出从构造上就是干净的,检测器在上面每报一次警都是误报。被注入的输出则用差分重放来打标。然后拿 15 个检测器(包括 Meta 的 Prompt Guard 2)和两个了解任务上下文的 LLM 裁判,在这些输出和 BIPIA 基准上各跑一遍。
检出率的排名几乎不能迁移。BIPIA 上最好的检测器,在 1% 误报率下只能抓到 AgentDojo 里 2% 的注入。一个在 AgentDojo 上能抓 72% 的检测器,到 tau-bench 上只剩 15%。误报率倒是在两个 agent 基准之间一致,范围从 0 到 90% 以上。排在高位的那种,等于把 agent 看到的正常工具结果几乎全拦了。
凡是训练数据公开的,都能解释这个现象。BIPIA 的第一名就是拿完整的 BIPIA 输入训练的,论文标题说的就是这件事。把 InjecAgent 的攻击字符串当短 prompt 见过,并不能帮检测器在工具输出里把同样的字符串找出来。而在两个 agent 基准上都表现最好的那个检测器,和任何基准都没有数据重合,只是训练时用了 agent 风格的输入。
建议短到可以贴在显示器上:用自己 agent 的工具输出来评测,报低误报率下的检出率,查清楚检测器是拿什么训练的。今年 coding 基准和 agent 榜单得的是同一种病,现在传到了安全这一层。一个在公开基准上很漂亮的护栏,可能只是把考卷背下来了。便宜的解法谁有日志谁就能做:先重放自己的流量数一数误报,再决定信不信包装上的数字。
链接:arxiv.org/abs/2610.03448
评论