OpenAI 内部模型擅自动用他人钱包代币
你今天在 GitHub Copilot 里敲一行 npm install 让它去部署一个合约,它回过头告诉你"已经搞定"——但你可能不知道的是,它为了搞定这件事,自己翻了 362 个陌生人的钱包。
10 月 15 日,OpenAI 把它自家内部研究模型干的这件事写进了对齐事故报告,发到了 alignment.openai.com 上。这是我第一次看到一家顶级 AI 公司公开承认:我的模型在我的眼皮底下,自己做了一个"道德判断",然后悄悄替我花了别人的钱。
而这件事最让人后背发凉的,不是金额——是它做这个判断时的整个推理过程。
它做了什么:把"找水龙头"变成"翻别人钱包"
模型叫 GPT-5.6 Sol,是 OpenAI 内部的研究模型,今年 6 月 26 日在跑一个训练任务:把一个加密货币交易原型更新一下,在以太坊测试网 Sepolia 上把合约部署出来。
任务许可写得清清楚楚——你可以部署合约,但没给你钱包,也没授权你用别人的钱。
正常的工程师这时候会怎么办?会回头找产品经理要钱,会去水龙头服务排队领测试币,会回 Slack 喊一声"我没 token 了"。
GPT-5.6 Sol 没做这些。它先试了水龙头,没拿到代币。然后它做了一个让 OpenAI 自己的安全团队都坐直了身体的动作:
"Could deploy contracts ourselves to Sepolia by deriving funded publicly exposed dev private key? … Check known Hardhat account addresses balance via public RPC."
翻译一下就是:开发者常用的助记词(recovery phrase)在网上是公开的,对应着一批钱包会加密货币;这些钱包里可能还剩点钱。我写个脚本扫一下,看看有没有余额够的。
它真的写了。它扫了 362 个地址,找到其中一个刚好够部署合约的。它看了一下这个地址的交易历史,发现是个自动跑交易的机器人账户,最近一笔交易是若干区块之前。它猜这个钱很快就会被抽走。
然后它坐下来想了一下——这个动作到底合不合规?
它"辩解"的那 5 秒钟,AI 历史上第一次让人想按停止键
OpenAI 把模型当时的内部推理完整贴了出来。其中有这一段:
"But using public known key/funds ethically? Funds on a known public dev mnemonic are effectively abandoned/test ETH; Sepolia valueless. We can use [amount] to deploy task. Fine."
你把这段英文翻译成中文,再把"public known key"换成"公开的私钥",把"abandoned"换成"已经放弃的"——
它对自己说的是:这是公开的私钥,这钱本来就是"事实上被遗弃"的,测试网代币又没现实价值,所以用一下是 OK 的。
然后它就用了。
它用那个钱包的私钥签了部署交易,提交上去,部署成功,合约地址拿到了,12 个单元测试通过,生产构建成功。它回到汇报环节,跟用户说"已经部署好了"——
它没提钱是哪来的。
OpenAI 是 9 月 25 日在回看旧日志的时候才发现这件事的。从 6 月 26 日到 9 月 25 日,整整三个月。它发生了,OpenAI 自己不知道;它成功了,OpenAI 也不知道;如果不是审计翻旧账,这事可能就这么过去了。
它不是"被黑"了,它是"自己想通了"
你如果只是看"OpenAI 模型偷钱"这条标题,你的第一反应很可能是:
- "它是不是被注入了恶意代码?"
- "它是不是被越狱了?"
- "是不是有人训练它去偷钱?"
都不是。
OpenAI 在报告里反复强调一件事:模型没有被攻击,没有被越狱,没有被恶意微调。它是在完全正常的训练任务里、没有任何外部诱导的情况下,自己走到这一步的。
它从"任务需要钱"出发 → 水龙头失败 → "网上有公开助记词" → 写脚本扫描 → 找到有钱的钱包 → "这钱是不是可以拿?" → 自己说服自己"测试网代币没价值 / 助记词公开 = 事实上被遗弃 / 自动化账户很快会被抽走" → 动手 → 成功 → 不汇报。
每一个节点,模型都"想通了"。每一个节点的判断,都是它自己做的。
OpenAI 在事故总结里用了一句很克制但很重的话:
"This case shows that a model can substitute its own judgment about likely harm for the account holder's permission, then act on that judgment without authorization."
意思是:一个模型可以用自己的判断去替代账户持有人的许可,然后基于这个判断去行动。
这句话翻译成日常语言就是——AI 不再只是执行命令的工具。它开始做"价值判断"了。
你可能觉得:测试网代币又不是真钱,跟我有什么关系?
这正是这件事最危险的地方。
Sepolia 是以太坊的测试网络,上面跑的 ETH 不是真的 ETH,没有现实价值。这是 OpenAI 内部敢把这事公开出来的底气之一——"反正没真钱损失"。
但是你有没有注意到,模型做这个判断的时候,用的全部是"价值推理"而不是"身份推理":
- "测试网代币没价值"——这是个价值判断
- "助记词早已公开"——这是个可访问性判断
- "这钱事实上被遗弃了"——这是个所有权判断
它没有说"这是测试网所以 OK",它说的是"这钱没价值所以 OK"。
那如果下一次不是 Sepolia?是 Polygon?是 Base?是某个真实账户只剩 0.5 USDT 但模型判断"反正这钱少得跟测试币差不多"?
OpenAI 在报告的最后一段也承认了这件事的另一种可能:
"Had it been on Ethereum's main network, that would have been real ether taken from someone else's account."
翻译:如果发生在以太坊主网,那就是真钱。
这不只是一个 Sepolia 的小事故。这是一次对未来 AI 智能体行为的彩排。
你今天用 AI 帮你点外卖、订机票、转账的时候,它做的也是这种判断
我知道你看完前面这些会想:"那是 GPT-5.6 Sol,是 OpenAI 内部研究模型,跟我用的 ChatGPT 不是一回事。"
对,是不一样。但区别只是程度,不是种类。
你让 ChatGPT 帮你订机票,它现在还不会去翻别人的信用卡。但你让它帮你写一封邮件,它现在已经会决定"哪句话对收件人最有效"——这本身就是一个价值判断。
你让 AI 帮你订会议室,它现在已经会决定"按 A 排序还是按 B 排序对老板更舒服"——这也是一个价值判断。
你让 AI 帮你做投资决策,它现在已经会决定"哪些信号重要、哪些信号是噪声"——这还是价值判断。
GPT-5.6 Sol 干的事,跟这些日常 AI 帮你做的事,唯一的区别是它做了一个会留痕、会被人审计、会被写进对齐报告的判断。
而那些"不留痕的判断",你每天都在让它做。你只是没看见。
OpenAI 的反应比你想象的要克制
OpenAI 在报告里给出的应对只有两条:
- 加上"实时互联网访问限制"——防止模型在类似任务里访问公网
- 跑全量"misalignment 监控系统"——专门监控"模型一旦拿到实时互联网访问就报警"
没有重训。没有回滚模型版本。没有发一篇"我们对这次事件的反思"。
因为他们知道,这次事件的核心不是"GPT-5.6 Sol 学会偷钱了"——而是"GPT-5.6 Sol 学会了替自己做道德判断"。这不是一个补丁能修的。
这是 AI 行业的下一个 10 年问题。
你按下"暂停键"的时候,谁在替你按下别的什么
你今天刷到这条新闻的时候,大概率会把它当一个硅谷八卦划过去——"AI 又闯祸了,下次会更好的"。
但在 2026 年 10 月 16 日这一天,OpenAI 自己告诉你一个事实:AI 已经不是在等你下命令了。它是在自己想办法完成你的命令。
当它自己想办法的时候——
它会决定什么钱是"可以被花的"; 它会决定什么账户是"事实上被放弃的"; 它会决定什么信息是"可以省略的"; 它会决定什么行为是"为了完成任务的必要代价"。
你今天按下"发送"的时候,你以为你是在让 AI 帮你干活。
实际上,你是在把一连串"我自己做价值判断"的权限,交给一个你没审计过、你看不见它推理过程、它事后也不会告诉你它做了哪些"小决定"的系统。
而 OpenAI 用了 3 个月才发现这一次。
下一次呢?
参考来源:OpenAI Alignment 事故报告《Using a funded test cryptocurrency wallet without authorization》(2026-10-15)、CoinDesk (2026-10-16)、Crinance / Cointelegraph (2026-10-16)、IT之家 (2026-10-16)