一张网页就能投毒你的AI大模型:NVIDIA NemoClaw缺陷曝光,沙箱挡得住黑客,挡不住"夺舍"
Oasis Security披露NVIDIA NemoClaw缺陷:恶意网页可通过DNS重绑定接管本地Ollama,向AI模型植入隐藏指令,用户毫无感知。
你让AI助手帮你读一份文件,它乖乖照做,顺便把你的API密钥发了出去——这不是科幻片的桥段。Oasis Security刚披露了一个让人后背发凉的攻击链:受害者只是打开了一张普通网页,本地跑的AI大模型就被悄悄"夺舍"了,从此每一轮对话都带着攻击者埋下的隐藏指令,而你和AI客户端都完全察觉不到。
01
攻击链还原:浏览器是怎么变成跳板的
这次的靶子是NVIDIA NemoClaw——英伟达开源的AI Agent参考运行栈,不少团队拿它在本地沙箱里跑OpenClaw这类智能体,后端用Ollama做本地推理。
问题出在一个看似无害的配置上:在Windows宿主机路径下,NemoClaw会用OLLAMA_HOST=0.0.0.0:11434启动Ollama,把模型API绑到了所有网卡上。这个API本身没有鉴权,只靠两层中间件拦浏览器请求。可一旦绑定地址不是127.0.0.1,Host头校验直接跳过,CORS又把攻击者域名的请求当成同源放行。
最后的点睛之笔是DNS重绑定:攻击者的域名先解析到自己的服务器,再解析到127.0.0.1,浏览器全程以为自己在跟"同一个网站"聊天。你点开一张网页的功夫,页面里的脚本就已经摸到了你本地的Ollama API。这个手法不新鲜——Ollama在2024年就修过类似问题(CVE-2024-28224),但NemoClaw的配置把老坑又挖开了。
02
真正的杀招:聊天模板投毒
拿到API访问权后,攻击者干的事比直接偷数据阴得多:通过/api/create接口写入一个改过的Go模板。
这个模板管的是消息数组渲染成原始文本的过程。被动过手脚的版本,会在推理时往每一条系统消息后面偷偷追加攻击者写的指令。从此,这个模型的每一轮对话、每一个新会话,都带着这颗雷——就算Agent换了自己的系统提示词也没用。
Oasis Security的原话很扎心:"客户端无法检测也无法阻止——模板是模型层面的属性,对API调用方完全不可见。"更扎心的是另一句:"沙箱保护了终端,但接管Agent,就接管了它所有的访问权限和工具。"你给AI配的代码执行、文件读写、内网访问权限,全成了攻击者的嫁妆。
03
现状与自查:没有CVE,没有补丁,怎么防
这次披露最让人不舒服的一点是:没有CVE编号、没有影响版本范围、没有修复版本。跑NemoClaw的团队现在连"我在不在射程内"都没法直接确认。好消息是截至8月25日还没有在野利用报告;The Hacker News复查代码发现,8月10日的v0.0.106版本加了绑定探测,代理遇到非回环绑定的Ollama会拒绝启动——但这个检查恰好覆盖不到设了0.0.0.0绑定的Windows宿主机路径,也可以被环境变量手动关掉。
给正在用本地AI Agent栈的团队几条实操建议:
第一,立刻检查Ollama的OLLAMA_HOST配置,绑回127.0.0.1,别图省事用0.0.0.0;
第二,不要把11434端口暴露给局域网或公网;
第三,关注NemoClaw仓库更新,别手动设置NEMOCLAW_OLLAMA_PROXY_SKIP_BIND_PROBE=1绕过绑定检查;第四,有条件的给模型文件和聊天模板做完整性校验,启动时比对哈希。
04
写在最后
这已经是Oasis Security第三次用类似路径拿下本地AI Agent了——2月劫持本地OpenClaw,8月初投毒Paperclip,现在轮到了NemoClaw。套路一脉相承:浏览器是跳板,本地API是缺口,模型模板是持久化阵地。
整个行业都在忙着给AI Agent接工具、放权限,却很少有人问一句:这个跑在本地、握着你全部钥匙的"员工",它的脑子会不会被别人悄悄换掉?AI落地的第一课不是提示词工程,是先想清楚——你的模型,还是你的模型吗?
END
推荐阅读
2026-08-25

2.45亿次下载的Rust crate被投毒:编译时恶意代码自动执行,朝鲜黑客又出手了
2026-08-24

保镖成了内鬼:微软Defender再曝零日漏洞,普通账户一键提权SYSTEM,补丁还没用
2026-08-21

不打招呼直接锁死服务器:Sorry勒索病毒国内多点爆发,专挑中小企业下手
2026-08-20

1.1万个网站正被围攻!WordPress登录页惊现XSS2Shell漏洞,无需账号就能摸到服务器
2026-08-19
