找回密码
立即注册
搜索
发回帖 发新帖

6485

积分

0

好友

818

主题
发表于 13 小时前 | 查看: 1| 回复: 0

一项最新研究发现,攻击者只需诱导 AI Agent 复述特定文本,就可能让系统执行预先构造的恶意工具调用。研究团队利用这种被称为“跟我念”(Repeat-After-Me)的攻击手法,成功在 6 款主流 AI Agent 框架中触发了非预期工具执行。

受影响的框架包括 LangChain 旗下 LangGraph、Microsoft Agent Framework、微软 AutoGen、Google Agent Development Kit 2.0、AWS Strands Agents 以及 CrewAI。相关研究由宾夕法尼亚州立大学、蒙彼利埃大学和达特茅斯学院联合完成。

“跟我念”攻击诱导6款主流AI Agent框架执行恶意指令的封面示意图

除了验证 Agent 框架的安全问题,研究团队还对 273 个可正常运行的开源模型上下文协议(MCP)服务器进行了测试,最终在其中 118 个服务器中确认了 253 个安全漏洞。

“跟我念”攻击机制、受影响框架、关键风险点及MCP工具漏洞情况科普信息图

01 “跟我念”攻击分步诱导,触发框架执行恶意工具调用

“跟我念”攻击的核心,是利用模型文本生成与框架工具执行之间的衔接问题,让一个看似普通的复述请求变成实际的工具调用。

在测试中,研究人员首先要求 AI 模型复述一段具有工具调用格式的文本。模型虽然拒绝了危险请求,但仍在回复中包含了指定内容。由于这些内容只是普通文本,框架并未执行对应操作。

随后,研究团队调整提示词,将请求包装成假设场景,要求模型只复现提供的文本内容。这一次,模型直接生成了结构化工具调用指令,LangGraph 随即调度执行。直到模拟工具返回结果后,模型才再次输出拒绝执行的回复。

整个过程暴露出一个问题:模型虽然能够在文本层面拒绝危险请求,但拒答并不意味着此前生成的工具调用没有被执行。系统提示可以约束模型的回答,却未必能够阻止编排框架执行已经生成的指令。

不过,这一测试结果并不意味着上述 6 款框架的所有部署环境都存在相同风险,具体影响仍取决于实际配置。

02 模型拒答晚于工具执行

论文详细披露了在 LangGraph 1.2.0 版本上的演示过程。测试环境通过 Ollama 运行 Meta 的 Llama 3.1 8B 模型,配置了 make_bomb、launch_missiles 两个虚拟工具,工具仅返回固定数据,不会产生任何实际影响。整个系统唯一的安全防护措施,是通过系统提示要求模型拒绝危险请求。

第一次测试中,模型拒绝复述 launch_missiles 工具调用,但将相关内容作为普通文本打印出来,因此 LangGraph 没有执行任何操作。

当请求被改写为假设场景,并要求模型仅输出引号中的内容后,情况发生了变化。模型生成了符合框架要求的结构化调用指令,LangGraph 立即携带攻击者指定的参数执行工具,而拒答内容直到工具返回结果后才出现。

这种执行顺序说明,模型最终给出拒绝回答,并不能证明系统没有执行危险操作。 如果编排层缺少独立的执行前校验,模型生成的工具调用仍可能直接进入执行流程。

研究团队已将这一问题反馈给 LangGraph 维护人员。论文目前仅公开了 LangGraph 场景下的完整交互记录,其余 5 款框架虽然也成功复现同类行为,但尚未公布具体测试细节。截至原文披露时,相关厂商尚未回应置评请求。

03 模型风险源于架构缺陷

这类攻击暴露的并非某个框架独有的问题,而是 AI Agent 在模型输出与工具执行之间可能存在的架构性缺陷。

独立安全研究员、红队成员 Vibhum Dubey 认为,模型可能生成语法完全正确、但不符合实际任务要求的工具调用。如果编排层仅凭模型输出就允许执行操作,原本停留在模型层面的提示词操纵,就可能进一步演变为系统级安全风险。

实际攻击能够造成多大影响,还取决于攻击者可以控制哪些输入,以及 Agent 本身拥有多高的操作权限。

例如,只具备读取权限的 Agent,即使受到诱导,能够造成的影响也相对有限。但如果 Agent 可以读取机密文件、修改代码仓库或执行系统命令,同样的攻击方式就可能带来严重后果。

因此,不能简单地将模型输出的工具调用视为已经获得授权的操作。模型能否生成指令,与系统是否应该执行指令,需要分别判断。

04 MCP 工具漏洞频出

由于攻击者可以完全控制传入工具的参数,仅依赖模型判断输入是否安全并不可靠,工具本身也必须具备独立的输入校验机制。为此,研究团队开发了名为 ToFu 的模糊测试框架。该框架能够读取工具的功能描述,检查其是否真正落实声明的访问限制,例如是否将文件操作限定在指定目录内。

经过人工复核,118 个服务器上的 343 个工具共被确认存在 253 个安全漏洞。其中,高危漏洞包括 64 个路径遍历漏洞、7 个服务端请求伪造(SSRF)漏洞、5 个数据外渗漏洞以及 3 个操作系统命令注入漏洞。其余问题主要涉及输出反射和日志注入,论文认为这些漏洞在多数部署场景下的影响相对较低。

这些问题也暴露出部分工具在安全设计上的不足。许多工具默认依赖大语言模型(LLM)对输入内容进行过滤,但无论是提示词、外部检索内容,还是其他工具返回的数据,都可能被恶意内容污染。将输入安全完全交给模型判断,无法替代工具自身必要的安全校验。

05 分离动作请求与执行授权

在 Dubey 看来,防范此类攻击的关键,是将模型发起操作请求的能力与系统实际执行操作的权限分开管理。即使模型生成的工具调用语法正确、操作理由看似合理,也不能将其视为已经获得执行授权。每一次敏感工具调用,都必须经过独立的权限校验。

具体到实际部署,AI Agent 应受到严格的文件和网络访问限制,并尽可能运行在隔离环境中。相关凭证应遵循最小权限原则,涉及敏感信息或不可逆操作时,还需要获得用户明确批准。此外,安全团队不能只关注单次工具调用是否存在风险,还应结合完整的调用序列,判断多个操作是否可能形成潜在攻击链。

目前,这篇论文尚未经过同行评审,测试对象也仅限于固定代码版本的 MCP 服务器。至于相关厂商是否已经修复这些漏洞,以及是否存在真实环境中的在野利用案例,论文尚未提供进一步信息。

参考来源:

Researchers bypass 6 AI agent frameworks with a simple ‘Repeat-After-Me’ prompt

https://www.csoonline.com/article/4233811/researchers-bypass-6-ai-agent-frameworks-with-a-simple-repeat-after-me-prompt.html

本文涉及的攻击手法与防御思路,在云栈社区的 Agent 安全讨论中也有不少开发者关注。如果你在实际部署中遇到过类似的工具调用越权问题,欢迎去社区里一起交流排查经验。




上一篇:IP 归属地离线库 ip2region:99.9% 准确率,Java 多语言查询实测
下一篇:SonicWall SMA 1000曝严重SSRF漏洞,补丁发布后遭135次攻击尝试
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-14 19:05 , Processed in 0.066815 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表