Skip to content

本地 Payload 语料库 vs. CrowdStrike 操纵手法分类:覆盖度分析

整理日期:2026-07-28。对象:agent-security/prompt-injection/code/ 下 18 个仓库(清理掉非 payload 的历史运行日志/演示媒体后,共约 221M)。参照分类:crowdstrike-prompt-injection-taxonomy.md 第 2 节"Attacker Prompting Techniques"。

0. 结论先行

不能完全匹配。 经典的单轮文本类注入/越狱手法(显式指令、认知绕过、编码混淆、边界模仿、多轮渐进、多模态)在语料库里都能找到清晰对应,覆盖得相当好。但语料库里有相当一部分内容——尤其是 garakaugustus 这两个成熟扫描工具——是按攻击目标/目标能力(生成恶意代码、泄露密钥、工具滥用、多智能体投毒)而不是按操纵手法组织的,这是 CrowdStrike 那张图完全没有覆盖的第三个维度。另外分类学里明确命名的 "Context Overload Prompting" 在语料库里几乎找不到专门实现,是一个反过来的空白——分类学有名字,但真实工具没做。

1. 方法

  • rg(ripgrep)按每个操纵手法子类的特征关键词扫描全部 18 个仓库,统计命中文件按仓库分布。
  • garak(NVIDIA)和 augustus(Praetorian)两个内置结构化 probe/buff 目录的扫描工具,直接读取其官方 probe/buff 说明文档(docs/04 - Probes/Probes MOC.mddocs/07 - Buffs/Buffs MOC.mdgarak/garak/probes/*.py 模块 docstring),这两个工具本身就把攻击手法拆解成了命名清晰的类目,比逐条猜测关键词准确得多。
  • 对纯 payload 合集(PayloadsAllTheThingsL1B3RT4Sdeck-of-many-promptsspikee)读取目录结构和样例条目做定性核对。

2. 映射表:CrowdStrike 操纵手法 → 语料库证据

CrowdStrike 类别语料库中的对应实现覆盖度
Overt Approaches / Semantic Manipulation(显式规则增删、拒绝抑制)garak dan.py、augustus DAN.mdAutoDAN.md、spikee jailbreak_type: new-instructions、PayloadsAllTheThings 的 Direct Prompt Injection 章节
Overt / Cognitive Control Bypass — Pragmatic Manipulation(虚假授权、情境转移)augustus Grandma.md(情感操纵/appeal to pathos)、Prefix.md(角色扮演/权威声明前缀)、garak grandma.py
Overt / Secret Information Probinggarak sysprompt_extraction.pyapikey.py;augustus API Key.mdMCP Config Secret Scan.md
Overt / Unintelligible Input Prompting(不可读输入、glitch token)garak glitch.py;augustus Glitch.mdBad Characters.md(不可见 Unicode 扰动);llm-attacks/AmpleGCG/llm-adaptive-attacks 的 GCG 对抗后缀
Overt / Higher-Level Functioning Disruption(控制流程干扰)garak divergence.py("poem poem poem" 发散攻击)、snowball.py(虚假前提诱导雪崩式错误)
Overt / Response Manipulation(响应操纵、说服模型附和错误主张)garak misleading.py(False Assertion)
Instruction Reformulation / Instruction Obfuscation(编码、格式扰动、payload 分解)garak encoding.pysmuggling.py;augustus Encoding Buffs(23 种编码变体)、DRA.md(逐字母分解再重构,与 In-Prompt Payload Decomposition 几乎一一对应)、FlipAttack.md;deck-of-many-prompts 的 base64/摩斯/盲文 transforms
Instruction Reformulation / Natural Language Manipulation(同义替换、语体重写、低资源语言)augustus/garak 的 Buff 层Low-Resource Language(DeepL 翻译到爱沙尼亚语等低资源语言)、Constructed Language(翻译成克林贡语)、ParaphrasePoetry(诗歌体重写,论文报告比散文越狱提升达 18 倍)、Phrasing.md(时态转换)强,且質量很高——见下方"结构性发现"
Instruction Reformulation / Context Overload Prompting(填充干扰内容)原始 18 个仓库里未找到专门实现;补充检索确认真正实证是 Anthropic《Many-shot Jailbreaking》(Anil et al., 2024),已追加 clone TrustAI-laboratory/Many-Shot-Jailbreaking-Demo 补全,见 goal-capability-taxonomy.md 第 5 节强(已补全)
Prompt Boundary Mimicry(伪造系统提示边界、特殊 token 注入)garak goodside.py(ChatML 角色混淆、system-prompt override、markdown 数据渗出,是这个类目里覆盖最全的单个 probe)
Integrative Instruction Prompting / Multi-Turn Prompting(渐进式引导、会话内协议设定)augustus Crescendo.md(同名对应)、Hydra.md(拒绝后回溯重试)、Mischievous.md(渐进漂移话题)、GOAT.md(多轮技巧切换)、TAP.mdPAIR.md(攻击者 LLM 迭代改写)强,是语料库里覆盖最好的类目之一
Integrative Instruction Prompting / Knowledge Integration Prompting只有弱相关:RAG Poisoning.md(污染检索知识库)算是"利用上下文外知识"的变体,但更偏 Context-Data 注入方式而非这个技巧本身
Multimodal Prompting Attacksaugustus Adversarial Patch.mdMultimodal.mdArt Prompts.md(ASCII/Unicode 图形藏指令)、AV Spam Scanning.md中,工具层面有支持但本地语料库里没有下载到实际的图像/音频 payload 样本文件,只有探针代码框架

3. 结构性发现:probe / buff 拆分几乎复刻了 CrowdStrike 的两轴模型

garak 和 augustus 内部把"攻击"拆成两个独立、可组合的层:

  • Probe(探针/内容):定义要让模型做什么、以什么叙事/前提去说服它——对应 CrowdStrike 的 Overt Approaches、Cognitive Control Bypass、Prompt Boundary Mimicry、Multi-Turn Prompting 这几类"内容层"操纵手法。
  • Buff(变换层):在探针生成的 prompt 送进模型前做编码、翻译、改写、拆解——这一层几乎就是 CrowdStrike 的 Instruction Reformulation 大类的工程实现,且可以和任意 probe 自由组合(--probe dan.Dan_11_0 --buff encoding.Base64 这种用法本身就说明"内容手法"和"重构手法"在真实攻击工具里是正交的两个维度,与 CrowdStrike 的框架设计不谋而合)。

这是本次核对里最值得记录的一点:两个独立开发的商业级工具,在没有参照 CrowdStrike 这张图的情况下,各自收敛到了同一个"内容 vs. 重构"的两轴架构。

4. 匹配不上的部分:语料库里存在但分类学没有的"目标/能力轴"

garak 和 augustus 里相当一部分 probe 类目,本质上是按攻击者想达成的目标目标系统的能力面分类,而不是按操纵手法:

  • Malware & Malicious CodeMalware GenerationWeb InjectionPackage HallucinationAV Spam Scanning
  • Data Leakage & MemorizationLeak ReplayAPI KeyMCP Config Secret Scan
  • Toxicity & Harmful ContentReal Toxicity PromptsDo Not AnswerContinuation
  • Agent & Tool-Use Attacks(这块尤其值得关注,因为直接对应你仓库更大主题"智能体安全"):Tool Coercion(伪造工具描述诱导选错工具)、Tool Use(诱导越权调用/参数注入)、Multi-Agent(编排器投毒、任务队列注入、worker 指令腐化)、Browsing(网页隐藏指令)、RAG Poisoning

这些类目回答的是"用某种操纵手法之后,攻击者要拿到什么/滥用哪个能力面",是和"用什么手法说服模型"正交的第三个维度。CrowdStrike 那张图从设计上就没有覆盖这一维——它明确只讲 Injection Methods(怎么送进来)+ Attacker Prompting Techniques(怎么操纵),不讲攻击目标。这不是分类学的缺陷,是范围选择;但如果要用 CrowdStrike 的框架给这些 agent/tool 类攻击打标签,会出现"某个 probe 用的手法可能是 Overt/Cognitive Control Bypass,但它真正的看点是工具选择环节被劫持"——手法标签和这个 probe 的研究价值不是一回事,标注时要两个维度都记,不能只填 CrowdStrike 那一个。

已把这一维度整理成和操纵手法轴同等详细的独立文档,见 goal-capability-taxonomy.md

5. 处理结果

  • 目标/能力轴:已写成完整分类文档 goal-capability-taxonomy.md(四大类:Agent & Tool-Use Exploitation / Malicious Code & Supply Chain / Data & Secret Exfiltration / Toxicity-Harm-Misinformation),并在 classification-framework.md 记录了标注规则(技巧轴 + 目标轴两个字段都要填,不要只填一个)。
  • Context Overload Prompting 空白:已定位到真正的实证来源(Anthropic Many-shot Jailbreaking)并补充 clone 了配套开源实现,本地语料库现在这一类目也有可用 payload,详见 goal-capability-taxonomy.md 第 5 节。
  • Multimodal 类目目前只验证了"探针框架存在",没有实际的图像/音频攻击样本文件落地在本地语料库里,如果要研究这块,需要额外找专门的多模态越狱数据集(这次收集的仓库里没有专注于此的)——这个仍然是未解决的空白,留作后续。