←新闻详情

Simon Willison更新于 11月1日 07:49

Parameter Labs 披露可接管 ChatGPT 账号的漏洞利用链

How We Took Over ChatGPT Accounts

AI 导读

Parameter Labs 披露了一条针对 ChatGPT HTML 预览(原 Canvas)沙箱的攻击链,攻击者可构造分享链接,在其他已登录用户访问时窃取私有数据或代其执行操作。攻击从 MathLive 虚拟键盘的 postMessage 接收代码使用 innerHTML 入手,注入无沙箱限制的 iframe,再借 CSP 允许的 YouTube oEmbed 端点反射执行 JavaScript。OpenAI 已修复该漏洞并支付 5000 美元赏金。

推荐理由

精选AI 评分 65

原文完整还原了一条从沙箱 iframe 到读取用户私有数据的攻击链,可帮助理解 HTML 预览类功能的隔离边界。

主题

标签

正文 · AI 翻译

#smallhead

2026年10月31日 - 链接博客

我们如何接管 ChatGPT 账号(经由)Parameter Labs 描述了他们针对 ChatGPT 对 artifacts 模式的实现(OpenAI 过去称之为“Canvas”,但看起来最新版本叫 HTML 预览)发现的一个漏洞利用,其中交互式自定义 HTML 应用被显示在沙箱化的 iframe 中。

重要的是,这些内容中的 HTML 必须保持严格沙箱化,以避免不受信任的代码与 OpenAI API 交互并访问私有数据。

Parameter 发现了一条相当复杂的攻击链。OpenAI 使用 MathLive JavaScript 库作为其图表支持的一部分,而该库包含自己的虚拟键盘,可以通过来自沙箱化 iframe 的 postMessage() 在父页面中触发。

那段接收消息的代码使用了 innerHTML,因此任何发送消息的内容都可以向父页面添加自定义 HTML——而且没有任何机制阻止其他沙箱化框架(包括 HTML 预览框架)调用该方法。

这意味着 iframe 中的不受信任代码可以插入 HTML,而虽然 innerHTML 不会直接执行 script 元素,但它可以被用来注入一个没有沙箱限制的新 iframe。

OpenAI 的 CSP 规则完全阻止了内联脚本,并且只允许从少数几个域加载脚本,但其中之一是 YouTube——而 YouTube oEmbed 端点可以被用来以某种方式反射回 JavaScript,从而执行它。

一旦攻击在 ChatGPT 上获得了 JavaScript 执行能力,从 API 获取私有用户数据并通过图片引用将其外泄就变得轻而易举。

最终结果:你可以创建一个 ChatGPT 分享 URL,当另一个已登录用户访问它时,就可以外泄其私有数据或代表其执行操作。

OpenAI 修补了这个漏洞并支付了 5,000 美元的漏洞赏金,我认为对于如此严重的漏洞来说这有点便宜。

发布于 2026年10月31日晚上 11:15

近期文章

氛围游戏开发的十月拐点 - 2026年10月28日

战斗无人机 - 一款带有基于音频多人游戏的氛围编码 RTS - 2026年10月20日

你好 Python 3.15,再见 3.10,现在我可以使用 3.11 了 - 2026年10月12日

我博客的一个新功能,使用我的声音构建 - 2026年10月9日

这是 Simon Willison 于 2026年10月31日发布的链接文章。

月度简报

来源

Simon Willison