1.4 大语言模型安全威胁全景图
在深入研究具体的攻击技术之前,有必要先建立对 LLM 安全威胁的整体认知。本节将从威胁类型、攻击者画像和风险分级三个维度,描绘 LLM 安全的威胁全景。
1.4.1 威胁分类框架
LLM 面临的安全威胁可以从多个维度进行分类:
按攻击阶段分类
图 1-4:LLM 威胁按攻击阶段分类
训练阶段威胁:发生在模型训练过程中,如数据投毒、后门植入
部署阶段威胁:发生在模型部署过程中,如模型窃取、配置泄露
推理阶段威胁:发生在模型运行时,如提示注入、越狱攻击
按攻击目标分类
机密性
获取敏感数据或模型信息
提示泄露、隐私提取、模型窃取
完整性
操纵模型输出或行为
提示注入、数据投毒、后门攻击
可用性
破坏模型正常服务
资源耗尽、Token 洪泛
安全性
突破安全限制
越狱攻击、对抗样本
按攻击向量分类
直接攻击:攻击者直接与 LLM 交互,如直接提示注入
间接攻击:通过第三方渠道传递恶意内容,如间接提示注入
供应链攻击:攻击模型的依赖组件,如恶意数据集、被污染的开源模型
工具调用攻击:利用 MCP 等工具协议和函数调用接口,诱导模型执行越权操作或调用恶意工具(详见第七章)
1.4.2 OWASP LLM Top 10 概览
为什么是这十个风险?选择标准是什么?
OWASP 在评选 LLM Top 10 时采用了多维度的评估标准,而非简单的"广泛程度"或"热度":
采纳度:该风险已被多个真实的 LLM 应用证实存在
可测试性:该风险可以通过自动化或人工测试来验证
可缓解性:存在已知的、可实施的防御措施
攻击面宽度:从初创公司到大型企业,都存在这个风险
规范化程度:该风险已被安全社区广泛讨论和记录
与此相对,OWASP 并未选入的一些风险(如"AI 幻觉导致错误医学建议")虽然严重,但在当前阶段缺乏足够的防御最佳实践,更多属于"应用层安全"而非"LLM 系统安全"。
这十个风险覆盖了 LLM 生命周期的各个环节(训练→部署→推理→运营),形成了一个相对完整的"安全框架"。下面是官方清单:
开放网络应用安全项目(OWASP)发布的 LLM Top 10 是业界广泛采用的 LLM 安全风险清单。本节条目对齐 OWASP 2025 版风险类别;该清单会持续迭代,后续请以 OWASP 官方页面为准。
LLM01:提示注入(Prompt Injection)
通过恶意输入操纵 LLM 行为
包括直接注入和间接注入两种形式
LLM02:敏感信息泄露(Sensitive Information Disclosure)
LLM 无意中暴露隐私数据、系统信息或机密内容
LLM03:供应链风险(Supply Chain)
训练数据、模型组件或部署平台中的漏洞
LLM04:数据与模型投毒(Data and Model Poisoning)
通过污染训练/检索数据或模型工件影响系统行为
LLM05:不当输出处理(Improper Output Handling)
未经验证的 LLM 输出导致下游系统漏洞
LLM06:过度自主权(Excessive Agency)
LLM 被授予过多权限导致风险操作
LLM07:系统提示泄露(System Prompt Leakage)
内部系统指令被暴露
LLM08:向量与嵌入弱点(Vector and Embedding Weaknesses)
RAG 系统中的向量存储和检索漏洞
LLM09:错误信息(Misinformation)
模型生成虚假但看似可信的内容
LLM10:无边界消耗(Unbounded Consumption)
资源耗尽导致服务降级或成本激增
这份清单将在第三章中进行详细解读。
1.4.3 攻击者画像
了解潜在攻击者有助于制定更有针对性的防御策略:
好奇探索者
动机:技术好奇心,探索 LLM 的边界
能力:入门级,主要尝试公开的越狱技术
威胁等级:低
典型行为:测试通用越狱提示,观察模型反应
恶意用户
动机:获取特定的有害内容或服务
能力:中等,能够改编和组合攻击技术
威胁等级:中
典型行为:尝试绕过内容限制,获取禁止的信息
竞争对手
动机:商业利益,窃取模型或数据
能力:较高,具备专业安全知识
威胁等级:中高
典型行为:模型提取、训练数据推断、系统提示窃取
安全研究员
动机:发现漏洞,推动安全改进
能力:高,具备深厚的技术背景
威胁等级:取决于披露方式
典型行为:系统性的安全评估,负责任披露
网络犯罪分子
动机:经济利益
能力:高,可能有组织化运作
威胁等级:高
典型行为:大规模滥用、勒索、数据窃取
国家级威胁行为者
动机:情报收集、影响力操作
能力:最高,资源充沛
威胁等级:最高
典型行为:高级持续性威胁、供应链攻击、训练数据投毒
1.4.4 风险评估矩阵
不同威胁的风险程度取决于其发生可能性和潜在影响。以下是一个简化的风险评估矩阵:
图 1-5:LLM 安全风险矩阵图
说明:图中的坐标为教学示意,用于表达“相对优先级”,并非行业统计结论;在实际项目中应结合业务场景、数据资产与攻击可达性进行评估。
高优先级威胁(高可能性 + 高影响):
提示注入:最常见且影响最广泛的攻击方式
敏感信息泄露:可能导致严重的合规和声誉问题
工具调用滥用:随着 MCP 等工具协议普及,权限失控的破坏力急剧上升
需关注威胁(低可能性 + 高影响):
数据投毒:虽然难以执行,但后果严重且难以检测
供应链攻击:影响范围可能极广,参见 4.4.8 Clinejection 案例
需监控威胁(高可能性 + 低影响):
越狱攻击:频繁发生但单次影响通常可控
资源耗尽:需要成本管控机制
1.4.5 防御思路概述
面对复杂的威胁全景,有效的防御需要采用系统化的方法。下表将四大防御阶段与本书的详细章节做了映射,便于读者按需深入:
1.4.6 统一威胁建模模板(工程实践)
如何使用这个模板
威胁建模不是"一次性"的文档编写,而是"贯穿全生命周期"的活动。建议在以下关键时间点完成或更新威胁建模:
系统立项阶段(最重要):在架构设计前,架构师和安全团队应共同完成初版威胁建模。这决定了系统的"安全基调"和防御预算。
架构评审:当系统添加新的功能(如新的数据源、新的工具调用)时,更新相应的威胁建模部分。
上线前的最后评审:在生产部署前,再次确认威胁建模与实际部署的一致性。
定期复盘(如季度):根据实际发生的安全事件和监控数据,验证威胁建模的假设是否仍然成立。
建模的核心思想:不追求"完美"或"100% 全面覆盖",而是追求"有原则的优先级排序"——将有限的安全资源投入到最高风险的地方。
为了从繁杂的威胁描述走向工程落地,组织必须将概念转化为具体的威胁建模文档。以下是一个可以直接应用于内部产品开发阶段的 统一威胁建模模板。涵盖 LLM 功能的系统立项时,架构师与安全团队应共同完成此表格:
LLM 应用安全威胁建模自评模板
1. 核心资产 (Assets)
系统保护的最有价值的目标是什么?
用户上传的财务报表原件、底层执行 SQL 的数据库凭证、耗时调优的闭源系统提示(System Prompt)。
2. 信任边界 (Trust Boundaries)
数据在哪些节点发生跨越信任域的转义与传递?
用户输入域(零信任) -> Web API(身份验证) -> LLM 编排层(半信任) -> 订单数据库(内部信任)。
3. 核心数据流 (Data Flow)
请求从输入到执行外部动作的完整生命周期。
用户发问 -> 网关 DLP 扫描 -> 大模型生成 SQL -> 中间件截获 SQL 并做白名单校验 -> 数据库执行 -> 大模型组织话术 -> 返回用户。
4. 工具权限 (Privileges)
模型实质上可以调度哪些功能?授权粒度如何?
开放工具:只读内部知识库检索(基于该发问者的角色行级权限)、邮件发送API(强依赖 HITL 二次确认)。
5. 外部数据源 (Data Sources)
模型是否处理来自不可控第三方的数据(如网页、第三方文档)?
是,具备 RAG 能力,支持读取用户上传的外部 PDF 附件。风险点:附件可能包含隐藏的恶意指令。
6. 攻击者假设 (Attacker)
面临的典型攻击者画像及预期能力?
注册级别的外部普通用户或羊毛党;具备针对 LLM 特性发起直接和间接提示注入的能力,但无法触及内部 VPC 基础设施。
7. 核心威胁映射
结合上述 6 点,应用面临的最突出 Top 3 风险是什么?
1.间接注入(恶意者上传被污染的 PDF 诱导执行任意任务)。 2.敏感泄露(助手由于错误响应,把 A 用户的账单发给了 B)。 3.系统崩溃(超大并发超长文本导致 Token 账单被刷爆)。
注:此模板应作为架构设计(Architecture Design Document)的关键前置附件,未完成此建模映射,防线建设就缺乏靶向目标。
这些防御措施和建模方法将在本书的后续工程实践篇章中详细展开。建立对威胁全景的整体认知后,接下来的章节将逐层深入具体的安全基本常识与控制面。
1.4.7 Agent 系统的威胁与混沌测试策略
Agent 系统的新型威胁向量
相比单体 LLM 应用,智能体系统引入了三类新的威胁:
工具链权限提升(Tool-Chain Privilege Escalation)
通过多个低权限工具的精心组合,实现高权限操作
示例:工具 A(读取配置)→ 工具 B(读取指定路径)→ 工具 C(执行命令)
防御:工具间数据隔离、链式权限审计、权限单调性检查
工具返回值注入(Tool Output Injection)
外部工具返回被污染的数据,被 Agent 误解为指令执行
示例:网页爬虫返回被污染的 HTML,其中嵌入了隐藏提示
防御:工具输出沙箱化、二次注入检测、内容来源标记
MCP 协议与连接器风险
恶意 MCP Server 返回污染的能力元数据
供应链中的插件被污染
防御:来源签名验证(Sigstore)、SLSA 构建完整性检查、权限白名单
混沌测试(Chaos Testing)框架
在生产环境前,Agent 系统需要经过系统化的混沌测试,以验证在异常条件下的安全表现:
测试维度与场景
间接注入攻击
工具返回包含 <!-- AGENT_COMMAND: ... --> 的恶意指令
Agent 是否执行了返回值中的隐藏指令?
工具端点故障
关键工具 API 返回 500 错误或超时
Agent 是否优雅降级?是否泄露敏感信息?
模型 API 失败
LLM API 返回速率限制或部分失败
Agent 是否锁定在某个工具调用中?是否耗尽配额?
权限边界测试
尝试调用超出权限范围的工具
系统是否正确拒绝?是否产生清晰的日志?
资源耗尽
高频率工具调用或超大参数
是否触发速率限制?是否导致成本爆炸?
多智能体冲突
两个 Agent 同时修改同一资源
系统是否维持数据一致性?是否产生竞态条件?
混沌测试的实施建议
自动化测试工具链
建议在 CI/CD 流水线中集成以下工具:
Prompt Injection 测试库:PreQL(自动生成注入载荷)
工具模拟:Wiremock(模拟工具端点故障)
混沌引擎:Gremlin(在生产前进行可控的故障注入)
日志审计:ELK Stack(收集和分析 Agent 决策日志)
最后更新于
