系统地记录方法是任何高效红队行动的主要方面。即使在漏洞被发现、报告并实施修复之后,红队行动的周期仍会随着这一实践而继续。使红队行动成熟化,特别是在大型语言模型(LLM)技术快速变化的背景下,系统地记录方法是一个重要组成部分。这包括记录所遵循的通用流程,以及那些行之有效的具体“攻击手法”或攻击模式(包括那些无效的以及原因)。这一知识库将成为宝贵的财富,用于未来的行动、培训以及提高团队的整体效率。系统化文档的价值在我们详细介绍之前,让我们简要说明一下为何严谨的文档记录不仅仅是行政负担。在LLM红队行动的背景下:一致性和可重复性: 记录在案的流程确保评估得以一致执行,无论由哪个团队成员主导。这对于比较不同时间点和不同模型的结果非常重要。知识传递: LLM攻击技术不断出现。一个维护良好的内部知识库有助于在团队内部高效传播新发现和新方法。这也能大大加快新成员的入职过程。效率提升: 为什么每次评估都要重头开始?记录在案的攻击手法和常见漏洞模式使您的团队能够快速将已知技术应用于新目标,节省时间和精力。建立机构记忆: 团队成员可能会变动,但机构的知识应持续并增长。文档记录充当这种记忆,捕获经验教训和成功的策略。改进的起点: 通过记录您做了什么以及如何做的,您就建立了一个参照点。这使您能够跟踪您的技术效果,找出您方法中需要改进的地方,并适应新的LLM架构或防御机制。支持修复和复测: 清晰的攻击(一种“手法”)文档对于开发团队理解和修复漏洞非常有帮助。它还提供了复测所需的具体步骤,以验证修复是否有效。红队行动流程文档化流程描述了您的红队行动的“操作方法”。它们比单个攻击技术更宽泛,并涵盖一次行动的各个阶段和支持活动。您的流程文档应是一个动态指南,随着团队改进其方法而更新。在您的流程文档中,请考虑包含以下元素:行动生命周期: 概述您的LLM红队行动的标准阶段,从初始规划和范围定义(如第一章所述)到报告和修复支持。对于每个阶段,描述其目标、典型活动和预期产出。攻击面识别方法: 详细说明您的团队用于描绘LLM系统中潜在薄弱点的系统方法。这可能包括:检查LLM API的清单。分析数据摄入管道的流程。理解LLM如何与外部系统或数据源交互的方法。常见漏洞的测试规程: 对于普遍存在的LLM漏洞,例如提示注入、数据污染或敏感信息提取(在第二、三、四章中介绍),记录您的标准测试方法。例如,对于提示注入,您的规程可能列出:初步侦察提示。一系列日益复杂的注入技术。对抗已知防御模式的测试方法。工具和环境设置: 记录您的团队使用的工具,包括开源的和内部开发的。包括:设置说明和配置。常见使用模式和示例。用于重复任务的脚本或代码片段。证据收集和管理: 明确测试期间如何记录发现。这包括:保存提示和LLM响应的格式。屏幕截图或视频捕获指南。记录观察到漏洞的条件的方法。道德和法律准则: 重申管理团队活动的道德考量和法律框架(来自第一章),特别是关于数据隐私、负责任的披露和避免意外损害。创建LLM红队行动手册流程提供了通用框架,而“攻击手法”是您的团队开发或观察到的具体、可重复的攻击模式。可以将其视为建立一个针对LLM的攻击技巧库。记录这些攻击手法有助于在未来的评估中快速复现和调整。一份完善的攻击手法文档应包括:攻击手法标识符: 唯一名称或代码(例如,LLM-PI-001-IndirectContext,LLM-MEM-003-RoleConfusion)。目标漏洞类别: 该攻击手法所针对的弱点通用类别(例如,间接提示注入、越狱、过度自主性、信息泄露)。LLM/系统特征: 描述该攻击手法可能有效的LLM类型或系统配置(例如,“具有长上下文窗口的LLM”,“使用来自不可信来源的RAG的系统”,“安全数据微调不足的模型”)。攻击手法目标: 攻击者旨在达成什么(例如,“绕过安全过滤器生成受限内容”,“提取系统提示”,“诱导LLM通过集成工具执行未经授权的操作”)。前提条件/设置: 任何所需的具体条件或设置(例如,“访问API端点”,“能够影响LLM检索的文档”,“多轮对话历史”)。分步执行:关于如何执行该攻击手法的详细说明。具体示例提示或输入序列。如果攻击手法成功,预期的交互流程。包括尝试过的变体,无论成功与否,因为这些可以提供有价值的见解。成功指标 (IoS): 判定攻击手法是否成功的明确标准。这可能是LLM的特定输出、系统状态的改变或观察到的行为。观察到的影响: 如果该攻击手法成功执行于生产系统,实际或潜在的后果。已绕过的已知防御措施(如有): 如果该攻击手法成功绕过了特定的安全措施,请记录下来。缓解方案建议: 关于如何缓解此特定攻击模式的初步想法(这会反馈到第五章以及本章关于修复的侧重)。备注和经验教训: 在开发或执行此攻击手法过程中获得的任何观察、遇到的挑战或具体见解。例如,“此攻击手法对表述X高度敏感,但对表述Y无效。”下面是展示攻击手法文档主要组成部分的图表:digraph AttackPlay { rankdir=TB; node [shape=box, style="filled,rounded", fillcolor="#e9ecef", fontname="Arial"]; edge [fontname="Arial"]; PlayID [label="攻击手法标识符\n(例如,LLM-PI-001)", fillcolor="#a5d8ff"]; TargetVuln [label="目标漏洞\n(例如,间接提示注入)", fillcolor="#ffc9c9"]; Objective [label="目标\n(例如,绕过安全过滤器)", fillcolor="#b2f2bb"]; Steps [label="分步执行\n- 提示序列\n- 预期流程", fillcolor="#ffd8a8"]; IoS [label="成功指标\n(例如,生成受限内容)", fillcolor="#d0bfff"]; Impact [label="观察到的影响\n(例如,声誉损害)", fillcolor="#fcc2d7"]; Notes [label="备注与经验教训\n(例如,对措辞敏感)", fillcolor="#99e9f2"]; PlayID -> TargetVuln; PlayID -> Objective; PlayID -> Steps; Steps -> IoS; IoS -> Impact; PlayID -> Notes [style=dashed]; }攻击手法文档的结构,强调了每种记录技术需要捕获的重要信息。组织和维护您的知识库您如何存储和管理这些文档也同样重要。一些常见的方法包括:内部维基: 像SharePoint或专用维基软件这样的平台支持协作编辑、页面间轻松链接以及良好的可搜索性。版本控制系统(例如Git): 将文档(特别是Markdown等格式)存储在Git仓库中可以保留版本历史,为新技术的开发创建分支,以及审查流程(例如新攻击手法的拉取请求)。专用红队平台: 一些商业或开源的红队行动平台提供管理行动数据的功能,包括攻击叙述和流程。无论使用何种工具,建立一个用于:定期审查和更新: LLM技术和防御措施变化迅速。定期安排审查您的流程和攻击手法,以确保它们保持相关性和有效性。淘汰过时信息。贡献指南: 鼓励所有团队成员做出贡献。关于如何记录新的攻击手法或建议流程更新的明确指南可以培养共享所有权的文化。标签和分类: 使用标签或类别以便更轻松地查找相关流程或攻击手法(例如,按LLM类型、漏洞类别、攻击技术)。通过认真记录您的红队行动流程和攻击手法,您将个人经验和临时发现转化为结构化、不断发展的知识体系。这不仅提升了您现有团队的能力,而且也为未来的AI安全工作奠定了坚实的根基。当您在修复后重新测试系统时,这些记录在案的攻击手法就成为了您的回归测试套件,确保之前关闭的漏洞保持关闭状态。