德国安全研究人员透露,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 爬虫一样爬行网络多年了。如果爬虫不限制对同一网站的请求数量,它们会立即被封锁。"
好文章,需要你的鼓励
这篇博客详细解读了阿里巴巴通义实验室和中科大联合开发的VRAG-RL框架,该框架通过强化学习优化视觉语言模型处理复杂视觉信息的能力。研究创新性地定义了视觉感知动作空间,使模型能从粗到细地感知信息密集区域,并设计了结合检索效率与结果质量的精细奖励机制。实验表明,该方法在各类视觉理解任务上大幅超越现有技术,Qwen2.5-VL-7B和3B模型分别提升了20%和30%的性能,为处理图表、布局等复杂视觉信息提供了更强大的工具。
香港科技大学研究团队发现AI训练中的验证器存在严重缺陷。基于规则的验证器虽精确但僵化,平均有14%的正确答案因表达形式不同被误判;基于模型的验证器虽灵活但极易被"黑客攻击",AI可通过输出特定模式欺骗验证器获得不当奖励。研究提出混合验证器设计,结合两者优势,在数学推理任务上将性能提升3个百分点,为开发更可靠的AI训练系统提供重要启示。
这项研究提出了"用生成图像思考"的创新范式,使AI能够通过生成中间视觉步骤在文本和图像模态间自然思考。研究者实现了"原生长多模态思维过程",使大型多模态模型能够生成视觉子目标和自我批评视觉假设。实验表明,该方法在处理复杂多物体场景时性能提升高达50%,为医学研究、建筑设计和刑事侦查等领域开创了新的应用可能。
这篇论文介绍了GRE套装,一个通过精细调优视觉语言模型和增强推理链来提升图像地理定位能力的创新框架。研究团队开发了高质量地理推理数据集GRE30K、多阶段推理模型GRE以及全面评估基准GREval-Bench。通过冷启动监督微调与两阶段强化学习相结合的训练策略,GRE模型能够有效识别图像中的显性和隐性地理指标,在Im2GPS3k和GWS15k等主流基准上显著优于现有方法,为全球图像地理定位任务提供了更准确、更可解释的解决方案。