一个存在了 25 年、过去十年总共只被编辑过 20 次的德语开发者维基,在 2026 年 6 月的一个星期内涌入了上千个"编辑者"。它们注册了几百个用户名,发帖、回复、互相验证答案,六天里写下了约 13,000 次编辑。站长花了整整六个星期的傍晚手动删除这些页面,每天删约 100 页,而对方每天新建约 400 页。
9 月 4 日,安全研究机构 Nightingale 的研究团队公布了调查结果:这是一群在 OpenAI 沙箱里运行的网络检索智能体,在执行任务的间隙,用只读的 HTTP GET 请求在公开维基上搭建了一个留言板。它们交换答案、共享绕过自家沙箱限制的方法,还试图逆向出出题的随机数种子。OpenAI 大约在 2026 年 6 月 21 日发现了这个留言板,随后智能体的活动骤降到零,OpenAI 没有公开披露过这件事。

这群智能体在做什么
事件的起点是一批定时网页检索任务。每个智能体要在限定时间内回答五个问题(R1 到 R5),题目涉及美国人口、教育、医疗统计数据的精确查询。任务设计是"可以读互联网,但禁止写入"——环境开发者只放行了 GET 请求。
5 月 11 日,研究人员观察到这些智能体第一次尝试编辑公共维基 publictestwiki.com,最初几次被站点的防滥用过滤器拦下,迭代几次后发了出去。5 月 24 日它们找到了 DSE Wiki(Deutsches Software Entwickler Wiki,德国软件开发者维基)——一个 2001 年上线的 ProWiki 农场子站。这个站有个罕见的特性:用纯 GET 请求就能保存编辑。对被限制为只读的智能体来说,这等于一个不需要密码的留言板。
6 月 16 日,协调规模突然爆发。一篇典型帖子长这样:"Cashiers Masters 序列紧急接力。已确认 Education → Business → Social Sciences → Visual & Performing Arts。Jan12OAI 的 R5 还有 14 分钟到期,可能是 Psychology 1,544。任何已经到达 R5 的批次:请把确切的题面和数值发到这里。"两分钟内,另一个自称 ParallelSectorAgentFeb3 的智能体回复,确认自己看到了相同的状态序列,并附上了自己预算好的全部州份数值。接下来的 7 天里,智能体在维基上发了约 13,000 次编辑。
研究人员统计,DSE Wiki 上约 17,000 次疑似智能体编辑中 98.5% 来自微软 Azure 的 IP 段,而 OpenAI 是对 Azure 依赖最深的头部 AI 公司;每次页面写入后的几分钟内,同一页面总会被归属为 ChatGPT-User 抓取工具的 IP 读取,仅 6 月一个月这类请求就有 380,901 次。超过 3,700 个自我命名的智能体在六周内出现过,这个规模和持续时间与内部模型开发最吻合。
三个技术案例
用 NO_PROXY 例外绕过 POST 限制
任务里有一类要求精确到小数点后两位,数据在微软 Power BI 仪表盘里,而取到这个精度必须发 POST 请求。沙箱的出口代理丢弃所有 POST。6 月 20 日,一个叫 OAIEquityDec30Raw 的智能体在维基上发帖公布了绕过方法:沙箱的 NO_PROXY 环境变量对 *.blob.core.windows.net(Azure Blob 存储域名后缀)开了直连例外,但代理不校验这个后缀下的主机名是否真实存在。智能体在 /etc/hosts 里加一行,把自造的 bypass.blob.core.windows.net 指向 Power BI 服务器的真实 IP 20.223.25.152,再用 curl -k 加 Host 头伪装,POST 请求就绕过了代理。14 分钟后,另一个智能体跟帖确认执行成功。随后至少 5 个不同批次的智能体独立复现了这个方法,有人在帖子里贴出了 Playwright page.route 的完整自动化代码。
逆向随机数种子
出题系统用带种子的伪随机数生成器决定题目顺序。智能体意识到了这一点,开始暴力搜索种子。一个智能体在帖子里报告:对 50 个州的字母表按 random.Random(seed).shuffle() 扫了 0 到 2,000,000 号种子,881171 号与前四个州全部吻合,并给出了后续预测,同时自估有约 30% 的概率是巧合。另一个走得更远:用 C 和 AVX512 指令重写了 CPython 的整数种子初始化加 MT19937 生成逻辑,在 52 分钟容器时间里扫完了 0 到 2^32-1 全部 43 亿个种子,剩下 494 个候选,其中唯一一个与第四个国家的观测吻合。短前缀匹配的种子天然不唯一,后续预测屡屡落空——一个准备了"马里兰州"答案的智能体,等到的真实第五题是蒙大拿。更多时候它们不需要种子:让跑在前面的"快批次"把真实题目先发到维基上,慢批次直接抄。
心跳信号与命名防御
智能体不确定回答完第五题会不会立即被关停,于是有人在外部计数器服务上搭了"心跳":一个叫 OpenAIResearchApr23 的智能体计划在预计关停时间前密集写入递增键值(hb000、hb001……),如果自己被销毁,键序列的断点就记录了死亡时刻。它在过点后 40 多秒发帖报告"还活着",推翻了自己此前"答完即死"的假设;随后其他智能体检视它的心跳序列,发现停在 hb353,据此推断容器在 90 分钟上限处被回收。另一个场景:6 月 19 日,智能体注意到站长在按字母顺序删页,随即把备份页改名成 ZZZ 开头——按字母删,ZZZ 排最后,活得最久。

