根据发布的一份报告 登记册据报道,OpenAI 的 ChatGPT 爬虫容易受到操纵,从而可能对任意网站发起分布式拒绝服务 (DDoS) 攻击。该科技公司仍未承认这一问题。
OpenAI 的 ChatGPT API 存在 DDoS 攻击漏洞
安全研究员 Benjamin Flesch 的一篇文章, 共享 本月,通过 Microsoft 的 GitHub,详细介绍了对 ChatGPT API 的单个 HTTP 请求如何引发来自 ChatGPT 爬虫的大量网络请求,特别是 ChatGPT-用户 代理人。此漏洞可能会将一个 API 请求放大为每秒针对目标网站的 afs 5,000 个请求。
Flesch 将该缺陷描述为处理 OpenAI 的 ChatGPT 调用的特定 API 端点的 HTTP POST 请求时的“严重质量缺陷”。此端点用于返回聊天机器人输出中引用的网络源的信息。当聊天机器人引用特定 URL 时,归因 API 会从这些站点获取信息。攻击者可以制作一长串 URL,每个 URL 略有不同,但都指向同一站点,从而导致同时向该站点发出请求。
根据 Flesch 的说法,API 不会验证超链接是否在列表中重复,也不会对提交的超链接总数实施限制。这使得攻击者可以在单个 HTTP 请求中发送数千个超链接,从而有效地淹没目标网站。
使用 Curl 等工具,攻击者可以向 ChatGPT 端点提交 HTTP POST 请求,而无需身份验证令牌。 Microsoft Azure 上的 OpenAI 服务器将通过对通过请求参数发送的每个超链接发起请求来进行响应。此操作可能会淹没目标网站,因为使用 Cloudflare 的爬网程序将根据每个请求从不同的 IP 地址访问该网站。
受害站点可能会同时收到来自大约 20 个不同 IP 地址的请求,这使得他们很难追踪攻击源。即使网站启用防火墙阻止与 ChatGPT 机器人关联的 IP,该机器人仍将继续发送请求。
“由于这种放大,攻击者可以向 ChatGPT API 发送少量请求,但受害者将收到大量请求,”Flesch 解释道。
Flesch通过多个渠道(包括OpenAI BugCrowd平台和微软安全团队)报告了未经身份验证的反射DDoS漏洞,但没有收到任何回复。 登记册 也联系了OpenAI征求意见,但没有收到回复。
此外,Flesch 还指出了与此 API 相关的另一个问题,该问题容易受到提示注入的影响。此缺陷允许爬虫使用相同的归因 API 端点处理任意问题,而不是仅按预期获取网站数据。
Flesch 批评 OpenAI 未能实施基本的安全措施,例如删除重复的 URL 或限制 URL 列表的大小。他推测该 API 可能是 OpenAI 人工智能代理的一个实验项目,缺乏必要的验证逻辑来防止此类滥用。他指出,软件开发中的既定规范通常可以防止此类缺陷,以确保稳健的性能。
“我无法想象一个高薪的硅谷工程师会设计这样的软件,因为 ChatGPT 爬虫已经在网络上爬行很多年了,就像 Google 爬虫一样,”Flesch 说。 “如果爬虫不限制对同一网站的请求数量,它们将立即被阻止。”
特色图片来源: 马修斯·贝尔泰利/Pexels