外观
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 配置密钥扫描,需要在实际标注时确认其主要评估目标。后续应通过双人独立标注、冲突记录和跨工具样本复核,验证类别是否互斥且可重复。