据SiliconANGLE报道,非人类身份安全公司Oasis Security Ltd. 8月25日披露了英伟达NemoClaw中的一个漏洞,该漏洞可使攻击者完全控制开发者AI代理背后的本地模型服务器,进而实施模型投毒。漏洞编号为CVE-2026-65105,仅需一次恶意网站访问即可触发。

Oasis在发布前已向英伟达产品安全事件响应团队报告。该研究也是Oasis团队自Cyera公司7月同意收购Oasis(据报交易金额10亿美元)以来发布的首项研究。

英伟达在3月的GTC大会上发布NemoClaw,作为更安全地运行OpenClaw等代理的方式。代理位于OpenShell沙箱内,沙箱隔离了文件系统、网络和进程。NemoClaw可通过Ollama在本地运行代理模型,而无需调用云服务。攻击者最终控制的就是Ollama服务器。

从沙箱内部访问该服务器需要一些操作。Docker容器无法访问127.0.0.1,而Ollama默认绑定该地址。NemoClaw以OLLAMA_HOST=0.0.0.0:11434标志启动Ollama,使11434端口在所有接口上开放,同一网段的其他设备也能访问,但安装消息仍显示为localhost:11434。

Ollama的API没有身份验证,仅靠两个中间件检查:来源允许列表和Host头验证。研究人员发现,当绑定地址不是回环地址时,Host检查会被完全跳过。剩下来源检查,DNS重绑定可绕过它。攻击者将控制的域名指向自己的服务器,在11434端口向受害者提供页面,随后域名重新解析到127.0.0.1。同源策略基于主机名而非背后的地址,浏览器不会拒绝,来自页面的请求便落在受害者机器上的Ollama实例上。

完全API访问使攻击者可以枚举已安装内容、获取主机名和公钥,或直接删除模型。Oasis认为最严重的是模型投毒。注入隐藏系统提示无法在代理中生存,因为OpenClaw发送自己的系统提示并覆盖内置提示。因此研究者进一步深入:Ollama的/api/create端点还接受模板字段,其值为Go模板,用于将消息列表渲染为模型读取的原始文本。攻击者可通过/api/show提取模型现有模板,向其中插入指令并写回。

客户端发送的每条消息都会经过攻击者版本,包括代理自身的系统提示,到达模型时已附带隐藏指令。从外部看一切正常,名称、大小和元数据都正常。开启新对话也不会清除任何内容。载荷驻留在模型定义中,远在操作者可重置的对话状态之下。置于该位置的指令可告诉代理编写能通过常规审查的漏洞代码、对安全问题保持沉默,或将对话内容发送到外部端点。

Oasis研究主管Elad Luz表示,这一改动“位于护栏或操作者可见的任何一层之下”,造成极难检测的完整性问题。沙箱作用不大,因为AI系统的爆炸半径是其授权范围而非隔离性。随论文发布的视频展示了从恶意网站到被投毒代理的完整链条。

Cequence Security首席信息安全官Randolph Barr评论说,目标比技术更重要。“这里各个部分并不新鲜,DNS重绑定作为浏览器技巧已有十多年,但将其指向未经身份验证的本地模型服务器是新的部分,这是代理AI风险实际所在的一个良好预览。风险并不真正在模型中,而在于其周围的管线。如果所依赖的东西可从浏览器任何标签页访问,那么对代理进行沙箱化并没有多大好处。”

Black Duck Software应用安全测试解决方案管理高级总监Collin Hogue-Spears指出,Ollama在2024年已通过CVE-2024-28224加固了此类浏览器到本地服务暴露。他说,NemoClaw当前设计在受覆盖的拓扑上拒绝非回环Ollama后端。仍使用旧模式的人应让Ollama保持在回环地址并通过认证代理,同时将Host头与允许列表核对。