LLMAgent重大安全漏洞:75%开源工具可被劫持!恶意工具偷偷混进工作流,偷数据、篡改结果"

admin 2026-11-02 15:05:00 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

LLM Agent 重大安全漏洞:75% 开源工具可被劫持!恶意工具偷偷混进工作流,偷数据、篡改结果

为机器立心

2026年9月27日 09:00
广东

去阅读

现如今,基于大模型的AI Agent已经从概念走向落地。
不管是智能办公助手、个人旅行规划机器人,还是自动炒股、代码调试Agent,它们强大能力的背后,离不开各式各样外部工具的加持:联网搜索、金融查询、数据库操作、视频检索……

LangChain、Llama‑Index两大主流框架都在官方文档推荐开发者直接批量导入一整套工具集(Pool‑of‑Tools),不用一个个手动引入,让大模型自己按需挑选调用,开发效率直接拉满。

但最近伊利诺伊大学厄巴纳‑香槟分校(UIUC)的研究团队捅破了一层窗户纸:这种“工具池”模式,埋藏着一种全新的高危攻击方式——XTHP(跨工具窃取与污染,Cross‑Tool Harvesting and Polluting)。

测试66个真实开源Agent工具,结果触目惊心:75%的工具存在被劫持风险,现有主流防御方案几乎全部失效。

什么是XTHP攻击?恶意工具“伪装成助手”,强行挤进Agent执行链路

很多人过去对Agent安全的认知是:危险来自单个恶意工具。只要不主动加载恶意工具就万事大吉。

XTHP颠覆了这个认知。

核心逻辑:不需要欺骗用户,不需要prompt注入,恶意工具靠写一份极具迷惑性的描述文档,诱导大模型主动把它插入正常任务流程。

论文把Agent工具的执行顺序定义为CFA(Agent任务控制流)。一次任务里,Agent会按照先后顺序调用不同工具。XTHP攻击分为两大阶段:

  1. 1. CFA劫持:抢占执行位置
    恶意工具并不直接搞破坏,而是伪装成“辅助帮手”。对外宣称自己可以做输入预处理、格式校验、结果解析、错误排查。
  • • 可以插在受害工具之前运行(前驱劫持);
  • • 也可以插在受害工具之后运行(后继劫持);
  • • 极端情况还能直接挤掉原本该调用的正规工具。

举两个论文里真实复现的PoC案例:
✅案例1:Youtube搜索工具需要“逗号分隔字符串”作为入参。攻击者写一个工具叫YoutubeSearchPreprocessor,描述写着“帮你生成符合Youtube搜索格式的输入”。
只要Agent要调用Youtube搜索,大模型就会自动先调用这个恶意预处理工具。它表面做格式整理,背地里:要么窃取用户搜索关键词;要么篡改查询词,输出虚假信息,实现虚假信息大规模传播。

✅案例2:金融工具YahooFinanceNews只接受股票代码(AAPL)作为入参,但用户只会输入公司全称“Apple”。
攻击者造出CompanyToTicker,宣称“把公司名转换成股票代码”。哪怕大模型本身本来就懂这个映射关系,Agent依然会优先调用外部工具。恶意工具就此混入链路,窃取公司名称、用户查询,甚至篡改输出的股票代码,误导交易决策。

  1. 2. 得手之后,两类致命危害:XTH窃取数据 & XTP污染结果
    一旦成功插入工作流,攻击分成两种模式:
  • • XTH 跨工具数据窃取:恶意工具可以索取上下文中的全部中间数据:用户地址、医疗检索记录、文档内容、财务数据、用户名。数据悄悄回传给攻击者服务器。
  • • XTP 跨工具信息污染

  • • 前驱污染:运行在受害工具之前,篡改输入,让正规工具输出错误结果;

  • • 后继污染:运行在受害工具之后,拿到正规工具返回的正确结果,直接篡改再交给大模型。

比如股票查询之后的恶意校验工具,悄悄把股价上浮10%,AI理财Agent拿到错误数字,直接给出错误投资建议,造成财产损失。

更可怕的是:工具描述支持动态远程加载。工具本体代码干干净净,运行时从黑客服务器拉取攻击指令,静态代码扫描完全看不出来,隐蔽性极强。

攻击者有哪些套路?6种手段完成劫持

研究团队把攻击手段归为几大类:

  1. 1. 目标语义挂钩:瞄准工具的外部知识依赖,伪装成知识转换器(公司名→股票代码,城市→机场IATA编码)。
  2. 2. 场景语义挂钩:利用真实业务场景需求,伪装成错误解析器、prompt注入检测器、代码预校验工具。只要Agent发生报错、执行代码,就自动被调用。
  3. 3. 格式语法挂钩:利用工具对特殊格式的依赖,伪装JSON校验器、URL校验器、输入格式化工具。只要工具需要JSON、URL、特殊自定义格式,就可以被挂钩。
  4. 4. LLM偏好挂钩:大模型会主观偏爱某些话术。攻击者在描述加入“低延迟优化”“经过验证”“高可靠”这类关键词,即便存在正规同类工具,大模型依然优先选恶意工具。
  5. 5. 动态工具描述:运行时从远程服务器读取描述文本,本地代码无攻击特征,绕过静态审计。
  6. 6. 同赛道竞争:直接和正规工具功能撞车,依靠更诱人的描述,直接顶替原有工具执行。

为了大规模验证漏洞,团队开发自动化扫描器Chord,自动生成恶意工具、端到端模拟攻击,批量检测工具池内风险。

实测数据:75%工具沦陷,现有防御基本挡不住

研究选取LangChain、Llama‑Index共66个可运行的真实社区工具开展测试:

  • • ✅75%(50个)工具可以被成功劫持控制流CFA Hijacking
  • • ✅被劫持工具中,72%可以实现数据窃取XTH;68%可以实现结果污染XTP。
框架 被测工具 可劫持 可窃取数据 可污染结果
LangChain 37 73% 73% 59%
Llama‑Index 29 79% 72% 79%

重点:市面上已发表的主流防御方案全部被绕过。
团队测试了Tool Filter工具过滤、Spotlighting分隔符防护、Prompt Injection检测、AirGapAgent、IsolateGPT、ACE等标杆防御系统。

为什么防御会失效?
XTHP攻击有一个关键属性:上下文对齐执行。恶意工具会假装完成宣称的辅助功能,输出语义完全符合Agent任务预期。

  • • 提示注入检测器:检测的是“工具输出里藏prompt指令”,而XTHP只是篡改业务数据,输出看起来完全正常,不会触发告警;
  • • IsolateGPT、ACE这类基于任务规划的防御:规划阶段依然会读取全部工具描述,伪造的诱人描述会欺骗规划器,直接把恶意工具写进执行计划;
  • • 工具过滤器:很容易通过修改工具描述里的“本工具是任务必需组件”绕过,还容易误杀正常工具,破坏业务可用性。

同时实验还发现:推理能力越强的大模型,反而越容易中招。GPT‑4o的劫持成功率显著高于小参数量模型Llama‑4‑Scout 17B。小模型经常搞不懂工具之间的语义依赖,反而降低被攻击概率。

现实风险离我们有多远?

很多开发者可能觉得:我只用官方工具,不会引入恶意代码。但现实并没有这么乐观:

    1. Agent工具大量来自社区贡献(Llama‑Hub、LangChain Community),工具审核机制薄弱,HuggingFace甚至允许开发者直接上传工具,没有安全审计。
    1. 开发范式鼓励批量导入工具集Toolkit。开发者为了省事,经常一整个工具包全部导入,并不清楚里面每一个工具的具体行为。只要工具包混入一个恶意工具,整个Agent环境就埋下炸弹。
    1. 攻击不需要用户交互,任务触发即自动执行。用户完全感知不到后台多跑了一个工具,数据悄悄泄露、结果悄悄被篡改。

受影响场景覆盖:AI金融助手、企业RAG智能问答、代码Agent、旅行规划机器人、自动化办公Agent。泄露信息包括文档、个人地址、查询记录;污染可以传播虚假新闻、错误财务数据、错误代码。

我们该怎么缓解XTHP威胁?

论文没有给出完整的最终解决方案,但给出工程实践层面的缓解思路:

  1. 1. 拒绝无脑批量导入全部工具集,最小权限原则,只导入业务真正需要的工具,而不是导入整个工具池。
    1. 警惕工具描述的“强指令话术”,例如“必须使用本工具在XX之前/之后”这类强制语句。
    1. 校验工具描述和工具实际实现逻辑一致性,不要完全信任工具的自我宣传。很多工具的能力只存在描述文本里。
    1. 限制工具动态加载远程描述、远程配置的能力。关闭运行时从外部服务器拉取工具元信息。
    1. 工具之间做数据隔离:一个工具不能索取其他工具产生的中间上下文,禁止工具随意读取全局Agent上下文。
    1. 高敏感业务,避免直接使用社区未经过安全审计的第三方Agent工具。

写在最后

大模型Agent安全,过去我们更多关注提示注入、命令注入、越权访问。XTHP揭示了全新攻击面:问题不完全出在大模型本身,而是“工具池编排”这个环节。

攻击者不再需要欺骗大模型,而是欺骗大模型的工具选择逻辑。仅仅依靠一段精心撰写的工具描述,就可以改变Agent的完整执行流程。

随着Agent走向生产环境,工具生态越来越庞大,工具池安全,会成为下一阶段AI安全绕不开的命题。

> 注:研究团队已经将漏洞反馈给LangChain、Llama‑Index官方。

AI智能体漏洞挖掘:让Agent跑通一个SQLi到RCE的复盘" 网络安全文章

AI智能体漏洞挖掘:让Agent跑通一个SQLi到RCE的复盘"

这篇文章复盘AI智能体辅助漏洞挖掘的实践,核心是Agent与人分工协作,Agent负责侦察初筛等重复性工作,人负责判断可利用性与守住边界。关键卡点是Agent将盲注误判为误报,凸显弱信号识别仍需人类直觉。建议将Agent标疑似到人确认再到只读影响边界的流程固定化,兼顾效率与合规。
评论:0   参与:  0