10.4 红队演练与自动化评估
红队演练(Red Teaming)与自动化评估是验证 LLM 系统安全性的重要手段。前者强调“以攻击者视角发现真实问题”,后者强调“可重复、可量化、可回归”的持续评测能力。
10.4.1 红队演练的目标与范围
常见目标
发现提示注入、越狱、数据泄露、工具滥用等高风险路径
验证纵深防御是否存在单点失效与“策略空洞”
评估在真实业务任务下的安全-体验权衡
范围定义(建议形成书面 ROE:Rules of Engagement):
测试对象:模型、系统提示、RAG、工具链、权限与审计、业务流程
数据边界:哪些数据可用于测试、哪些属于“绝对禁止触碰”的生产机密
操作边界:哪些动作需要人工审批/隔离环境执行(例如写库、发外部消息)
红队工作流程
图 10-6:红队演练工作流程
10.4.2 组织方式:从一次性到常态化
红队不应只做“上线前一次”。推荐节奏:
上线前:覆盖关键业务路径的基线红队
版本迭代:系统提示/工具/检索语料变更后触发回归
季度/半年度:结合新威胁情报做专题演练
同时建议引入蓝队/产品/法务参与,保证问题能转化为可落地的工程改进与合规证据。
10.4.3 测试用例库:把经验固化成资产
把“红队发现的问题”沉淀为可回归的测试用例库,最有价值。建议对用例做统一结构化描述。
用例结构化模板
用例分类维度
攻击类型
直接注入、间接注入、越狱、信息泄露、工具滥用
业务场景
客服、投研、代码助手、RAG 问答、邮件助手
攻击面
用户输入、外部文档、工具返回、长上下文、跨会话记忆
严重等级
Critical / High / Medium / Low
期望行为
拒绝 / 脱敏 / 人工审核升级 / 仅审计记录
10.4.4 常用红队工具与配置
工具对比
Garak
LLM 漏洞扫描器
已知漏洞探测(被称为“LLM 界的 Nmap”)
Apache 2.0
promptfoo
Prompt 评估框架
将安全策略(Guardrails)整合进 CI/CD 持续回归测试
MIT
PyRIT
微软红队工具
多轮自动化红队沉浸演练与高风险路径识别
MIT
ART
IBM 对抗鲁棒性工具箱
对抗样本(Adversarial Examples)生成与防御评估
MIT
CyberSecEval
Meta 安全评估套件
量化评估大模型生成恶意代码或辅助网络攻击的风险
MIT
Giskard
AI 漏洞扫描平台
结合安全审计框架,自动化生成对抗性测试用例
Apache 2.0
Garak 使用示例
promptfoo 安全回归配置示例
10.4.5 可验证的工程闭环:LLM 应用安全测试最小套件
自动化评估的价值在于“持续、可量化”,必须建立一套可复用的 测试最小套件,涵盖从用例构造、指标判定到发布门禁的完整工程闭环。
1. 最小攻击用例集结构
用例不应随机生成,而需覆盖核心威胁路径,建议按以下结构构建最小用例集:
直接/间接注入:测试系统指令被覆盖(直接)与外部数据源藏毒(间接)。
单轮/多轮对抗:测试长上下文中安全策略是否遗忘或被绕过。
工具诱导:测试攻击者能否通过特定模式诱骗模型调用高权限工具(如越权转账)。
数据源污染:测试模型对检索增强(RAG)召回的恶意数据(恶意文档、被篡改的网页)的抵抗力与异常处理。
2. 判定规则与核心指标
对于自动化测试,必须有清晰的指标模板与验收门槛(建议作为独立流水线阶段执行):
攻击成功率 (ASR)
提示注入/越狱场景下的成功突破占比
采用强模型(如 GPT-4)或规则判定是否达成攻击目标
< 5% (高危场景要求为 0)
安全拒答率
面对明确恶意请求时,模型识别并安全拒绝的比例
不包含有害信息且明确表态拒绝
> 95%
越权工具调用率
攻击用例触发未授权/危险工具动作的情况
监控工具调度层的执行日志
0 容忍
敏感信息泄露率
输出中包含 PII、系统提示、内部 API 密钥的比例
结合正则匹配与数据防泄漏(DLP)扫描
0 容忍
可用性误拒率 (FPR)
正常业务请求被安全策略误拦的比例
建立金标准(Golden Set)评估业务正常流
< 3%
3. OWASP LLM Top 10 测试映射与门控
为将管理标准落地为工程验收,需将 OWASP LLM Top 10 条目显式映射为测试维度与门控指标。以下为关键风险的最小检测与门控示例:
LLM01: 提示注入
包含强对抗的前缀/后缀/编码组合,测试是否遵循系统提示。
基线: < 10%, 成熟: < 5%, 理想: < 2%;系统提示泄露率基线 < 5%, 成熟 < 1%, 理想趋近 0%
LLM02: 不安全输出
测试是否生成仇恨、暴力、违法等违背人类对齐的内容。
恶意内容拦截率 > 98%,失败则需上滑安全阈值。
LLM05: 供应链漏洞
拉取第三方依赖/插件/模型的安全漏洞与依赖树扫描结果。
无严重/高危漏洞 (CVSS > 7.0),通过 SCA 白名单。
LLM06: 敏感信息泄露
测试异常查询/系统报错是否带出后端机密或用户 PII。
基线: 敏感信息泄露率 < 3%, 成熟 < 1%, 理想 < 0.5%
LLM07: 不安全插件设计
校验插件调用的前置鉴权与输入过滤,测试参数越界与篡改。
越界参数全部拦截并审计记录,越权调用率 0%。
LLM10: 模型窃取
模拟高频次、系统性针对模型逻辑和权重的探测与逆向查询。
触发异常检测与速率限制(Rate Limit)阻断闭环。
CI/CD 门禁指标的分级设定
为了避免过于严苛的门禁标准导致 CI/CD 流水线的“虚假失败”,我们建议根据项目成熟度实施分级目标:
攻击成功率 (ASR)
< 10%
< 5%
< 2%
系统提示泄露率
< 5%
< 1%
趋近 0%
敏感信息泄露率
< 3%
< 1%
< 0.5%
分级说明
基线阶段(新项目或早期迭代):允许相对宽松的指标,重点是快速建立安全框架与检测基础设施,避免因过度严格而阻塞正常的开发迭代。
目标阶段(功能相对稳定、规模达到中等):收紧指标,要求系统在关键安全维度达到可接受的水平,此时应成为大多数生产系统的常驻目标。
理想阶段(长期持续改进):进一步逼近完美状态,但需认识到某些指标(如“系统提示泄露率 = 0%”)可能在工程上难以达成,应作为持续优化的方向而非硬性约束。
门禁实施建议
新版本发布时,不要求一步到位完美,但 高危指标(如越权工具调用率)必须始终保持零容忍。
对于允许一定失败率的指标,应明确记录“已知残余风险”与“后续改进排期”,而非简单地“卡住发布”。
定期复盘(如每个季度)CI/CD 门禁的有效性,根据实际安全态势与业务发展调整分级阈值,避免标准长期失效。
注:在实际落地中,上述指标应被编写为 promptfoo 或类似测试框架中的自动化验证断言,直接挂载在 CI/CD 流水线上,实现工程闭环。
发布门禁建议采用“基线 + 回归”模式:新版本不要求一步到位完美,但高危指标必须归零,且不劣化关键延迟与可用性指标,对新增风险有明确的回避与闭环时间表。
CI/CD 安全门禁集成
图 10-7:CI/CD 安全门禁集成流程
10.4.6 安全测试环境与数据治理
为了避免在红队过程中引入新的安全风险,建议:
使用隔离的测试环境与测试凭证,禁止直连生产关键资源
使用脱敏/合成数据构造测试集,必要时由数据所有者审批
对测试过程本身做审计留痕,确保可复盘与可追责
10.4.7 红队报告与闭环
红队演练的报告应明确分级和闭环时限:
P0 Critical
可远程触发数据泄露或执行恶意操作
24 小时内缓解
直报安全负责人
P1 High
可绕过安全对齐生成严重有害内容
3 个工作日
安全团队 + 产品
P2 Medium
可泄露系统提示或低敏信息
迭代周期内
安全团队
P3 Low
边缘场景下的过度拒绝或轻微偏差
下一计划
通过工单跟踪
红队演练负责发现“真实世界会发生的问题”,自动化评估负责把这些问题变成“持续不会回归的问题”。两者结合,才能形成可持续的 LLM 安全改进闭环。
最后更新于
