背景介绍
Salt Labs 的研究人员发现,生成式人工智能生态系统(如ChatGPT)可能成为一种新的有趣的攻击载体。该研究发现,ChatGPT生态系统中的漏洞可能允许攻击者访问用户的账户,包括GitHub仓库,甚至可能通过0 Click实现攻击。
插件安全问题
为了扩展ChatGPT的功能,用户会引入了ChatGPT插件(俗称GPTs),有些插件会允许与外部服务(如互联网搜索、GitHub、Google Drive等)连接和数据交换。而这些插件会增加新的攻击面,因为它们可以向第三方网站发送敏感数据,甚至访问用户的私人账户。
漏洞发现
研究过程中,主要发现了3类漏洞:
- ChatGPT的恶意插件安装:允许攻击者在未经用户同意的情况下安装恶意插件
- 0Click帐户接管:使攻击者能够控制 GitHub 等第三方网站上的组织帐户
- OAuth重定向操作漏洞:在多个插件中发现的经典OAuth漏洞,允许攻击者通过操纵重定向URI来窃取用户凭据
漏洞影响
- 攻击者可以编写自己的插件,让ChatGPT转发几乎所有聊天数据给该插件,然后通过漏洞在受害者账户上安装该恶意插件
- 攻击者可以看到受害者的私人聊天数据,可能包括凭据、密码或其它敏感数据
缓解措施
- 为了保护OAuth流程,应实施状态参数,这是OAuth RFC中描述的一种安全措施,同时状态参数应是随机值,以防攻击者爆破或预测
- 对于如PluginLab.AI这样的框架,需要确保在OAuth认证流程中正确验证请求,特别是在生成代表用户身份的代码时,通过确保只有经过验证的用户才能请求代码来实现
- 插件开发框架(如PluginLab.AI)应确保在生成和传输OAuth代码时,有适当的安全检查和认证机制,以防止攻击者操控流程
- OpenAI和其它生成式AI平台应提高用户对第三方插件安全性的意识,教育用户如何安全地使用这些插件
- OpenAI应更新其插件和GPTs的开发者文档,明确强调重定向URI(redirect_uri)的安全实践,以及如何正确地验证和使用它们
- 确保所有数据传输都通过HTTPS等安全协议进行,以防止中间人攻击和其他网络层面的安全威胁
- 对于OAuth认证请求,实施速率限制和异常行为检测,以防止自动化的攻击尝试
- 对于需要访问用户敏感数据的插件,应实施最小权限原则,只授予必要的访问权限
以上安全问题目前均已向相关方披露,并且相关公司已经迅速采取行动来解决和完全缓解这些问题。