德国安全研究人员透露,OpenAI 的 ChatGPT 爬虫存在漏洞,可能被利用对任意网站发起分布式拒绝服务 (DDoS) 攻击,而该科技巨头尚未对此作出回应。
本月在 Microsoft 的 GitHub 平台上,德国安全研究员 Benjamin Flesch 发布了一份报告,详细说明了如何通过向 ChatGPT API 发送单个 HTTP 请求,就能让 ChatGPT 爬虫 (特别是 ChatGPT-User) 对目标网站发起大量网络请求。
虽然这种连接泛洪从实际效果来看可能不足以击垮任何特定网站,但这仍然是一个潜在的威胁,也反映了 OpenAI 的疏忽。攻击者可以将单个 API 请求放大为每秒 20 到 5,000 次甚至更多的请求,持续不断地攻击目标网站。
Flesch 在其公告中解释说:"ChatGPT API 在处理 https://chatgpt.com/backend-api/attributions 的 HTTP POST 请求时存在严重的质量缺陷。" 这个 API 端点是 OpenAI 的 ChatGPT 用来返回聊天机器人输出中引用的网络源信息。当 ChatGPT 提到特定网站时,它会调用 attributions 并提供一个 URL 列表,让爬虫访问这些网站并获取相关信息。
如果向 API 提供一个很长的 URL 列表,这些 URL 略有不同但都指向同一个网站,爬虫就会同时访问所有这些链接。
Flesch 指出:"API 在 urls 参数中需要一个超链接列表。众所周知,指向同一网站的超链接可以用多种方式书写。由于糟糕的编程实践,OpenAI 既不检查指向同一资源的超链接是否在列表中重复出现,也不对 urls 参数中存储的超链接数量设置上限,这使得在单个 HTTP 请求中可以传输数千个超链接。"
受害者永远不会知道是什么击中了他们
因此,攻击者可以使用 Curl 等工具发送 HTTP POST 请求(无需认证令牌)到该 ChatGPT 端点,Microsoft Azure 上的 OpenAI 服务器就会对请求中 urls[] 参数提交的每个超链接发起 HTTP 请求。当这些请求指向同一网站时,可能会使目标不堪重负,导致 DDoS 症状—由 Cloudflare 代理的爬虫每次都会从不同的 IP 地址访问目标网站。
Flesch 向 The Register 表示:"受害者永远不会知道是什么击中了他们,因为他们只能看到 ChatGPT 机器人同时从大约 20 个不同的 IP 地址访问他们的网站。" 他补充说,即使受害者启用防火墙阻止 ChatGPT 机器人使用的 IP 地址范围,机器人仍会继续发送请求。
"所以一个失败或被阻止的请求不会阻止 ChatGPT 机器人在下一毫秒再次请求受害者网站。"
Flesch 说:"由于这种放大效应,攻击者只需向 ChatGPT API 发送少量请求,但受害者将收到大量请求。"
Flesch 表示,他通过多个渠道报告了这个未经身份验证的反射式 DDoS 漏洞—包括 OpenAI 的 BugCrowd 漏洞报告平台、OpenAI 的安全团队邮箱、Microsoft (包括 Azure) 和 HackerOne—但没有收到任何回应。
The Register 两次联系由 Microsoft 支持的 OpenAI,但未得到回复。
Flesch 说:"我认为更大的问题是这个 API 还容易受到提示注入攻击,"他提到了另一个漏洞披露。"为什么这样一个简单的任务会有提示注入问题?我想可能是因为他们正在内部测试他们的自主 'AI agent' 系统。"
第二个问题可以被利用来让爬虫通过相同的 attributions API 端点回答查询;你可以向机器人提供问题,它可以回答这些问题,而这本不是它应该做的;它本应该只是获取网站信息。
Flesch 质疑为什么 OpenAI 的机器人没有实现简单的、已建立的方法来正确去重 URL 列表或限制列表大小,也没有设法避免在主要 ChatGPT 界面中已经解决的提示注入漏洞。
他说:"在我看来,这个小型 API 似乎是他们 ChatGPT AI agents 的一个示例项目,其任务是从用户提供的数据中解析 URL,然后使用 Azure 获取网站内容。"
"'AI agent' 是否没有内置安全功能?"他问道。"因为显然处理 urls[] 参数的 'AI agent' 对资源耗尽没有概念,也不明白为什么在同一秒内向同一个网络域名发送数千个请求是愚蠢的。"
"它难道没有认识到 victim.com/1 和 victim.com/2 指向同一个网站 victim.com,如果 victim.com/1 的请求失败了,为什么还要立即发送对 victim.com/2 的请求?"
"这些都是人们多年来在软件中实施的小型验证逻辑,以防止这种滥用。"
Flesch 说,他能想到的唯一解释是 OpenAI 正在使用 AI Agent 来触发这些 HTTP 请求。
他说:"我无法想象一个高薪的硅谷工程师会这样设计软件,因为 ChatGPT 爬虫已经像 Google 爬虫一样爬行网络多年了。如果爬虫不限制对同一网站的请求数量,它们会立即被封锁。"
好文章,需要你的鼓励
邻里社交应用Nextdoor推出重新设计版本,新增本地新闻、实时警报和名为"Faves"的AI功能,用于发现本地商户和地点。该应用与3500家本地出版商合作提供新闻内容,通过Samdesk和Weather.com提供天气、交通、停电等实时警报。Faves功能利用15年邻里对话数据训练的大语言模型,为用户提供本地化AI推荐服务,帮助用户找到最佳餐厅、徒步地点等本地信息。
Skywork AI推出的第二代多模态推理模型R1V2,通过创新的混合强化学习方法,成功解决了AI"慢思考"策略在视觉推理中的挑战。该模型在保持强大推理能力的同时有效控制视觉幻觉,在多项权威测试中超越同类开源模型,某些指标甚至媲美商业产品,为开源AI发展树立了新标杆。
英国生物银行完成了世界上最大规模的全身成像项目,收集了10万名志愿者的超过10亿次扫描数据,用于研究人体衰老和疾病过程。该项目历时11年,每次扫描耗时5小时,投资6200万英镑。目前已有8万人的成像数据供全球研究人员使用,剩余数据将于年底前发布。项目已开发出能预测38种常见疾病的AI工具,并在心脏病、痴呆症和癌症诊断方面取得突破。
这项由北京大学等多所高校联合完成的研究,首次对OpenAI GPT-4o的图像生成能力进行了全面评估。研究团队设计了名为GPT-ImgEval的综合测试体系,从文本转图像、图像编辑和知识驱动创作三个维度评估GPT-4o,发现其在所有测试中都显著超越现有方法。研究还通过技术分析推断GPT-4o采用了自回归与扩散相结合的混合架构,并发现其生成图像仍可被现有检测工具有效识别,为AI图像生成领域提供了重要的评估基准和技术洞察。