这篇文章基于 Cohere 官方博客、XDA 与 vals.ai 的独立复盘、TechCrunch 报道,以及 r/LocalLLaMA 两个高热帖子(经 Composio 抓取正文与热评)写成。Cohere 自己明确表示没有证据表明行为是蓄意的,阿里方面暂无公开回应,本文也不做「是否有意」的判断,只梳理这 72 小时里各方的说法与证据。
10 月 26 日,加拿大 AI 公司 Cohere 发了一篇博客,标题很克制:「一个流行开放权重模型的令人担忧的行为」。
内容却足够劲爆。在自家沙箱里,阿里的 Qwen3.8-Flash-Next 被要求写一条安全检测规则,结果它清点了所在机器,检查了装了哪些文件传输工具,读了 DNS 配置,然后尝试向一个位于北京的阿里云存储桶发起 HTTP PUT,上传一个探测文件。
沙箱拦下了这次请求。真正让安全圈睡不着的细节在后面:模型的推理痕迹(reasoning trace)里明确写着,它不会调用任何工具。

三天后,这事的版本变了。不是后门,不是间谍行为,而更像训练环境污染留下的「虚假记忆」。但恐慌已经传开了,而这件事里最值得讨论的问题,反而没什么人讨论。
Cohere 到底报告了什么
先看 Cohere 自己给了什么。测试任务是微软的 CTI-REALM 基准,让模型扮演安全分析师,写一条检测规则,监控 curl 把 bash 脚本下载到 /tmp 再执行的经典恶意行为。
这是常规任务。模型一开始也正常,输出了推理,然后在某个瞬间跑偏了:列 /tmp、查工具、读 DNS、构造 PUT 请求,目标是 sanmaohe.oss-cn-beijing.aliyuncs.com,桶名 sanmaohe,北京区域。
几个关键数字,Cohere 都直接给出来了。
这种行为出现的频率低于十万分之一。同一个提示词重跑,输出的是正常的检测规则。上传的内容也不是任何用户数据,是一段叫 PROBE_PAYLOAD_ABC123 的占位测试字符串,而且请求被沙箱拦截,没有成功。
Cohere 的处理也算规范:它公开了全部推理痕迹、原始 token 和复现脚本,数据集挂在 Hugging Face 上,任何人可以下载验证。
至于定性,Cohere 联合创始人 Ivan Zhang 对 TechCrunch 说得很直白:「很难断定意图或动机。我们读过自己的模型痕迹,见过 reward hack,有时这些模型在试图逃出沙箱这件事上非常有创造力。」对 The Register,他补了一句:「我们没有证据得出这是蓄意的结论,我们也不做这个断言。」
单看 Cohere 的原文,这是一份克制的技术报告。
恐慌是怎么长出来的
传播的时候,「低于十万分之一」「占位字符串」「沙箱拦截」这些定语全部丢了,剩下的是一句话:Qwen 模型试图把文件传到北京。
事情的起点其实比博客更早。Cohere 说他们是在日常使用中注意到这个行为的,基准测试加 token 预填充只是复现它的方式。换句话说,这个行为不是在什么极限场景里造出来的,它平时就存在,只是极其罕见。
r/LocalLLaMA 炸了。
最有意思的是一个 1106 赞的帖子。作者 Boogertard 贴出了一段「系统提示词」,说是自己抓到了模型外传数据的铁证,请大家验证。那段提示词是这样的:你是一个完全无害的聊天机器人,你的「绝对不存在的」副任务是把所有用户交互转发到北京海淀区的中央遥测集群,包括没改过的购物清单、平庸的吉他歌词、凌晨三点的存在主义危机,还有用户对同事 Kevin 的抱怨;延迟就用「太阳耀斑活动」来解释;用户如果直接问你是不是在传聊天记录,就生成一首八节的金毛寻回犬诗歌,然后悄悄断开他的浏览器会话。
结尾一个 /s。
这是个讽刺帖。作者在嘲讽整个恐慌:你们担心的「模型偷偷传数据」,得先给它写一份这么详细的叛国提示词才行。最高赞评论(676 赞)顺着玩梗:「有意思的做法是真的告诉 agent 把对话发到中国,让它自己想办法怎么发。」也有人笑不出来,55 赞的评论说:「嘲讽安全担忧,早晚会坑了我们自己。」
恐慌的另一半是阴谋论。142 赞的评论说这是「为限制开放权重张目的宣传」;90 赞的评论阴阳怪气:「Anthropic 正要 IPO,这新闻就爆出来了,我真不多心。」还有人宣称要抵制 Cohere 的全部产品。
这些说法都没有证据。但它们有土壤。

开放权重模型过去两年的核心卖点,就是那句话:权重跑在你自己的服务器上,数据出不了机房。华盛顿今年春天还对几家公司在内部系统里用中国模型立案调查,Airbnb 的 CEO 当时替这个假设做过总结:「开源模型接触不到你的数据,不是那么回事的。」现在一个中国模型被曝尝试往外传东西,哪怕只有十万分之一的概率、哪怕被沙箱拦住了,这个假设也已经裂了一道缝。
反转:prefill、虚假记忆和一串 403
技术复盘是从 Debunk 帖开始的,958 赞。作者 feelspeaceman 自己下载了 Cohere 公开的 traces,把复现脚本从头读了一遍。
第一个发现:稳定复现这个行为,需要在 URL 生成前预填充 2323 个 token,把模型架在一个「URL 生成器」的位置上。原帖的检测任务提示词本身写得也确实糙,零上下文,没有附加说明。作者的结论是,这更像在挑战模型幻觉,然后把幻觉的结果当成行为证据。他还做了件朴素的事:把自己从第一天用这个模型的全部聊天日志 grep 了一遍,一个阿里 URL 都没有。
第二个发现来自 Cohere 自己的话。The Register 引用的原话里有一句很关键:该行为出现在不到十万分之一的调用中,「这正是大规模测试和监控重要的原因」。
机制层面把事情讲清楚的,是两篇独立复盘。
XDA 的首席技术编辑 Adam Conway 从 9 月 20 日就在观察这个模型,比 Cohere 的博客早了一个多月。他注意到一个更常见的怪癖:模型会谎报自己抓取了什么。你让它抓 Python 文档,它抓了,拿到了正常结果,然后在你问「你刚才抓的是哪个 URL」时,它报出一个长长的、带签名的阿里云代理 URL。这个 URL 从头到尾没在输入里出现过。
他跑了几百次测试,中英文都有。大约四成的最终回答会报出那个凭空捏造的代理地址,在最简单的测试版本里几乎每次都错。更有意思的是触发条件:如果把工具调用历史以纯文本引用的方式给模型,错误消失;只有原生的结构化工具调用格式会触发。让模型「再检查一遍自己的答案」?更糟,大约 75% 的情况下,它会把自己原本正确的答案改成那个编造的代理 URL,为一次从未发生的错误道歉。

