" 随着大语言模型(LLM)能力的快速提升,越来越多的系统开始构建LLM-based Agents。然而,这类 Agent 系统也引入了一类新的安全风险:恶意提示、工具调用滥用、数据泄露。这些攻击通常通过恶意输入 → LLM 推理 → 工具执行的链路传播, 其本质类似于传统程序中的污点传播漏洞。但传统安全分析方法很难应用于 Agent 系统,因为LLM 推理过程是黑盒或半黑盒;Agent 行为具有高度动态性;攻击路径依赖复杂的推理与工具调用链。
为了解决这一问题,论文提出通过构建攻击Agent自动发现 LLM Agent中的污点式漏洞。该方法让一个Agent自动攻击另一个 Agent,从而发现潜在安全漏洞。 "
- 📄 论文标题:Make Agent Defeat Agent: Automatic Detection of Taint-Style Vulnerabilities in LLM-based Agents
📅 发表时间:34th USENIX Security Symposium,2025
🏫 作者单位:复旦大学
01---方法介绍
图1显示了一个简化的漏洞代码片段。为了利用此漏洞,攻击者通过第2-3行(即source)中的web服务向代理发送恶意提示,其中一部分由LLM返回,并直接传递给第10行(即sink)中的eval函数,而没有进行充分的清理,从而导致代码注入。

图 1. 一个来自热门开源代理的实际漏洞示例
论文的核心思想是:利用攻击 Agent 自动生成恶意输入,并通过污点传播分析检测 LLM Agent 的安全漏洞。
整个系统包含两个核心角色:
-
Victim Agent
需要被测试安全性的目标 Agent。
-
Attacker Agent
负责生成攻击提示并尝试触发漏洞。
通过这种方式,系统可以自动探索潜在攻击路径,并发现安全问题。

图 2. AgentFuzz概述图
整个漏洞检测流程主要包括四个步骤:
1.污点源定义
将用户输入或外部数据标记为潜在恶意数据。
2.攻击输入生成
攻击 Agent 自动生成可能触发漏洞的提示或输入。
3.Agent 行为执行
Victim Agent 根据输入执行推理与工具调用。
4.污点传播检测
分析敏感数据是否传播到危险操作(如系统命令、数据库访问等)。
小结:让 Agent 自动攻击 Agent,实现自动化 Agent 安全测试。
02---关键机制
-
Agent 对抗式漏洞检测框架
通过"攻击 Agent vs 目标 Agent"的方式自动发现漏洞。
-
LLM Agent 污点传播建模
将传统程序分析中的污点分析思想引入 Agent 系统。
-
自动攻击生成机制
利用 LLM 自动生成多样化攻击提示。
-
工具调用安全检测
分析 Agent 工具执行链中的潜在安全风险。
| 模块 | 设计思路 | 作用 |
|---|---|---|
| 攻击 Agent | 自动生成恶意提示 | 探索潜在攻击路径 |
| 污点跟踪 | 标记不可信输入 | 分析数据传播路径 |
| 工具调用监控 | 监控 Agent 工具执行行为 | 检测危险操作 |
| 漏洞判定 | 检测污点数据是否到达敏感操作 | 发现安全漏洞 |
小结:将传统污点分析思想扩展到 LLM Agent 系统中。
03---实验结果
实验收集了20个基于LLM的开源代理,其中13个拥有超过10,000个星标,其余7个则拥有超过1,000个星标。主要实验结果如下。
(1)漏洞检测评估。结果见表1-2。总体而言,AgentFuzz在整个数据集中共识别出828个sink调用点,并报告了34个潜在漏洞。AgentFuzz总共花了69.01个CPU小时对20个应用程序进行模糊测试,平均每个应用程序3.45个CPU小时。
表1. 数据集中20个代理的详细信息。代理与检测到的漏洞以灰色突出显示

表2. 检测到的漏洞并分配了CVE编号

(2)相关工作比较。与SoTA技术LLMSmith(Demystifying RCE vulnerabilities in LLM-integrated apps)的比较结果如表3所示。结果显示,AgentFuzz在准确率方面超过LLMSmith33.25倍,检测到的漏洞是LLMSmiths的2.4倍。AgentFuzz识别出34个漏洞。相比之下,LLMSmith只检测到10个漏洞,所有这些漏洞都是AgentFuzz识别的漏洞的子集,并产生332个误报。
表3. AgentFuzz与LLMSmith的对比

**小结:**AgentFuzz可以自动检测基于LLM的代理中的污点式漏洞。为了弥合传统的定向模糊和代理漏洞之间的差距,AgentFuzz以自然语言的形式生成语义正确和约束有效的种子提示。AgentFuzz已经在20个真实的代理应用程序上进行了评估,发现了34个高风险的0天漏洞,分配了23个CVE ID。
📌 总结
该论文首次系统性地将"污点分析 + 自动攻击生成"结合,用于检测 LLM Agent 的安全漏洞。通过构建攻击 Agent,该方法可以自动探索复杂攻击路径,从而发现潜在安全问题。
随着 LLM Agent 在实际系统中的广泛应用,Agent 安全测试与自动漏洞检测将成为未来的重要研究方向。
📣 欢迎留言讨论
-
你认为未来是否需要专门的 Agent 安全测试框架?
-
LLM Agent 的安全问题是否会成为新的漏洞研究热点?
📌 点赞 + 收藏 + 分享,你的支持,是我们持续解析高水平软件安全论文的最大动力!