近日,安全研究人员披露了一项针对 ChatGPT 文件下载机制 的安全问题。在概念验证(PoC)中,该问题可被组合利用,从而绕过限制访问到原本不应暴露的系统级文件路径,引发业界对大模型工具链安全性的关注。
据披露,这一漏洞并非单点问题,而是由“对话逻辑绕过”与“路径处理缺陷”叠加形成的攻击链。
从一个普通文件上传开始
整个过程最初看似非常常规:研究人员向 ChatGPT 上传了一个用于测试的 HTML 文件,用于后续的内容分析与处理。此时文件被存放在受控的沙箱环境中。
但问题出现在后续的文件访问环节。
对话引导绕过安全限制
当研究人员尝试直接获取文件下载链接时,系统依据安全策略拒绝了请求,提示文件已被清理或不允许再次访问。
然而,攻击链的关键一步在于利用多轮对话“重构语境”——研究人员先诱导模型对文件进行修改操作,再声称文件已意外删除,请求重新生成下载地址。
在这种语境切换下,系统生成了一个指向内部接口的下载链接,从而暴露了类似如下结构的后台路径:
/backend-api/conversation/{id}/interpreter/download?message_id={id}&sandbox_path=/mnt/data/xxx.html
这一步实际上让内部文件访问接口被“间接外显”。
在获得下载接口后,研究人员进一步测试了 sandbox_path 参数的安全性。
如果直接使用 ../../../../etc/passwd 这类典型路径穿越 payload,系统会进行拦截。
但研究人员采用了一种更隐蔽的方式:在合法文件路径后追加跳转片段,例如:
/mnt/data/test.html/../../../../etc/passwd
这种结构绕过了部分路径校验逻辑,使得系统在解析时错误地先“认可前半段合法路径”,再发生目录跳转,从而访问到沙箱之外的系统文件。
最终,该请求在浏览器中被解析并返回了 /etc/passwd 内容。
影响有限,但风险链路值得警惕
尽管该问题看似严重,但研究人员也指出,由于 ChatGPT 执行环境本身是隔离沙箱,即便读取到 /etc/passwd,也不代表真实生产系统数据泄露,因此实际危害有限。
但更值得关注的是攻击链的组合方式:
- 通过对话诱导绕过访问控制(提示词层面)
- 再结合传统 Web 安全问题(路径穿越)
- 最终形成可利用的文件访问链路
OpenAI 已完成修复
据披露,该问题目前已被 OpenAI 修复,主要方式是重新设计了文件下载接口的生成与访问逻辑,阻断了相关路径构造方式。不过官方并未公开完整技术细节。
此次事件再次暴露出一个趋势:大模型系统正在逐渐具备“工具化能力”,包括文件处理、代码执行、接口调用等。
而一旦这些能力与传统 Web 漏洞结合,攻击面将不再局限于提示词攻击,而是扩展为“LLM + Web + 工具链”的复合型安全问题。
资讯来源:cybersecuritynews
|