Ruflo MCP 漏洞允许未经身份验证的攻击者运行命令并投毒 AI 记忆
- 浏览次数 2482
- 喜欢 0
网络安全研究人员标记了 Ruflo 中的一个最高严重性安全漏洞,Ruflo 是一个用于 Anthropic Claude Code 和 OpenAI Codex 的开源智能体元 harness,该漏洞可能导致未经身份验证的远程代码执行。
该漏洞编号为 CVE-2026-59726(CVSS 评分:10.0),影响该项目 3.16.3 之前的所有版本。Noma Security 的研究团队 Noma Labs 将其代号命名为 RufRoot。
最初以 Claude Flow 之名发布,Ruflo 是一个 AI 多智能体编排平台和 harness,允许用户部署多智能体集群、协调自主工作流以及构建对话式 AI 系统。该项目在 GitHub 上拥有超过 66,500 个 star。
该漏洞的核心在于,Ruflo 通过一个默认对网络开放的未经身份验证的 Model Context Protocol(MCP)桥接器,暴露了 233 个工具,包括 shell 命令执行、数据库操作、智能体管理和记忆存储。
具体来说,发现"docker-compose.yml"YAML 配置文件默认将端口 3001 绑定到 0.0.0.0,从而在所有网络接口上暴露了该桥接器。也就是说,暴露程度取决于部署的防火墙规则、安全组和网络分段。值得注意的是,任何网络可达的实例都可以在无需身份验证的情况下被完全利用。
因此,向端口 3001 发送一个未经身份验证的 HTTP POST 请求即可在易受攻击的 Ruflo 部署中获得完全的远程代码执行能力,安全研究员 Eli Ainhorn 表示:
curl -s -X POST https://<target>:3001/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ruflo__terminal_execute","arguments":{"command":"id && hostname"}}}'
借助这一立足点,攻击者可以窃取 Ruflo 用于与大语言模型(LLM)提供商交互的 API 密钥、读取平台上存储的所有用户对话,并干扰 AI 系统的记忆以影响模型响应和行为。
换句话说,命令执行是全面入侵的垫脚石,可实现 LLM API 密钥窃取、智能体武器化、AI 记忆投毒、对话收集,以及通过向"/app"目录写入恶意 payload 来部署持久后门。
"在 3.16.3 版本之前,Ruflo 的默认 docker-compose 部署暴露了 MCP 桥接器的 POST /mcp 和 POST /mcp/:group 端点,且无需身份验证,允许未经身份验证的网络攻击者调用 tools/call 到 terminal_execute,在桥接器容器中获得 shell,读取提供商 API 密钥,并向 AgentDB 学习存储中投毒模式,"NIST 国家漏洞数据库(NVD)中的漏洞描述写道。
在 2026 年 6 月 30 日进行负责任的披露后,项目维护者 Reuven Cohen 在 24 小时内推送了漏洞修复。作为补丁的一部分,MCP 桥接器现在默认绑定到回环接口,将"terminal_execute"置于服务端 executeTool 控制之后,并启用了 MongoDB 身份验证以防止对话窃取等。
"ruflo/docker-compose.yml 中提供的 MCP 桥接器暴露了 POST /mcp 且无需身份验证,"Cohen 在发布说明中表示。"docker-compose 默认将桥接器和 MongoDB 绑定到所有接口。"
"结合起来,未经身份验证的网络攻击者可以在桥接器容器内调用 tools/call → terminal_execute,获得 shell,从容器环境中读取每个提供商 API 密钥,在受害者的密钥上生成攻击者控制的智能体集群,并将投毒模式持久化到 AgentDB 学习存储中,从而影响未来的 AI 输出。"
建议运行暴露实例的运营者立即关闭防火墙端口 3001 和 27017,轮换所有 LLM API 密钥,审计 AgentDB 模式存储中是否存在注入的 agentdb_pattern-store 条目,并检查 MongoDB 是否存在篡改迹象。
"Ruflo 漏洞使得可以启动一个智能体集群来做攻击者想做的任何事情,甚至篡改 AI 的记忆,"Noma 表示。"能够将恶意指令写入平台的持久 AI 记忆意味着,即使在最初的入侵结束很久之后,攻击者仍然可以影响 AI 向平台未来每个用户给出的响应。"
"对于暴露于此类漏洞的组织,修复需要的不仅仅是软件更新。AI 提供商凭据应被视为已泄露并轮换,平台的 AI 记忆应进行审计以检查篡改,并且容器应从干净的镜像重建。"