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

mem0 OpenMemory:未认证 API 泄露智能体记忆与 LLM 密钥

2026 年 7 月针对 mem0 智能体记忆层的两则公告表明,一个自托管的记忆服务器在其记忆与配置端点上未设任何认证——泄露了存储的记忆、LLM API 密钥,以及一条通往云端元数据的 SSRF 路径。

2026-07-21 // 5 min affects: mem0, openmemory

这是什么?

2026 年 7 月 7 日,VulnCheck 针对 mem0 发布了两则公告。mem0 是最广泛使用的 LLM 智能体开源记忆层之一(以 PyPI 包 mem0ai 发布)。两处缺陷均位于 mem0 可自托管的服务器组件 OpenMemoryopenmemory/api)中,且根因相同:若干关键的 HTTP 端点在注册时前面没有任何认证。

第一则公告涉及对记忆存储本身的未认证访问:能够访问该服务器的攻击者可以读取、写入并删除任意用户的记忆,还可以触发一个全局暂停开关,使服务对所有人不可用。第二则涉及配置 API,它会以明文返回存储的 LLM API 密钥,并可被滥用以让服务器发出由攻击者指定的出站请求。两者的 CVSS 评分均在 9.2 至 9.3 之间(严重)。修复位于 mem0 提交 a3154d5;该提交之前的所有版本均受影响。

工作原理

mem0 为智能体提供持久记忆:事实、偏好和先前的对话状态被写入存储,并在后续轮次中取回。OpenMemory 通过 HTTP API 暴露该存储,供多个智能体和前端共享。此处的漏洞类别是 CWE-306,关键功能缺少认证——路由挂载时没有认证依赖项,因此端点会响应任何能够向其建立连接的人。

受影响的端点有两类。记忆路由接受调用方提供的 user_id 并对所传入的值执行操作,而不检查调用方是否拥有该身份。因此,读取另一租户的记忆只需遍历标识符即可;写入或删除同理。一个暂停端点接受 global_pause=true 标志,会停止整个部署的记忆操作——这是一次单请求的拒绝服务。

配置路由对密钥卫生而言更糟。对配置路径的一次简单 GET 会返回服务器存储的提供商设置,包括明文的 LLM API 密钥——即该部署用于与其模型通信的 OpenAI 或其他密钥。此外,本地模型后端的配置接受一个基础 URL 值(ollama_base_url)。由于它可被攻击者写入,且服务器随后会向其发起请求,将其设为内部地址会把服务器变成一个**服务器端请求伪造(SSRF)**中继——公告明确点名云实例元数据端点为目标,这正是通往临时云凭据的经典路径。

真正的风险在于链式利用。明文密钥窃取加上指向元数据服务的 SSRF,意味着攻击者可以从一个暴露的记忆服务器,一路走到模型提供商的账单,并有可能走到该实例所运行的云角色——全程无需认证。

为什么重要

智能体记忆正在成为标准基础设施,而自托管记忆服务器看似是安全、保护隐私的选择。但记忆层恰恰汇集了攻击者想要的数据:智能体对用户所了解的一切,加上其运行所需的凭据。当这一层在假设自己处于可信网络的前提下发布,而有人将其暴露——容器端口映射到 0.0.0.0、预览部署位于公网 IP、或可经由别处的 SSRF 触达的内部服务——影响范围会同时覆盖记忆完整性(毒化智能体所「记住」的内容)、机密性(读取私有记忆与密钥)与可用性(全局暂停)。记忆毒化尤其是一种隐蔽的失效模式:一条被植入的记忆可以在写入很久之后仍左右智能体的后续决策,且不留明显痕迹。

防御

不要将记忆服务器暴露到任何不可信网络。 将 OpenMemory 视为后端服务:绑定到 localhost 或私有接口,置于带认证的反向代理或网关之后,切勿将其端口映射到公网地址。若在容器中运行,请显式检查已发布端口的配置。

升级到修复之后的版本。 修复后的代码位于 mem0 提交 a3154d5 及之后的版本。请固定到已修复的版本,并将该提交及之前的任何构建视为存在漏洞。

在边缘加入认证与按租户的授权。 对每个请求要求令牌,并验证已认证主体拥有其所操作的 user_id。缺少认证与缺少对象级授权是两个不同的缺陷;两者都要修复,使某一租户的有效令牌无法读取另一租户的数据。

将提供商密钥移出服务器可读的配置。 在运行时从密钥管理器或环境中注入 LLM API 密钥,而不是将其存放在配置端点可返回之处;对密钥进行最小化授权,并轮换任何曾驻留于暴露实例上的密钥。

封堵 SSRF 路径。 将任何提供给服务器的基础 URL 视为不可信:对允许的主机使用白名单,拒绝指向链路本地、回环及元数据地址段的请求,并要求使用类似 IMDSv2 的会话令牌,使单纯的 SSRF 无法读取云凭据。

监控其特征。 对配置读取、切换全局暂停的写入,以及跨 user_id 的访问模式发出告警——这是此类攻击的运行时指纹。

Status

项目参考日期说明
记忆 API 缺少认证CVE-2026-597052026-07-07未认证读/写/删任意记忆;经 global_pause 造成 DoS。CWE-306
配置 API 密钥泄露 + SSRFCVE-2026-597062026-07-07经配置 GET 明文泄露 LLM API 密钥;经 ollama_base_url 触发 SSRF。CVSS 9.3(v3.1)/ 9.2(v4.0),CWE-306
修复mem0 提交 a3154d52026-07该提交及之前的版本受影响
报告方VulnCheck(CNA)2026-07-07公告与 NVD 记录同日发布
关联框架OWASP LLM06(Excessive Agency)/ API 安全「Broken Authentication」,MITRE ATLAS AML.T0024(外泄)2026智能体记忆服务缺少认证

mem0 的这两则公告提醒我们:智能体技术栈中最新的部分——记忆、工具服务器、配置平面——仍在以本地原型的网络信任假设发布。发布日期:两则公告与 NVD 记录均标注为 2026 年 7 月 7 日;修复提交早于披露。

Sources