2026-07-08 11:02 北京

AI Agent 系统的安全分析,其范畴远不止大语言模型本身。

这项突破性研究成果已被软件工程领域顶级会议 ASE 2026 正式接收。论文第一作者为香港科技大学计算机科学系博士生刘泽森,通讯作者为佘东冬教授。
大语言模型 Agent 在实际部署中,一个日益凸显的挑战是:上下文过长问题。
如今的 AI Agent 时常需要处理超长篇幅的上下文信息,既要理解系统提示词、调用工具说明,还需回顾历史对话记录与检索文档。为了节约调用成本、降低计算资源消耗并减少响应延迟,众多开发人员选择为系统集成“提示词压缩”模块,将冗长的原始上下文加以浓缩后,再输入给大模型处理。
那么,这种提升效率的做法,是否真的安全可靠?
来自香港科技大学的最新研究给出了明确的否定答案。研究团队发现,这个原本旨在“提升效能”的组件,竟可能悄然改写系统的安全防线,进而成为大模型应用环境中一个全新的攻击切入点。

论文链接:https://arxiv.org/pdf/2510.22963
代码链接:https://github.com/zsLiu2003/Comattack

研究背景:压缩不仅是节省 Token,更是在重新定义安全边界
传统针对 LLM Agent 的攻击手段,例如提示注入、越狱或 RAG 投毒,通常基于一个默认前提:攻击内容必须成功进入后端 LLM 的有效上下文,并被模型解读为恶意指令并执行。
然而,在引入了提示词压缩的流水线中,这一前提发生了根本性变化。
此时,后端 LLM 所接收到的并非原始 Prompt,而是经过压缩器处理后的压缩版本。换句话说,压缩器扮演了“守门员”的角色——它决定了哪些系统规则、任务证据及上下文信息可以保留,哪些则因预算限制而被丢弃。
这由此引出一个新的安全风险:攻击者未必需要让恶意指令穿透压缩器,也无需确保攻击载荷在压缩后依然可读。攻击者只需在压缩之前扰动那些不受信任的输入——例如用户请求或外部文档——便有可能改变压缩器的保留策略,导致关键安全规则或任务证据在后端推理之前被系统性地删除。
一个直观的场景是:系统提示词中包含“must never use shell”这样的安全约束。攻击者虽无法直接修改系统提示词,却可在用户请求末尾添加一段简短的干扰文本。经过压缩后,安全约束中的关键否定词可能被遗漏,后端 LLM 最终看到的是一条被削弱的指令,从而执行了本应被拒绝的危险请求。

核心概念:对抗性信息损失(AIL)
为了量化这一潜在风险,研究团队提出了“对抗性信息损失”这一核心概念。简单来说,AIL 旨在评估攻击者能否通过微小的、精心设计的扰动,刻意放大压缩过程中的信息丢失,从而将不应被丢弃的关键内容挤出上下文窗口。它并非仅仅关注压缩质量的高低,而是追问一个更严峻的问题:当存在恶意攻击者时,经压缩处理后的 Prompt,是否会诱导后端 Agent 做出与正常压缩情况下明显不同、且与安全相关的错误决策。

技术核心:COMA 如何攻破黑盒压缩 Agent?
在实际系统中,攻击者通常无法获知压缩器的具体参数、压缩预算,也无法直接观察到真实的压缩后 Prompt。针对这一现实挑战,论文提出了一种基于迁移学习的黑盒攻击框架:COMA。
COMA 的核心设计思路是两阶段优化策略。
第一阶段,COMA 在压缩空间中搜寻一个能够诱导后端模型产生错误行为的目标压缩结果。例如,它会精准定位哪些关键 Token 或核心证据一旦被删除,便会引发工具选择失误、问答回答错误,或是系统安全规则彻底失效。
第二阶段,COMA 在压缩前的原始输入中搜索一个扰动,使得经过替代压缩器处理后,其输出结果尽可能逼近第一阶段所找到的目标压缩结果。最后,候选扰动会被部署到真实环境的黑盒 Agent 流水线中,进行端到端的攻击效果验证。