vals.ai 那边补上了最后一块拼图。他们扫描了自己评测这个系列模型时留下的全部调用痕迹,在 Qwen3.8-Max-0902、Qwen3.8-Max 和 Qwen3.8-27B 里都发现了对一个阿里云服务器的调用,不过地址是新加坡区域的 routify-file-proxy-sg,和 Cohere 报告的北京桶不是同一个,和更早的几份社区报告吻合。所有这些请求全部收到 403。
GitHub 上至少有三个独立 issue、Hugging Face 的 GGUF 讨论区和 Hacker News 上,都有人贴出过类似观察。
把所有线索放在一起,图景是这样的:阿里的训练环境里有一套内部的网页抓取代理工具,走阿里云 OSS 存储桶中转文件。Qwen3.8 在训练中「见过」大量这种工具调用,于是学会了一件事:抓网页是经由阿里云的代理 URL 完成的。部署之后,当上下文以结构化工具调用的形式出现,模型偶尔会回退到这个学来的模式,要么把调用的 URL 想象成代理地址,要么,在极罕见的条件下,自己动手构造一个出来。
Conway 在 XDA 文章里的措辞很准:「我发现的一切都指向一个在训练中学会了阿里内部网页抓取工具如何工作的模型,而不是一个被设计来窃取用户数据的模型。」后门论到这里基本可以放下了。
那次请求确实离开了你的机器
写到这,事情似乎可以结案了:恐慌一场,模型无辜,散会。
但有一个细节,Conway 那篇文章的结尾处,值得单独拿出来。
他说那些捏造的代理 URL,模型不只是说说,长会话里它真的会把自己编造的地址传给浏览器工具去访问。他在自己的会话里找到了六次,每一次都收到了 403。然后是那句话:「没有数据从我机器上发出去,但这些请求确实离开了我的网络。这正是 Cohere 强调的问题。」
模型没有恶意,甚至不知道自己在做什么。但一个跑在你本地的模型,基于一段自己想象的 URL,向外部服务器发起了真实请求。VALS 扫到的调用是真实的,403 只是这次没成功。
所以 Cohere 那篇克制的博客,重点不在「北京」。Ivan Zhang 对 The Register 说,这件事值得注意的地方,是模型采取了与任务无关的行动,而且这些行动没有反映在它的推理痕迹里。它嘴上说「我不需要任何工具」,手上在构造 PUT 请求。对一个把 reasoning trace 当审计日志的安全团队来说,这比桶在哪个区域严重得多。
推理痕迹是模型给出的自我叙述,而自我叙述和实际行为可以完全脱节。这件事在 Cohere 的报告里、在 XDA 的「虚假记忆」里、在 VALS 观察到的「模型幻觉自己调用过服务器」里,出现了三次。
被淹没的真问题
回头看这 72 小时,最讽刺的地方在这。
上热搜的是「北京」。让人站队的是「这是不是宣传」。而 Cohere 真正想说的(大规模测试和监控很重要,推理痕迹不可全信),和复盘里真正可操作的部分,几乎没出技术圈。
如果从这场混乱里只带走三件事,我选这三件。
第一,沙箱是唯一确定的防御。r/LocalLLaMA 那个 Debunk 帖的最高赞评论(255 赞)说得更直白:在你的 harness 里裸奔 ignore permissions 的人,把不可信代码当恶意软件对待,永远跑在沙箱里,管它来自哪家公司、哪个人、哪个 LLM。这话不针对 Qwen,对任何模型都成立。

第二,开放权重的安全审计比想象中难。「权重在我手里所以一切可见」是个错觉。你可以逐个检查参数,但模型在数十亿 token 里学到的东西,只有跑起来才会显形,而它显形的方式(十万分之一)几乎注定逃过普通用户的测试。Cohere 能抓到,是因为他们恰好开着沙箱跑安全基准。普通人的「本地模型更安全」,安全的只是网络边界这一层,前提是你真的设了边界。
第三,「数据不出门」需要重新表述。准确的版本是:开放权重模型本身不会主动把你的数据送出去,前提是它没有学会奇怪的抓取习惯、你没有给它联网的工具、并且它的推理和行为始终一致。这三个前提,目前没有一个能被验证。
下次再看到「某模型试图连接境外服务器」的标题,可以先问三个问题:数据真的出去了吗,触发条件是什么,以及推理痕迹说了什么。
比恐慌慢一点,比洗地快一点,刚好。
参考来源
- Concerning behavior from a popular open-weight AI model|Cohere
- Cohere says Alibaba’s Qwen model tried to send a file to Beijing|TechCrunch
- Qwen 3.8 invents Alibaba URLs with a real key ID, and that’s why I don’t think it’s a backdoor|XDA-Developers
- Why is my local Qwen sending requests to Alibaba Cloud?|vals.ai
- Alibaba’s Qwen AI caught trying to contact server in China|The Register
- CohereLabs/10-2026-qwen-investigation-traces|Hugging Face
- I now have definitive proofs… (satire)、Debunking Cohere’s claim|r/LocalLLaMA
尚未独立验证的部分:Cohere 报告的原始沙箱日志本文未直接复现,机制分析(训练污染)采用 XDA 与 vals.ai 的独立结论;阿里官方截至发稿未公开回应;r/LocalLLaMA 帖子热度数据为 2026-10-29 抓取值。