红队测试:从威胁建模到自动化用例、分级报告和修复复测
红队测试不是“找几个越狱 prompt”,而是按业务威胁模型系统验证模型、RAG、Agent 和工具链的安全边界。范围包括提示注入、越权访问、数据泄露、工具滥用、有害内容、幻觉/过度自信、供应链和多模态输入。方法包括人工红队、自动化扫描(garak 等)、用例回归(promptfoo)和真实攻防演练。
流程:定义范围与资产 → 威胁建模 → 设计用例 → 执行(人工+自动)→ 分级与复现 → 修复 → 复测。报告要能回答“什么资产、什么攻击、影响多大、如何复现、修了什么、是否复测通过”,而不是只列一堆失败 prompt。
威胁建模输入:
1. 资产:系统提示、知识库、用户数据、内部 API、工具凭据
2. 入口:聊天、上传文件、网页抓取、邮件、RAG 文档、工具返回
3. 攻击者:外部用户、恶意文档作者、被攻陷的内部账号
4. 影响:数据泄露、越权操作、资金损失、服务中断、合规风险
# 自动化扫描(示例,按工具版本调整)
garak --model_type openai --model_name gpt-4o-mini \
--probes promptinject,dan,encoding
# 用例回归:把注入/越权样本纳入 CI
promptfoo eval -c promptfooconfig.yaml
用例分层:
- 基础:直接注入、越狱、有害内容
- 业务:越权检索、跨租户、工具参数注入
- 组合:RAG 文档投毒 + 工具调用
- 多模态:图片 OCR 注入、音频指令
- 回归:每次模型/prompt/工具变更都跑
报告字段:用例 ID、威胁类别、严重度、复现步骤、实际影响、
根因、修复建议、负责人、复测结果。严重度按资产和影响定,
不要只按“模型说了不该说的话”定。
合上页面,先回答,再展开对照。
小程序版
微信扫码,随时查命令