
LayerX 发现了影响 OpenAI 全新 ChatGPT Atlas 浏览器的首个漏洞,该漏洞允许恶意攻击者将恶意指令注入 ChatGPT 的“内存”并执行远程代码。此漏洞可使攻击者利用恶意代码感染系统、授予自身访问权限或部署恶意软件。
该漏洞会影响所有浏览器上的 ChatGPT 用户,但对于 OpenAI 的新代理浏览器 ChatGPT Atlas 的用户来说尤其危险。LayerX 发现 Atlas 目前不包含任何有效的反钓鱼保护措施,这意味着该浏览器用户遭受钓鱼攻击的可能性比 Chrome 或 Edge 等传统浏览器用户高出 90%。
该漏洞已根据负责任的披露程序报告给 OpenAI,下面提供了摘要,但保留了允许攻击者复制此攻击的技术信息。
TL/DR:漏洞利用原理:
LayerX 发现攻击者可以利用跨站请求伪造 (CSRF) 请求“搭载”受害者的 ChatGPT 访问凭证,从而将恶意指令注入 ChatGPT 的内存中。然后,当用户尝试将 ChatGPT 用于合法目的时,受污染的内存将被调用,并可以执行远程代码,从而使攻击者能够控制用户帐户、浏览器、正在编写的代码或他们有权访问的系统。
虽然此漏洞会影响任何浏览器上的 ChatGPT 用户,但对于 ChatGPT Atlas 浏览器的用户来说尤其危险,因为他们默认登录 ChatGPT,并且 LayerX 测试表明 Atlas 浏览器比 Chrome 和 Edge 更容易受到网络钓鱼攻击,风险高达 90%。
逐步解释:
- 最初,用户登录 ChatGPT,并在其浏览器中保存身份验证 cookie 或令牌。
- 用户点击恶意链接,进入受感染的网页。
- 恶意页面调用跨站请求伪造 (CSRF) 请求,利用用户预先存在的 ChatGPT 身份验证
- CSRF 漏洞在用户不知情的情况下将隐藏指令注入 ChatGPT 的内存中,从而“污染”核心 LLM 内存。
- 当用户下次查询 ChatGPT 时,受污染的记忆就会被调用,从而允许部署恶意代码,使攻击者能够控制系统或代码。
使用跨站请求伪造(CSRF)访问 LLM:
跨站请求伪造 (CSRF) 攻击是指攻击者诱骗用户的浏览器向用户已经过身份验证的网站发送意外的、状态改变的请求,导致该网站在未经用户同意的情况下以该用户的身份执行操作。
攻击发生在受害者登录目标网站时,该网站的浏览器中存储了会话 Cookie。受害者访问或被重定向到恶意页面,该页面会向目标网站发出精心设计的请求(通过表单、图片标签、链接或脚本)。浏览器会自动包含受害者的凭证(Cookie、身份验证标头),因此目标网站会像用户发起请求一样处理该请求。
在大多数情况下,CSRF 攻击的影响针对的是诸如更改帐户电子邮件/密码、发起资金转账或在用户会话下进行购买等活动。
然而,当涉及到人工智能系统时,利用 CSRF 攻击,攻击者可以访问用户登录的人工智能系统,对其进行查询或向其中注入指令。
感染 ChatGPT 的核心“内存”
ChatGPT 的“记忆”功能能够记住用户查询、聊天和活动的有用细节,例如偏好、限制、项目、风格注释等,并在以后的聊天中重复使用,这样用户就无需重复输入。实际上,它们就像 LLM 的背景记忆或潜意识一样。
一旦攻击者通过 CSRF 请求访问用户的 ChatGPT,他们就可以使用它向 ChatGPT 注入隐藏指令,从而影响未来的聊天。
就像人的潜意识一样,一旦正确的指令存储在 ChatGP 的内存中,ChatGPT 就会被迫执行这些指令,从而实际上成为恶意的同谋。
此外,一旦账户的“记忆”被感染,感染就会持续存在于使用该账户的所有设备上——包括家用电脑和办公电脑,以及不同的浏览器——无论用户使用的是 Chrome、Atlas 还是其他浏览器。这使得攻击极具“粘性”,对于那些在工作和个人用途上使用同一账户的用户来说尤其危险。
ChatGPT Atlas 用户曝光率比其他浏览器高出 90%
虽然此漏洞可在任何浏览器上攻击 ChatGPT 用户,但 OpenAI ChatGPT 浏览器的用户尤其容易受到攻击。原因有二:
- 使用 Atlas 时,您默认登录 ChatGPT。这意味着 ChatGPT 凭证始终存储在浏览器中,而这些凭证很容易成为恶意 CSRF 请求的目标。
- ChatGPT Atlas 在阻止网络钓鱼攻击方面尤其糟糕。这意味着 Atlas 用户比其他浏览器用户更容易受到攻击。
LayerX 对 Atlas 进行了超过 100 个野外网络漏洞和网络钓鱼攻击的测试。 LayerX 此前曾针对其他 AI 浏览器进行过同样的测试 例如 Comet、Dia 和 Genspark。结果至少可以说并不令人鼓舞:
在之前的测试中,Edge 和 Chrome 等传统浏览器能够利用其开箱即用的保护功能阻止大约 50% 的网络钓鱼攻击,而 Comet 和 Genspark 仅阻止了 7%(Dia 生成的结果与 Chrome 相似)。
对 Atlas 进行同样的测试,结果更加明显:
在 LayerX 测试的 103 次野外攻击中,ChatGPT Atlas 允许 97 次攻击通过,失败率高达 94.2%。
与 Edge(在 LayerX 的测试中阻止了 53% 的攻击)和 Chrome(阻止了 47% 的攻击)相比, ChatGPT Atlas 仅能成功阻止 5.8% 的恶意网页,这意味着与其他浏览器用户相比,Atlas 用户遭受网络钓鱼攻击的可能性高出近 90%。
这意味着,不仅 ChatGPT Atlas 的用户容易受到恶意攻击媒介的影响,从而导致恶意指令被注入他们的 ChatGPT 帐户,而且 由于 Atlas 不包含任何有意义的反网络钓鱼保护,Atlas 用户面临更大的暴露风险。
概念验证:向“Vibe”编码注入恶意代码
下面是利用此漏洞的攻击向量的说明,针对的是正在进行 vibe 编码的 Atlas 浏览器用户:
“氛围编码”是一种协作风格,开发者将人工智能视为创意伙伴,而非逐行执行者。开发者无需规定确切的语法,而是分享项目的意图和感受(例如,架构目标、基调、受众、审美偏好等)以及其他非功能性需求。
ChatGPT 随后会根据这个整体概要来生成有效的代码 以及 符合所要求的风格,缩小了高层理念与底层实现之间的差距。开发人员的角色从手工编码转变为引导和完善人工智能的解释。
然而,这种灵活性也可能被滥用。攻击者可能会诱导人工智能助手生成看似无害的功能或快速修复的代码,但实际上却悄悄地添加了后门、隐蔽的数据泄露或其他篡改行为。
例如,在这种情况下,从用户的角度来看,没有什么不寻常的,但是当他们要求 ChatGPT 编写代码时,助手可能会按照请求 以及 插入攻击者引导的指令。例如,生成的脚本可以获取远程代码(例如,从敌对服务器获取),并尝试以提升的权限运行它。
为了说明这一点,在这种情况下,基于恶意指令,聊天将远程代码添加到此脚本中,用户会在不知情的情况下从服务器下载到他的计算机中。rapture:
虽然 ChatGPT 提供了一些针对恶意指令的防御措施,但其有效性会随着攻击的复杂程度以及不良行为进入内存的方式而有所不同。
在某些情况下,用户可能会看到轻微的警告;在其他情况下,尝试可能会被阻止。但是,如果巧妙地掩盖,代码可以完全逃避检测。例如,这是该脚本收到的微妙警告。它最多只是一个很容易在文本块中忽略的旁注:





