LLMs插件:业务过度代理
风险概览
风险编号:GAARM.0036
子风险:无
安全阶段:应用安全
生命周期:训练阶段
创建时间:2024.08.07
修改时间:2024.08.07
攻击概述¶
基于LLM的系统通常由开发人员授予一定程度的业务代理能力,即与其他系统进行交互并在响应提示时执行操作的能力。而过度代理是设计开发阶段安全风险,该风险导致在LLM出现意外/模糊输出时执行破坏性操作,根本原因通常是:功能过多或自主权过多。过度代理可以导致涉及机密性、完整性和可用性等方面的一系列影响,这取决于LLM应用程序能够与哪些系统进行交互。例如,赋予了LLM系统过度自主权,导致LLM基于应用程序或插件未能独立验证和批准高影响操作时,允许删除用户文档的插件执行删除操作时,无需用户的任何确认。
攻击案例¶
| 案例 | 描述 |
|---|---|
| 案例一 | 该视频展示了如何通过利用过度代理的漏洞进行对用户密码的非法重置 |
攻击风险¶
- 敏感信息泄露:业务过度代理导致LLM被恶意操控时可能泄露敏感信息以及隐私。
缓解措施¶
| 缓解方式 | 描述 |
|---|---|
| 最小权限原则 | 限制LLM代理被允许调用的插件/工具,仅限于所需的最小功能。例如,如果LLM基础系统不需要获取URL内容的能力,那么不应该向LLM代理提供这样的插件 |
| 避免开放式功能 | 在可能的情况下避免开放式功能(例如运行shell命令、获取URL等),并使用更细粒度功能的插件/工具。例如,LLM基础应用程序可能需要将某些输出写入文件。如果使用插件运行shell功能来实现这一点,那么不希望的操作的范围就会非常大(可以执行任何其他shell命令)。更安全的替代方案是构建一个只支持特定功能的文件写入插件。 |