“ 随着大语言模型(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

  • 🏫 作者单位:复旦大学

  • 💡 开源代码:  https://zenodo.org/records/15590097

01—方法介绍

图1显示了一个简化的漏洞代码片段。为了利用此漏洞,攻击者通过第2-3行(即source)中的web服务向代理发送恶意提示,其中一部分由LLM返回,并直接传递给第10行(即sink)中的eval函数,而没有进行充分的清理,从而导致代码注入。

图片

图 1.  一个来自热门开源代理的实际漏洞示例

论文的核心思想是:利用攻击 Agent 自动生成恶意输入,并通过污点传播分析检测 LLM Agent 的安全漏洞。

整个系统包含两个核心角色:

  1. Victim Agent

    需要被测试安全性的目标 Agent。

  2. Attacker Agent

    负责生成攻击提示并尝试触发漏洞。

通过这种方式,系统可以自动探索潜在攻击路径,并发现安全问题。

图片

图 2. AgentFuzz概述图

整个漏洞检测流程主要包括四个步骤:

1.污点源定义

将用户输入或外部数据标记为潜在恶意数据。

2.攻击输入生成

攻击 Agent 自动生成可能触发漏洞的提示或输入。

3.Agent 行为执行

Victim Agent 根据输入执行推理与工具调用。

4.污点传播检测

分析敏感数据是否传播到危险操作(如系统命令、数据库访问等)。

小结:让 Agent 自动攻击 Agent,实现自动化 Agent 安全测试。

02—关键机制

  1. Agent 对抗式漏洞检测框架

    通过“攻击 Agent vs 目标 Agent”的方式自动发现漏洞。

  2. LLM Agent 污点传播建模

    将传统程序分析中的污点分析思想引入 Agent 系统。

  3. 自动攻击生成机制

    利用 LLM 自动生成多样化攻击提示。

  4. 工具调用安全检测

    分析 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 的安全问题是否会成为新的漏洞研究热点?

              📌 点赞 + 收藏 + 分享,你的支持,是我们持续解析高水平软件安全论文的最大动力!

              Logo

              这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

              更多推荐