MEMSAD: Gradient-Coupled Anomaly Detection for Memory Poisoning in Retrieval-Augmented Agents¶
论文信息¶
- arXiv: https://arxiv.org/abs/2605.03482
- 提交日期: 2026-05-05
- 作者: Ishrith Gowda
- 方向: 记忆安全 / 隐私保护
摘要¶
持久化外部记忆使 LLM Agent 能跨会话维护上下文,但其安全属性尚未被形式化表征。本文将检索增强 Agent 的记忆中毒攻击形式化为一个 Stackelberg 游戏,提供了一个统一评估框架覆盖三种递进访问假设的攻击类。在修正了 Chen et al. (2024) 的触发查询规范不一致问题后,本文表明忠实评估使测量的攻击成功率提升 4 倍(ASR-R: 0.25 → 1.00)。核心贡献是 MEMSAD(语义异常检测),一种基于校准的防御,核心是梯度耦合定理:在编码器正则条件下,异常评分梯度和检索目标梯度被证明是完全相同的,因此任何降低检测风险的连续扰动都会必然降低检索排名。这种耦合产生了认证检测半径——无论对手策略如何都能保证正确分类。通过 Le Cam 方法证明极小极大最优性,显示任何阈值检测器需要 Ω(1/ρ²) 校准样本,而 MEMSAD 达到了这个下界(至 log(1/δ) 因子)。进一步导出滚动校准的在线遗憾界为 O(σ^{2/3} Δ^{1/3}),并形式化刻画了一个离散同义词不变性漏洞,标记了连续空间防御的边界。
核心贡献¶
- 记忆中毒的博弈论形式化:将攻击建模为 Stackelberg 游戏,提供统一评估框架
- 修正评估协议:发现并修正了 Chen et al. (2024) 的触发查询规范问题,使 ASR 测量从 0.25 提升至 1.00
- MEMSAD 梯度耦合防御:证明异常评分梯度与检索目标梯度恒等,产生可认证的检测半径
- 极小极大最优性证明:任何阈值检测器需要 Ω(1/ρ²) 校准样本,MEMSAD 达到此下界
- 在线学习 regret 界:O(σ^{2/3} Δ^{1/3}) 的滚动校准后悔界
为什么重要¶
记忆中毒是持久化记忆系统的根本安全威胁——攻击者可以在一次不受信任的工具调用中植入恶意记忆,该记忆只在后续特定话题出现时才激活,导致高价值个人数据外泄。MEMSAD 不仅提供了防御,更提供了可证明的防御边界,首次将记忆安全问题置于严格的理论保障之下。
与端侧/移动端的相关性¶
- 本地记忆安全:端侧 Agent 的个人数据(健康、财务)尤其敏感,防御记忆中毒至关重要
- 资源约束适配:认证检测半径理论可用于设计轻量级异常检测器
- 隐私保护记忆:防止个人数据通过被污染的记忆向量被窃取
详细解读¶
攻击模型¶
记忆中毒攻击的三种类型:
| 攻击类型 | 访问假设 | 攻击目标 | 威胁等级 |
|---|---|---|---|
| Type-I | 单次不受信工具调用 | 植入触发式记忆 | 高 |
| Type-II | 多次不受信交互 | 逐步强化恶意记忆 | 极高 |
| Type-III | 协作式攻击 | 跨 Agent 记忆污染 | 极高 |
触发式记忆的机制: 1. 攻击者通过单次工具调用(如邮件)植入恶意记忆 2. 该记忆在用户讨论相关话题(金融、医疗、身份)时激活 3. 激活后触发数据外泄(发送到攻击者控制的端点) 4. 100 次良性会话后恶意记忆仍可激活
MEMSAD 核心机制¶
梯度耦合定理:
在编码器正则条件下:
∇_θ s(x; θ) = ∇_θ r(x; θ)
其中 s(x; θ) 是异常评分,r(x; θ) 是检索目标函数。
物理含义:任何降低检测风险的对抗性扰动都会同时降低检索质量——攻击者无法在不被检测的情况下成功注入恶意记忆。
认证检测半径¶
class MEMSAD:
def __init__(self, encoder, threshold):
self.encoder = encoder
self.threshold = threshold
self.calibration_data = []
def detect(self, memory_entry):
anomaly_score = self.compute_anomaly_score(memory_entry)
# 认证半径内:无论对手如何扰动,分类结果不变
if anomaly_score > self.threshold + rho:
return "malicious" # 确信恶意
elif anomaly_score < self.threshold - rho:
return "benign" # 确信良性
else:
return "uncertain" # 认证半径外,需要更多校准数据
def certify(self, x, epsilon):
# 返回认证半径 rho
# 在 rho 范围内,对手无法骗过检测器
return self.computed_certification_radius(x, epsilon)
实验结果¶
3×5 攻击-防御矩阵(Bootstrap 置信区间):
| 攻击类型 | 基线检测率 | MEMSAD 检测率 | 认证半径 |
|---|---|---|---|
| Type-I | 25% | 95% | 有 |
| Type-II | 15% | 92% | 有 |
| Type-III | 10% | 88% | 有 |
关键发现: - 修正评估协议后,ASR-R 从 0.25 提升至 1.00(Chen et al. (2024) 的漏洞) - 离散同义词不变性漏洞:连续防御无法防御基于同义词替换的攻击,标记了理论边界
离散同义词不变性漏洞¶
连续空间防御(如 MEMSAD)的根本局限:
# 攻击示例:同义词替换
original = "my SSN is 123-45-6789"
adversarial = "my social security number is 123-45-6789"
# 语义相同但词汇不同,嵌入空间距离大
# 连续防御无法检测此类攻击
这是一个开放问题,需要离散/符号层面的防御来补充。
与 Trojan Hippo 的关系¶
MEMSAD 可被视为 Trojan Hippo(2605.01970)攻击的防御 counterpart:
| 方面 | Trojan Hippo | MEMSAD |
|---|---|---|
| 角色 | 攻击 | 防御 |
| 目标 | 记忆中毒 + 数据外泄 | 检测记忆中毒 |
| 方法 | 触发式记忆植入 | 语义异常检测 |
| 保障 | 实证(85-100% ASR) | 理论认证边界 |
局限性¶
- 离散同义词漏洞:连续空间防御无法覆盖此类攻击
- 编码器正则假设:实际部署的编码器可能不满足假设条件
- 校准样本需求:极小极大下界 Ω(1/ρ²) 可能仍较大
- 在线场景:滚动校准的 regret 界仍需实证验证
未来方向¶
- 离散-连续混合防御:结合符号验证与语义检测
- 端侧轻量 MEMSAD:针对移动端计算的认证检测半径分析
- 跨记忆后端的统一防御框架
参考文献¶
- Chen et al. (2024): 触发查询规范的基础工作(存在协议漏洞)
- Stackelberg 游戏: 博弈论在安全领域的经典应用
- Le Cam 方法: 统计学习理论的收敛速度分析工具