概要
大型语言模型(LLM)系统本质上是组合的,但是近年人们越来越关注单个大模型的安全性,却没有通过LLM系统与其他对象(例如,Frontend, Webtool, Sandbox等)的视角来研究智能系统本文中系统地分析了LLM系统的安全性,而不是专注于单个LLM。为此,作者基于信息流角度将LLM系统的攻击面分解为三个关键部分:
- (1)多层安全性分析,
- (2)约束存在性分析,
- (3)约束鲁棒性分析。
为了使这种新的攻击面接地,作者还提出了一种多层和多步骤的方法,并将其应用于最先进的LLM系统OpenAI GPT4。调查揭示,安全问题不仅存在于LLM模型本身,而且存在于它与其他组件的集成中。为了详细说明,作者构建了一个端到端攻击,攻击者可以非法获取用户的聊天历史记录,而无需操纵用户的输入或直接访问OpenAI GPT4,项目演示位于以下链接。
安全模型框架

LLM系统将新颖的人工智能模型(LLM)与传统的软件组件(例如Web Tools)相结合,从而导致各种对象和模型之间的复杂交互。这种集成产生了一个多层系统,为了便于对这样一个多层系统进行分析,作者开发了一个多层分析框架,如上图所示。
对象(Object)是LLM系统中的关键组件(如LLM模型和插件)。
在组成LLM系统{
}的操作管道中,应考虑两大类主要对象:
1)核心LLM :作为接收信号、分析信息和做出决策的大脑;
2)配套设备:他们用于连接llm和外部环境。广泛使用的工具包括:
- andbox,它是Code Interpreter的基础;
- Frontend,它用于提供友好的用户界面并可以呈现markdown格式;
- Web Tools,它使LLM能够访问和检索来自外部网站的信息;
- 插件,支持使用各种工具(例如,doc maker)。
动作(Action)和交互(Interaction)分别捕获对象内部信息的处理和对象之间信息的传递。
对象执行的动作
是一种信息处理,其中
将处理输入
,然后输出
。行动定义为在没有其他物体参与的情况下执行或计算的过程。从本质上讲,行动将其焦点放在单一对象上。
在LLM系统中,两个对象,
之间的交互
是从源对象
到目标对象
的单向调用/返回,并伴随着信息的传递。
约束(Constrains)约束集R是在LLM系统{
}上定义的一组限制或规则,用来捕获信息流上的安全需求,它是多层的,不仅将中介置于单个对象的处理(约束置于动作之上),而且置于它们之间的处理(约束置于交互之上)。
在LLM系统中有两种不同类型的约束:
1)约束对Object1的动作进行约束,以限制在Object1内的信息处理和在约束
下的输出
|
(例如,防止LLM产生不道德的内容);
2)约束