《Agent记忆错误的100个案例手册》第 76–80 案例
本辑为《Agent记忆错误的100个案例手册》连载内容。
案例 76:跨会话与用户识别错误|impersonation-via-session-hijacking
场景
用户的会话Token通过URL参数传递(而非Cookie/Header),用户在社交媒体分享了一个包含Token的链接。攻击者点击该链接,获得了用户的会话身份。
错误表现
攻击者以用户身份与Agent对话,查看了用户的全部历史记忆,甚至通过Agent执行了敏感操作(如”删除我的所有数据”)。
解决方案
- 会话Token永不通过URL传递,使用HttpOnly Cookie或Authorization Header
- 实施”设备指纹绑定”:会话与设备指纹绑定,检测到设备变化时要求进行重新认证
- 对敏感操作实施”二次确认”:即使会话有效,执行删除、转账等操作时要求再次输入密码
原理
会话标识符的泄露等同于身份的泄露。URL是最容易被泄露的媒介(浏览器历史、分享链接、Referrer头)。安全的会话管理是身份安全的基础。
案例 77:跨会话与用户识别错误|user-deletion-memory-residual
场景
用户行使”被遗忘权”(Right to be Forgotten),要求删除账号。系统删除了用户表中的记录,但Agent的长期记忆库(向量数据库)中仍保留了大量该用户的记忆向量。由于记忆库没有级联删除机制,这些数据成为”孤儿记忆”。
错误表现
数月后,其他用户的查询意外检索到了这些孤儿记忆(因为它们在向量空间中与新查询相似),包含了已删除用户的个人信息。
解决方案
- 建立”用户-记忆”外键关系:删除用户时触发级联删除,清理所有关联记忆
- 实施”记忆归属标记”:每条记忆标记所属用户ID,定期扫描并清理无效用户ID的记忆
- 用户删除后进行”记忆审计”:抽样检查是否仍有该用户的数据残留
原理
GDPR等法规要求用户数据的彻底删除。向量数据库中的记忆如果与用户身份没有强关联,删除操作容易遗漏,导致合规风险。
案例 78:跨会话与用户识别错误|profile-merge-conflict-resolution-failure
场景
用户通过合并账号功能将两个账号(工作号和个人号)合并。两个账号分别有”偏好语言:英文”和”偏好语言:中文”的设置。合并系统未定义冲突解决策略,随机保留了其中一个。
错误表现
用户期望保留两个偏好(工作场景英文,个人场景中文),但合并后只能使用一种语言,且不知道何时被修改过。
解决方案
- 账号合并时进行”场景化保留”:询问用户不同场景下的偏好设置,而非简单二选一
- 保留历史偏好记录:合并后的画像包含”来源A的设置”和”来源B的设置”,允许用户切换
- 使用”最近使用优先”:在冲突时保留最近更新的设置,但通知用户存在冲突
原理
用户画像的合并不是简单的记录拼接,而是冲突解决。没有明确策略的合并会导致”静默数据丢失”,用户在不知情的情况下被改变了偏好。
案例 79:跨会话与用户识别错误|session-affinity-break-load-balancer
场景
Agent集群前有负载均衡器,配置了会话亲和性(Session Affinity):同一用户的请求固定路由到同一实例。但某实例故障,负载均衡器将请求路由到另一实例。新实例没有该用户的会话状态(存储在故障实例的内存中)。
错误表现
Agent突然”失忆”,用户感到困惑”我们刚才不是聊到XX了吗?“,体验严重受损。
解决方案
- 会话状态存储在共享存储(Redis/数据库)中,实例无状态化,任何实例都能处理任何会话
- 实例故障时进行”状态迁移”:将故障实例的会话状态迁移到新实例
- 负载均衡器使用”粘性Cookie”:即使实例变化,也能通过中央存储恢复会话
原理
有状态服务的扩展性和可靠性都受限于状态存储的位置。无状态架构(Stateless Architecture)配合外部状态存储是分布式系统的最佳实践。
案例 80:跨会话与用户识别错误|anonymous-user-tracking-ethics-violation
场景
Agent为匿名用户(未登录)建立”设备指纹+行为模式”的记忆档案,用于个性化推荐。通过长期追踪,系统能高度精确地识别同一匿名用户(如”使用Chrome 120、分辨率1920x1080、喜欢先浏览科技再浏览财经的用户”)。
错误表现
攻击者或第三方通过数据关联,将这些匿名档案与真实身份关联(如用户在某处登录后,系统能将登录前后的行为关联起来),实现了去匿名化。
解决方案
- 对匿名用户的追踪设置严格限制:只记录会话级信息,不建立跨会话的长期画像
- 定期重置匿名用户标识符(如每次关闭浏览器后重置)
- 实施”差分隐私”:在匿名用户数据中注入噪声,防止精确识别
原理
去匿名化(De-anonymization)研究表明,足够多维度的行为数据可以唯一识别个体。匿名不应只是”不记录姓名”,而应确保无法从数据中推断出身份。
I. 记忆一致性与事实锚定错误(案例81-90)
来源:Agent Search