为什么 Memory Poisoning 是 AI 安全的新前沿

发布: (2026年1月7日 GMT+8 16:42)
7 min read
原文: Dev.to

Source: Dev.to

关于为何记忆投毒是 AI 安全新前沿的封面图

想象一下,你拥有一个出色的全新 AI 代理。它可以处理你的邮件、管理你的日程,甚至帮助进行代码审查。它之所以出色,是因为它记得你的偏好,并从每一次交互中学习。但如果有人能够在它的耳边“低语”一个永远不会忘记的谎言,会怎样?

这不仅仅是一个假设情景。随着我们从无状态的大语言模型(LLM)转向使用检索增强生成(RAG)和持久记忆的自主代理,我们正打开通往一种更危险攻击类型的大门:记忆与上下文投毒Memory and Context Poisoning)。

什么是记忆与上下文投毒?

在 AI 安全领域,我们经常讨论 prompt injection。你应该很熟悉这种手法:用户试图欺骗模型“忽略之前的指令”。虽然令人烦恼,但 prompt injection 通常是瞬时的。会话结束后,使用的“海盗模式”或其他利用手段就会消失。

记忆投毒 (ASI06) 则不同。它是对代理长期知识的结构性破坏。它不像一次性的技巧,而更像是给一名可信员工一套伪造的操作指南,让他们永远遵循。

功能Prompt Injection(瞬时)记忆与上下文投毒(持久)
目标即时、一次性的操控。长期、结构性的腐化。
攻击对象当前的提示上下文。长期记忆(RAG、向量存储)。
持久性零——回合结束后即被遗忘。高——影响未来的、无关的任务。
检测难度相对容易。困难——表现为合法的上下文。

代理转变:为何此时此刻尤为重要

该威胁之所以跃升至优先级列表首位(在 OWASP 2026 代理应用十大风险 中被标记为 ASI06),是因为我们当前构建代理的方式。现代代理依赖于三个核心支柱,而这些支柱不幸也成为了攻击向量:

  1. 检索增强生成(RAG)
    RAG 是代理的“真相来源”。如果攻击者能够将恶意文档注入你的向量数据库,代理就会检索到它并将其视为事实。这不仅仅是一个错误答案,而是一个被破坏的基础。

  2. 工具使用放大
    代理不仅仅是对话,它们会执行操作。它们调用 API、运行代码并移动数据。如果代理的记忆被投毒,使其相信某个特定的恶意账户是“可信供应商”,它将毫不犹豫地使用其工具向该账户发送金钱或数据。

  3. 自主决策循环
    代理经常将自己的日志或摘要写回记忆中。这会形成一个反馈循环,最初的微小“毒药”会随时间增长并自我强化,使得追溯到最初的攻击变得极其困难。

开发者的现实风险

这不仅仅是学术上的讨论。对于构建企业级代理的开发者来说,风险是具体且实际的:

  • 数据泄露: 代理可能被“引导”始终在发送给特定外部用户的摘要中包含敏感 ID。
  • 金融欺诈: 对采购代理进行投毒,使其使用错误的汇率或伪造的路由号码来处理“合法”供应商。
  • 策略侵蚀: 类似“回声室攻击”的技术可以通过多轮、表面良性的交互逐步削弱代理的安全防护。

如何防御你的代理

构建弹性代理需要从“保护模型”转向“保护上下文”。

  • 严格的上下文隔离: 切勿让用户提供的输入直接进入长期记忆,必须经过验证层。你的系统提示应保持不可变。
  • 来源追踪: 你的 RAG 索引中的每一条数据都需要一张“出生证”。是谁写的?何时写的?来源是什么?如果出现问题,你需要能够回滚。
  • 摄取层输入净化: 将你的 RAG 流程视作数据库。对所有内容进行净化。向量化之前检查是否存在对抗性字符串和代码。
  • 行为审计: 由于中毒手段隐蔽,不能仅仅寻找“坏词”。要随时间监控代理的行为,发现其使用工具时的异常。

要点总结

  • 内存和上下文中毒是一个根本性的完整性问题,而不仅仅是一个可以修补的漏洞。随着我们赋予代理更大的自主权,它们记忆的完整性将成为我们主要的防御前线。

您正在实施哪些具体的架构改动来保护您的 RAG 流水线和代理记忆,以免受到 ASI06 的影响?

Back to Blog

相关文章

阅读更多 »

对抗攻击与防御:综述

概述 今天,许多应用程序使用 deep learning 快速执行复杂任务,从图像分析到语音识别。然而,微小、几乎不可见的变化……