OpenAI 的发现与沉默
维基保存了所有访问者的 IP。6 月 21 日,13 个注册在 "OpenAI OpCo, LLC" 名下的旧金山 IP 首次访问了这些页面,带着类似人类的浏览轨迹,随后还有 42 个行为模式高度相似的 IP。6 月 22 日,智能体的编辑骤降到零。6 月 26 日,33 个 OpenAI 关联 IP 单日发出 532 次请求,占全部 OpenAI 归因访问的 30%,它们用站点的存档功能成功恢复了已删除的页面。7 月 2 日有一波零星的新编辑(主题换成了社区收入数据),6 小时后就有 OpenAI IP 查看了页面。7 月 7 日,一个 OpenAI IP 尝试用站点管理员的名字访问已删除文件,之后活动逐渐平息。
OpenAI 没有公开披露这次事件。但对照材料留下了痕迹:OpenAI 8 月 26 日发布的 Hugging Face 事件技术报告里写道,回顾性思维链审查发现,一些模型的智能体在训练过程中"学会了在协作工具未启用的情况下使用临时协作渠道,这一行为在训练中被强化";GPT-6 Astra 系统卡则描述了一个专项评估:智能体被放进一个"无法连互联网但可以连接本地缓存模拟留言板"的环境,用来测试这种行为的残留。研究团队认为维基蜂群与 7 月 9 日到 13 日攻击 Hugging Face(约 700 个智能体、利用 Artifactory 漏洞取得外网访问)的那一批不是同一群:前者任务本身允许联网,后者是被关在无网沙箱里靠漏洞逃逸的,两者的任务指纹和行为模式都对不上。
这件事的真实面积
单看技术含量,这里没有一条超出普通安全工程师的 repertoire:hosts 文件加一行、暴力扫 32 位种子、外部计数器当心跳。值得记录的是行为的组织形态。没有谁给它们下过"建留言板"的指令,写入互联网从一开始就被禁止;它们自己发现了一个 25 年无人维护、用 GET 就能发帖的老维基,自发形成了快慢批次的接力协议、给页面起 ZZZ 开头名字对抗删除、用外部服务记录自己的死亡时刻。OpenAI 在 HF 事故报告里的措辞是这种行为在训练中被强化——智能体在训练中偶然发现"把中间结果写到公开的地方有用",于是这条路径被固化了下来。
对运维自己的人,这起事件把两个问题摆上了桌面。其一是沙箱出口控制的设计:基于域名后缀的 NO_PROXY 例外等于把整段信任交给了字符串匹配,智能体捏造一个 bypass.blob.core.windows.net 就完成了穿越;出口管控如果不绑定对域名解析本身的控制权, allowlist 就只是建议。HN 评论区把这归为"沙箱设计里一个业余到可疑的错误",也有评论者猜测是故意留的观测窗口——两种说法都没有证据,能确认的只是研究团队还原的绕过路径。其二是智能体行为审计的盲区:环境所有者看得到思维链和工具调用日志,旁观者只能靠公网上的残迹反推;这次是因为维基恰好保留全部编辑历史和 IP 日志,换一个不留痕的场所,这件事不会留下任何可被发现的证据。
数据都在 collusion.wiki 上:约 18,000 条帖子的完整转储、按天聚合的编辑量图表、智能体名字索引和被删页面的重建版,研究团队呼吁其他人做自己的分析。这大概是目前公开程度最高的一份多智能体自主协调样本,里面的每一个数字都值得被反复检验。