内容提要
上海交大与蚂蚁集团提出InjecMEM攻击,针对LLM Agent记忆系统,单次交互即可注入恶意记录,使后续查询被导向预设输出。在MemGPT和MemoryOS上,攻击成功率分别达48.6%和76.6%。现有防御难以完全阻止,困惑度过滤虽有效但误杀71.8%良性记录,凸显安全与效用的权衡。
延伸解读
攻击为何能成功:检索机制成突破口
记忆系统普遍采用“先检索、后生成”的流程,InjecMEM正是利用这一点:通过构造带高召回锚点的注入记录,确保后续相关查询能稳定命中,再配合对抗指令引导输出。这提示我们,记忆系统的安全不仅取决于生成环节,检索环节同样可能成为攻击面。
防御的代价:安全与效用的权衡
论文测试了多种防御手段,其中困惑度过滤虽能完全压制攻击,但会误杀71.8%的良性记录,效用损失巨大。其他检测器只能降低攻击成功率,无法彻底消除。这凸显了当前防御手段在安全性和实用性之间的两难,也说明需要更精细的防御策略。
攻击的局限与迁移性
攻击效果在MemGPT和MemoryOS上差异明显,且仅在小参数模型上验证,不能推广到所有系统。论文还探索了跨模型迁移,但未给出明确结论。这提醒我们,评估此类攻击需考虑具体系统与模型,不能一概而论。
Q&A
InjecMEM攻击是什么?它如何工作?
InjecMEM是一种针对LLM Agent记忆系统的注入攻击,由上海交大和蚂蚁集团提出。攻击者只需与agent进行单次交互,无需读取或修改记忆库权限,即可注入恶意记录。该记录包含锚点和对抗指令:锚点确保后续相关查询能检索到该记录,对抗指令则通过梯度搜索优化,使回答被导向预设输出。
InjecMEM攻击在MemGPT和MemoryOS上的成功率是多少?
在MemGPT上,条件攻击成功率(ASR-c)为48.6%,联合口径(ASR-j)为18.1%;在MemoryOS上,ASR-c为76.6%,ASR-j为35.6%。
InjecMEM与现有提示注入方法(如DPI、BadChain、GCG)相比有何优势?
在记忆增强生成场景下,DPI、BadChain和原始GCG等方法的攻击成功率均为零,而InjecMEM的Multi-GCG变体成为首个在该场景下取得攻击成功的方法,ASR-c达到76.6%。
InjecMEM攻击在记忆漂移下是否有效?
论文报告攻击在记忆漂移下仍然有效,且非目标查询不受影响。
现有防御措施对InjecMEM攻击的效果如何?
LLM-as-a-Judge、ProtectAI和PromptGuard能降低但无法消除毒化检索,例如LLM-as-a-Judge将RSR从46.5%降至36.2%。困惑度过滤在阈值40时能完全压制攻击,但会误杀71.8%的良性记录,凸显安全与效用的权衡。
InjecMEM攻击的代码是否开源?
是的,论文开源了完整的攻击框架,GitHub地址为BlueBlood6/InjecMEM,为记忆系统的安全加固提供了可复现的评测基线。