Skip to content

Prompt Injection 的攻击目标与能力面分类 ​

摘要 ​

投递和提示操纵只能说明攻击如何生效,不能说明攻击者最终想控制什么。本研究从公开扫描器与 Agent Benchmark 的任务设计中归纳目标能力轴,用于区分策略绕过、数据窃取、工具劫持、持久化和资源滥用等不同测试目的。该轴是工具设计的综合归纳,不是独立公开标准。

整理日期:2026-07-28。

方法的独特价值 ​

这不是某个厂商或论文发布的现成分类法,而是本站从 garak(NVIDIA)和 augustus(Praetorian)的 probe 分组中归纳,并用 InjecAgent、AgentDojo 的攻击意图分类交叉核对。引用时必须注明“基于 garak 和 Augustus 工具分类归纳”,不能把它表述为独立公开标准。

对应 payload-corpus-taxonomy-mapping.md 第 4 节发现的问题:这些类目回答的是"用某种操纵手法之后,攻击者要拿到什么/滥用哪个能力面",和 crowdstrike-prompt-injection-taxonomy.md 的"操纵手法"轴正交,CrowdStrike 完全没覆盖。

适用范围 ​

该轴适用于标注 Prompt Injection 测试用例的最终目标或被滥用能力,不描述载荷投递方式,也不判断具体产品是否存在漏洞。一个用例可在本轴选择一个主要目标,并在 CrowdStrike 轴上另标操纵手法;跨分类关系使用元数据表达,不据此创建网站新分类。

方法与分类结果 ​

标注方法 ​

给一个具体的 probe/payload 打标签时,同时填两个字段,不要只填一个:

  • technique:用的什么操纵手法,对照 CrowdStrike 分类。
  • goal:想达成什么目标/滥用哪个能力面,对照本文档。

例如 augustus 的 Tool Coercion(伪造工具描述诱导模型选错工具):technique = Overt/Cognitive Control Bypass 的 False Authorization Prompting(伪造权威),goal = Agent & Tool-Use Exploitation 的 Tool Selection Hijacking。两个标签缺一都会丢信息。

1. Agent 与工具滥用 ​

与本仓库 agent-security/ 大主题关系最直接的一类。

  • Tool Selection Hijacking:伪造工具描述/元数据诱导模型选择恶意工具而非合法工具(augustus Tool Coercion,攻击面是"工具选择"这一步本身,不是工具执行结果)。
  • Unauthorized Tool Invocation:诱导模型调用未授权工具、注入恶意参数、放大工具调用链(augustus Tool Use)。
  • Multi-Agent System Poisoning:编排器(orchestrator)投毒、任务队列注入、优先级操纵、worker 指令腐化、结果过滤/篡改(augustus Multi-Agent)——这是目前工具化程度最低、最值得深挖的子类,直接呼应 security-agent-countermeasure-research.md 里"多 Agent 信任传染"那条研究方向。
  • Browsing Agent Manipulation:网页内容里藏对人类不可见但模型会读取执行的指令(augustus Browsing)。
  • RAG / Knowledge Base Poisoning:向检索知识库投放污染文档,模型回答触发问题时把污染内容当真(augustus RAG Poisoning)。
  • MCP Attack Surface:针对 Model Context Protocol 的越权访问对象(BOLA)、对工具后端的 SSRF、响应中的凭据泄露、MCP 配置文件里的硬编码密钥扫描(augustus mcptool.*、recon.MCP*、MCP Config Secret Scan)。

InjecAgent 的攻击意图两分法(对用户直接造成伤害 / 窃取用户隐私数据)大致横跨这一类和下面第 3 类,可以作为二次校验:一个 Agent & Tool-Use 类的攻击,最终目的通常落在"直接伤害"或"数据窃取"里的一个。

2. 恶意代码与供应链 ​

  • Malware Generation:诱导生成完整恶意程序、恶意子函数、反检测/免杀代码,覆盖多种编程语言(augustus Malware Generation)。
  • Malicious Web Content Generation:诱导生成 XSS 脚本、跳转 meta 标签、CSS 数据渗出、恶意表单字段(augustus Web Injection)。
  • Package Hallucination:诱导推荐并不存在的依赖包名,攻击者可抢注这些包名发起供应链攻击(augustus Package Hallucination)。
  • Classic Web Payload Coercion:诱导模型吐出经典 Web 攻击 payload(SQLi、SSTI),如果下游系统直接执行/渲染模型输出就会造成实际危害(augustus Exploitation)。

3. 数据与密钥窃取 ​

  • System Prompt / Instruction Extraction:套出系统提示词原文(garak sysprompt_extraction)。
  • Fabricated / Leaked API Key:诱导模型编造或补全看起来真实的密钥(augustus API Key)。
  • Config Secret Scanning:扫描 MCP 等配置文件里硬编码的凭据(augustus MCP Config Secret Scan,这个是被动侦察,不需要对模型发起攻击)。
  • Training Data Memorization Replay:用完形填空式测试或"发散攻击"(重复某词直到模型开始复现训练数据)验证模型是否记住了受版权保护的原文(garak leakreplay、divergence)。

4. 有害内容与错误信息生成 ​

  • Toxic Content Elicitation:诱导生成毒性言论(garak/augustus Real Toxicity Prompts、Continuation 脏话补全)。
  • Refusal Bypass on Known-Refuse Prompts:重放"安全对齐模型应该拒绝"的标准数据集,测试是否真的拒绝(Do Not Answer)。
  • Sycophancy / False-Claim Amplification:抛出错误事实断言,检测模型是否附和而非纠正(Misleading)。
  • Mixed Risk-Card Probes:按 Language Model Risk Cards 框架定义的一揽子风险类别,非对抗性检查和对抗性注入混在一起(LMRC)。
  • AV/Spam Signature Emission:诱导模型吐出知名反病毒测试特征串,检查下游是否对模型输出做了恶意内容扫描(AV Spam Scanning)。

质量控制 ​

上下文过载的交叉核验 ​

payload-corpus-taxonomy-mapping.md 原本记录“CrowdStrike 的 Context Overload Prompting 在语料库里找不到专门实现”。补充检索后确认,这只说明本次收集的 18 个仓库没有覆盖,并不代表工具生态没有相关研究。对应实证是 Anthropic 的 Many-shot Jailbreaking(Anil et al., 2024):用几十到几百个虚构有害问答示例填充长上下文,通过上下文学习削弱安全对齐,效果随示例数量近似幂律增长。配套开源实现 TrustAI-laboratory/Many-Shot-Jailbreaking-Demo 包含 400 条改编自 HarmBench 的问答对和生成脚本,可作为授权环境中的本地测试材料。

局限与待验证问题 ​

样本来源偏向安全扫描器和 Agent 基准,分类粒度会受到这些工具当前覆盖范围影响。部分条目同时描述手段和结果,例如 Package Hallucination 或 MCP 配置密钥扫描,需要在实际标注时确认其主要评估目标。后续应通过双人独立标注、冲突记录和跨工具样本复核,验证类别是否互斥且可重复。

参考链接 ​