英语轻松读发新版了,欢迎下载、更新

ChatGPT 爬虫漏洞打开 DDoS 之门,提示注入

2025-01-19 19:03:00 英文原文

OpenAI 的 ChatGPT 爬虫似乎愿意对任意网站发起分布式拒绝服务 (DDoS) 攻击,该科技巨头尚未承认这一漏洞。

在一个写下来德国安全研究人员 Benjamin Flesch 本月通过 Microsoft GitHub 分享了这篇文章,解释了如何使用对 ChatGPT API 的单个 HTTP 请求通过来自 ChatGPT 爬虫的网络请求淹没目标网站,具体来说ChatGPT-用户

实际上,这种大量的连接可能足以也可能不足以摧毁任何给定的站点,尽管它仍然可以说是一种危险,并且是 OpenAI 的一点疏忽。它可用于将单个 API 请求放大为每秒 20 到 5,000 个或更多对选定受害者网站的请求,一遍又一遍。

“ChatGPT API 在处理 HTTP POST 请求时表现出严重的质量缺陷https://chatgpt.com/backend-api/attributions”,Flesch 在他的咨询中解释道,他指的是 OpenAI 的 ChatGPT 调用的 API 端点,用于返回有关聊天机器人输出中引用的网络源的信息。当 ChatGPT 提到特定网站时,它会调用归因包含这些网站的 URL 列表,供爬虫程序访问并获取相关信息。

如果您在 API 上抛出一长串 URL,每个 URL 都略有不同,但都指向同一个站点,那么爬虫就会立即启动并攻击其中的每个 URL。

“API 需要参数中的超链接列表网址。众所周知,指向同一网站的超链接可以用多种不同的方式编写,”弗莱施写道。

“由于不良的编程习惯,OpenAI 不会检查指向同一资源的超链接是否在列表中多次出现。OpenAI 也不会限制 urls 参数中存储的超链接的最大数量,从而允许传输许多超链接。单个 HTTP 请求中包含数千个超链接。”

受害者永远不会知道是什么袭击了他们

因此,使用 Curl 这样的工具,攻击者可以向 ChatGPT 端点发送 HTTP POST 请求(无需任何身份验证令牌),而 Microsoft Azure 中的 OpenAI 服务器将通过针对提交的每个超链接启动 HTTP 请求来进行响应通过网址[]请求中的参数。当这些请求定向到同一网站时,它们可能会淹没目标,从而导致 DDoS 症状 - 由 Cloudflare 代理的爬虫每次都会从不同的 IP 地址访问目标网站。

Flesch 表示:“受害者永远不会知道是什么攻击了他们,因为他们只能看到 ChatGPT 机器人同时从大约 20 个不同的 IP 地址攻击他们的网站。”登记册,并补充说,如果受害者启用防火墙来阻止 ChatGPT 机器人使用的 IP 地址范围,该机器人仍会发送请求。

“因此,一个失败/被阻止的请求不会阻止 ChatGPT 机器人在下一毫秒内再次请求受害者网站。”

“由于这种放大,攻击者可以向 ChatGPT API 发送少量请求,但受害者将收到大量请求,”Flesch 解释道。

Flesch 表示,他通过多种渠道(OpenAI 的 BugCrowd 漏洞报告平台、OpenAI 的安全团队电子邮件、微软(包括 Azure)和 HackerOne)报告了这个未经身份验证的反射式 DDoS 漏洞,但没有收到任何消息。

登记册我们两次联系了微软支持的 OpenAI,但没有收到回复。

“我想说,更重要的一点是,这个 API 也容易受到即时注入的攻击,”他在提到另一项单独的研究时说道。漏洞披露。“为什么他们要为如此简单的任务进行即时注入?我认为这可能是因为他们正在测试他们的自主‘人工智能代理’东西。”

可以利用第二个问题使爬虫通过相同的方式回答查询归因API端点;你可以向机器人提出问题,它可以回答这些问题,而实际上它不应该这样做;它应该只是获取网站。

Flesch 质疑为什么 OpenAI 的机器人没有实现简单、既定的方法来正确删除请求列表中的重复 URL 或限制列表的大小,也没有设法避免已在主 ChatGPT 界面中解决的提示注入漏洞。

“在我看来,这个小型 API 是他们的 ChatGPT AI 代理的一个示例项目,其任务是从用户提供的数据中解析 URL,然后使用 Azure 获取网站,”他说。

“‘人工智能代理’没有内置安全功能吗?”他问道。“因为显然‘人工智能代理’正在处理网址[]参数没有资源耗尽的概念,或者为什么在同一秒内向同一个 Web 域发送数千个请求是愚蠢的。

“难道它不应该认识到这一点吗?受害者.com/1受害者.com/2指向同一个网站受害者网站如果受害者.com/1请求失败,为什么会向受害者.com/2之后立即?

“这些都是人们多年来在软件中实施的验证逻辑的小片段,以防止这样的滥用。”

Flesch 说,我想到的唯一解释是 OpenAI 正在使用 AI 代理来触发这些 HTTP 请求。

“我无法想象一个高薪的硅谷工程师会设计这样的软件,因为 ChatGPT 爬虫已经在网络上爬行很多年了,就像 Google 爬虫一样,”他说。“如果爬虫不限制对同一网站的请求数量,它们将立即被阻止。”®

关于《ChatGPT 爬虫漏洞打开 DDoS 之门,提示注入》的评论


暂无评论

发表评论

摘要

德国的一名安全研究人员在 OpenAI 的 ChatGPT API 中发现了一个潜在漏洞,该漏洞可被用来对网站发起分布式拒绝服务 (DDoS) 攻击。通过发送多个 URL 指向同一站点的 HTTP POST 请求,攻击者可以用来自 ChatGPT 爬虫的网络请求淹没目标网站,由于 OpenAI 缺乏 URL 重复数据删除和大小限制检查的不良编程实践,可能会导致目标网站不知所措。研究人员通过各种渠道报告了这个问题,但尚未收到 OpenAI 或在 Azure 上托管 ChatGPT 服务器的微软的回应。