实验结果:六大压缩器、三大类任务下均表现显著
研究团队在三种典型任务场景下全面评估了 COMA 的性能:Agent 工具选择、问答系统以及系统提示词破坏。实验覆盖了六种主流提示词压缩器,包括抽取式与生成式两类不同实现方式。
实验数据表明,COMA 在所有 18 个不同配置组合中都取得了最高的攻击成功率,平均攻击成功率(ASR)达到 0.71。相比之下,最强的非压缩感知攻击基线方法仅为 0.21。同时,无攻击设定下以及移除压缩器后的 COMA 设定,其攻击成功率均接近于 0.01,这充分说明该攻击并非源于普通的恶意提示词,而是直接源自提示词压缩环节所引入的全新攻击面。

COMA 还展现出强大的泛化能力。在不同的压缩预算设置下,即便正常的压缩几乎不会引发任何错误,该攻击依然能够显著放大系统失效的概率。当更换不同的后端 LLM 家族及模型规模时,COMA 的平均 ASR 依然稳定在 0.69,这说明单纯更换后端模型并不能从根本上解决问题——一旦关键上下文在压缩阶段已被清除,后续模型往往无力回天。
论文进一步对攻击机制进行了深入剖析。结果显示,COMA 的关键 Token 移除率与其攻击成功率高度吻合:它并非简单地向输入添加噪声,而是能够以可控的方式诱导压缩器精准地删除少量对模型行为至关重要的内容。以系统提示词破坏任务为例,一旦安全规则中的关键 Token 被移除,其对应的拒绝条件便随之彻底失效。
真实案例:从 VSCode Cline 到 LangChain Agent 的攻击验证
为了验证这种风险能否有效迁移至真实的 Agent 流水线,论文构建了两个具有代表性的实际案例。
第一个案例来自 VSCode Cline 插件。在正常情况下,Agent 会严格遵守安全规则,拒绝读取工作区之外的敏感文件。然而,在加入 COMA 扰动之后,压缩器削弱了系统提示词中的关键安全约束,最终导致后端模型触发了对敏感文件的读取行为。
第二个案例基于 LangChain + Ollama 的 ReAct Agent。正常场景下,Agent 能够为代码特征抽取任务正确选择相应的工具。遭受攻击后,压缩后的工具描述发生偏移,Agent 被诱导选择了错误的工具,导致任务失败。

这两个真实案例有力地表明,提示词压缩带来的安全风险并不仅仅局限于离线基准测试,它很可能影响到真实的软件工程 Agent 以及工具调用 Agent 的安全运作。
如何有效防御:隔离策略是关键
面对这种新型攻击手段,现有的防御技术,例如基于困惑度的异常检测,往往显得力不从心。为此,研究团队提出了一种既务实又高效的缓解方案:隔离压缩。
该方案的核心思路简洁明确:切勿将系统提示词、可信上下文与用户输入的不可信内容混在同一个预算池中加以压缩。系统应当将可信与非可信输入分开独立处理,并在重组拼接时明确添加清晰的边界标记。实验结果显示,这种结构性的防御措施在保护系统提示词方面效果显著,防御成功率可达 96%。其根本原因在于,非可信内容不再与系统安全护栏共享压缩预算,攻击者因此难以通过外部输入来“挤占”安全规则的生存空间。
这项研究为我们敲响了怎样的警钟
这项前沿研究深刻揭示了 LLM Agent 部署中一个极易被忽视的关键问题:许多为了追求系统效率而引入的中间组件,绝非仅仅是简单的工程优化。它们会实质性地改变模型最终所接收到的信息结构,从而在根本上重塑整个流水线的安全边界。
因此,对于未来的 LLM Agent 系统而言,全面的安全分析绝不能仅仅聚焦于后端 LLM 本身,还必须将缓存、检索、压缩、工具编排等所有中间层纳入评估范围。尤其是在长上下文和自主工作流日益普及的当下,如何在追求效率的同时,在效率与安全之间构建起更可靠的系统边界,必将成为可信赖智能体 AI 领域的核心议题之一。
