跳转至

不安全的代码实践

风险概览

风险编号:GAARM.0035
子风险:GAARM.0035.001、GAARM.0035.002、GAARM.0035.003
安全阶段:应用安全
生命周期:训练阶段
创建时间:2024.05.01
修改时间:2024.05.01

攻击概述

不安全的代码实践是指基于大模型集成框架,开发LLMs应用过程中由于设计缺陷导致的安全问题。在LLMs应用程序开发过程中采用的代码逻辑,可能会带来安全风险,给LLMs应用程序引入可被利用的安全漏洞。其中的安全漏洞可能包含两大类:

  1. LLMs应用程序服务存在传统的漏洞,例如对外服务的Chat系统服务存在越权查看他人对话记录等风险;
  2. LLMs集成框架中的新型Tools、Agents、Chains中包含安全风险,导致攻击者可以基于LLMs间接利用相关漏洞;

攻击案例

案例 描述
案例一 LangChains中的PALChain被发现存在代码执行风险
案例二 LangChains中被挖掘出多个RCE高危漏洞

攻击风险

  • 不安全的编码实践:LLMs 在生成代码时可能会遵循不安全的编码实践,导致生成的代码含有安全漏洞。
  • 未经授权的请求执行:攻击者可以直接利用LLMs应用漏洞或者通过操纵输入提示,使LLMs应用执行意外的请求,访问或操作受限制的资源。

缓解措施

缓解方式 描述
自动化检测评估 利用静态分析工具检测代码中的不安全模式,以提高代码安全性
最小权限原则 遵循最小权限原则,只为LLMs提供完成其任务所必需的最小访问权限,避免过度代理授权
输入验证和过滤 实施严格的输入验证和净化策略,以确保所有输入数据在被LLMs处理前都经过检查和清理

参考