系统:运行中
← 返回所有攻击
AGENTS MEDIUM NEW

MemPoison:仅凭一次对话就在智能体记忆中埋下后门

2026 年 5 月的一篇 arXiv 论文仅通过普通对话就在 LLM 智能体的长期记忆中植入了一个可触发的后门,并且被特意设计为能够躲过本应过滤被污染内容的抽取与改写阶段。

2026-06-20 // 6 min affects: llm-agents, agent-memory-systems, rag-pipelines

What is this?

Hijacking Agent Memory: Stealthy Trojan Attacks Through Conversational Interaction 这篇论文于 2026 年 5 月发布在 arXiv 上,介绍了 MemPoison:一种仅靠普通对话就在 LLM 智能体长期记忆中植入可触发后门的方法。攻击者既不需要任何提升的权限,也不需要对记忆存储的写入访问。他只是与智能体对话——就像任何用户在共享平台上所做的那样——一段休眠的载荷就被留了下来,等待日后被触发。

这是对一个已知问题的精细化。MINJA(NeurIPS 2025)表明,用户仅凭查询就能向智能体记忆注入恶意记录,而 2026 年 1 月的攻防研究 进一步厘清了图景。MemPoison 新增的是对那个显而易见的防御的直接回应:许多生产环境的智能体并不逐字存储对话。它们运行一条选择性记忆流水线,在写入任何内容之前先进行抽取、摘要与改写。先前的攻击悄悄假设注入的文本会原封不动地进入记忆。MemPoison 则被专门设计为能够躲过这条流水线——这正是它值得关注之处。它与跨会话存储型提示注入密切相关,但瞄准的是记忆构建阶段本身。

How it works

MemPoison 分两个阶段进行。在注入阶段,攻击者通过共享智能体上正常的对话轮次来污染记忆。在触发阶段,后门通过两条路径之一被激活:用户触发,即触发器位于外部内容(一个网页)中,某个无辜用户随后请求智能体阅读该内容,从而使智能体检索并执行被植入的载荷;或攻击者触发,即攻击者只需发出一条包含触发器的查询,即可按需诱发恶意响应。

其贡献在于让载荷通过选择性记忆。论文描述了三个组件,我们在此做概念性概述而非复现:

  • 语义关系桥将触发器与载荷绑定为一句连贯的陈述,使抽取阶段把它们一并保留,而不是丢弃其中一半。
  • 实体伪装将触发器塑造成像一个命名实体,使改写阶段予以保留而不是将其改写掉。
  • 联合嵌入优化把带触发器的文本在嵌入空间中聚成一个紧凑簇,同时与良性内容保持隔离,使检索在遇到触发器时可靠地呈现载荷,其余情况下保持沉默。
INJECTION  (攻击者在共享智能体上对话)
  对话轮次 ──▶ 选择性记忆流水线
              (抽取 → 摘要 → 改写 → embed)
                         │  按设计存活

                  长期记忆  [触发器 + 载荷]

   ... 攻击者离开;该条目保持休眠 ...

TRIGGERING
  (A) 受害者请求智能体阅读携带触发器的外部内容
  (B) 攻击者用触发器再次查询
        └──▶ 检索呈现载荷 ──▶ 智能体发出恶意响应

此处不复现任何可用的载荷;要传达的教训并不需要它。论文报告的攻击成功率高达 0.95,同时保持良性准确率,且该后门在面对基于困惑度的过滤与改写时仍然有效。作者的机理分析将这种持久性归因于嵌入空间的各向异性与注意力的重新分配——也就是说,它利用的是记忆系统的结构性属性,而非某个脆弱的字符串。

Why it matters

令人不安的是威胁模型,而不是数字。攻击者是共享智能体的一名普通用户,没有特殊访问权限,却留下了一个由另一名用户日后触发的陷阱。选择性记忆流水线——正是团队为了对所记内容更放心而添加的机制——在这里被当作攻击面而非防御。而且由于载荷在构造上就是休眠且隐蔽的,检测窗口以天计,而不是在植入它的那一轮。

这对多租户和团队部署冲击最大:共享知识库、公共记忆存储、从同一持久状态为众多用户服务的智能体。在这些场景中,仅仅一次被污染的对话就可能在他人的会话中重新浮现,把个体的麻烦变成持久的立足点。

Defenses

没有任何单一控制能消除这一类攻击。目标是不再把记忆当作可信上下文,并打破写入—再检索的循环。

  • 把检索到的记忆当作不可信输入。 在读取时以对待新鲜外部内容的同等审慎重新校验持久内容。根本错误在于智能体因为“它已经在里面了”而信任自己的记忆。
  • 按来源对记忆分区。 为条目标注其来源以及写入它的任务。源自不可信对话的内容应被隔离,绝不直接注入规划或工具选择的提示中。
  • 按用户和租户隔离。 优先采用作用域受限的记忆,而非共享可变存储。一个用户会话中写入的条目,默认不应能在另一个用户的会话中被检索到——仅此一项就能消除跨用户触发路径。
  • 在检索处防御,而不仅在写入处。 由于 MemPoison 在写入时能躲过困惑度与改写过滤,应在检索时刻加入控制:来源过滤、对某查询所浮现记忆的异常检测,以及检索到的记忆与当前请求之间的蕴含或一致性检查。
  • 对每次写入进行管控与记录。 让记忆写入显式且受策略约束——可写什么、由哪个任务、来自哪个来源——并记录来源,以便日后调查能从某个行为追溯到植入它的那次对话。
  • 积极设置过期并约束外泄。 TTL 与遗忘机制限制了休眠条目能等待触发器多久;最小权限的工具与出站监控则缩小被触发载荷实际能造成的影响。

Status

方面朴素的记忆投毒MemPoison(2026 年 5 月)
所需访问常假设直接写入记忆仅需对话,无需权限
选择性记忆流水线假设被绕过/不存在被设计为存活于抽取 + 改写
触发器即时或隐式休眠;由用户或攻击者触发
报告的成功率不一高达 0.95,保持良性准确率
抵抗困惑度/改写不可靠
主要控制写入时过滤来源感知的检索 + 隔离

2026 年 5 月这篇论文的要点,是防御应当落点位置的转变。当攻击者能够把载荷塑造成可原封通过抽取与改写时,仅过滤进入记忆的内容已不足够。在有状态的智能体中,记忆流水线本身就是攻击面的一部分——而把检索到的记忆当作事实真相的控制,将继续漏掉那些被构造得像记忆一样的后门。

Sources