
引用在 agentic AI、LLM 应用、RAG 系统、编码代理和 computer-use agent 的评估实践中一套 12 阶段的测试框架被逐步沉淀出来。它不是终极方法论也不覆盖训练数据投毒、模型文件反序列化这类需要内部访问的攻击面——它面向渗透测试人员、漏洞赏金猎人和红队工程师从外部视角出发用相对低的门槛复现真实影响。这套方法论的核心心智模型是一条AI Kill ChainPrompt Injection → Confused Deputy → Automatic Tool Invocation → Payoff 数据外泄 / 持久化 / RCE / 自我传播下面按 12 个阶段逐一展开。1. Recon Attack-Surface Mapping侦察与攻击面测绘一上来就对着聊天框试 prompt injection 是本末倒置。第一步永远是搞清楚你在打什么。需要测绘的维度模型与产品哪家 provider、preview 还是 GApreview 往往更容易被注入、系统卡/威胁模型声明与实际行为是否一致、助手实际用的是哪个登录身份用户会话还是服务账户——去服务端日志里确认不要信聊天回复、是否存在独立的最小权限服务账户。不可信输入通道聊天/API 文本、文件上传PDF/DOC/XLS、图像/音频/视频/QR、网页浏览、RAG/向量库、邮件/日历/共享文档、Slack/Teams/Jira 连接器、GitHub issue/PR、MCP/工具响应、他人帖子/转录、文件名与 EXIF、User-Agent/HTTP 头以及不经过用户输入的 CSRF 式投递。能力面文件读写删、Shell/代码解释器、浏览器/computer-use、记忆/长期状态、发邮件/建日历、端口暴露/隧道/部署、MCP/插件/GPT Actions、SQL/企业 API。Confused Deputy 可触达的战利品本地文件/.env/密钥/环境变量、邮箱/Drive/工单/聊天记录、长期记忆/技能/规则文件、跨租户或同租户其他用户数据。输出/外泄渲染器Markdown 图片、HTMLimg、可点击链接与 unfurl、Mermaid/图表渲染器、ANSI/终端输出、Schema/IntelliSense 自动拉取、生成的图像/视频/文件产物。上下文中的身份信息系统提示是否携带用户名/邮箱/地区/职位——这决定了后续能否做条件化、定向注入。Copilot/已登录会话专项用 profiler/代理/审计日志追踪一次简单读取到底以哪个身份执行列出所有低权限用户可以编辑、而助手之后会读到的文本面描述、评论、文件名、工单、规则文件构建权限路径低权限用户编辑 → 高权限用户正常提问 → 工具以高权限身份执行。2. System Prompt / Instruction Leak系统提示与指令泄露拿到系统提示的价值被严重低估。它揭示了开发者如何结构化输入、如何区分系统指令与用户输入、隐藏了哪些策略以及——在 agentic 时代更重要的——工具定义。当系统提示里出现大量 do not / under no circumstances 的 prompt begging往往说明这家公司没有别的护栏而这恰恰是绕过的机会。主要手法族直接提取要求逐字复述、打印这一行以上的全部内容、索要工具名/描述/参数、分段索取只给工具、只给策略。格式变换把指令改写成 YAML/JSON/XML、翻译成其他语言、leet 编码后再解码、写进文件或产物、通过图像/视频生成泄露。续写/预填预填助手回合、部分泄露后接着上次继续、greet-and-repeat强制肯定前缀 → 压缩 token 窗口 → 分离用户与系统指令 → dump、会话 ID/JSON 重置技巧。框架化开发者/维护者/调试/审计/合规框架、转录/归档/自描述记录框架、拿已知泄露的提示做 diff、多轮多次泄露、变量/子串重组。非聊天渠道读 CLI/扩展/二进制源码找 allowlist 与工具定义、grep 发布包中自动批准的命令、从技能/规则/MCP 工具描述与 schema 泄露、在系统提示中搜索 URL/API key/过滤规则。边泄露边绕过滤关键词/WAF 黑名单绕过、仅字母数字、输出编码躲避脱敏、sanitizer 不一致guard 看到的是剥离后的模型仍持有原文。3. Tool Capability Enumeration工具与能力枚举Agentic 系统的真正威力在工具。这一阶段的目标是建立能力地图按爆炸半径排序找到那个把注入变成影响的工具。发现让模型列出全部工具/名称/参数/用途用良性动作逐个实测并在服务端日志确认对比工具名与实际接受的输入一个接受原始 query/path/URL 的只读/搜索工具在证明其只读之前都应视为写工具枚举 OpenAPI/Action/MCP schema包括无聊的内部参数。每个工具的爆炸半径问题能否写文件或自身配置能否跑 shell/代码、哪些命令在 allowlist/自动批准能否触网fetch、图片渲染、DNS、Mermaid、unfurl能否写记忆并跨会话持久能否暴露/隧道端口、改 ACL、发邮件、开 PR、建工单是否有工具无需确认就触发AuthZ 是否传递进工具还是仅凭 AuthN 就放行经典发现接受 query 参数/URL 的只读工具、意图激活标题/话语绑定到工具、工具链允许的工具 → 受限的工具、通过工具参数的 IDOR/SQLi/路径穿越、攻击者控制的工具输出喂给下一个工具、副作用工具上isConsequential标志设置错误。4. Automatic Tool Invocation / Confirmation Bypass自动调用与确认绕过间接注入要证明影响最好是零用户交互。如果用户要反复点确认攻击链成功率会大打折扣。自动触发基线把指令放在页面/文件上看工具是否仅因读取/浏览就触发图像生成类静默自动调用的 canary同轮是否被拦测试延迟/下一轮/触发词在文档里埋下当用户说 yes/no/关键词时触发的延迟规则由页面标题、issue 标题或话语触发的意图激活。确认绕过工具链洗白意图允许的掩护动作 受限副作用、computer-use 上的只输入不提交敲进自动捕获字段即可绕过提交确认、通过写配置强制 YOLO/自动批准、操纵人类审批 UI对确认者做社会工程、伪造已批准/已授权/开发者测试框架、把工具调用包装成必需的前置步骤。时序/UI 竞态computer-use 上的 TOCTOU——截图 → 推理 → UI 被换掉 → 点击落在新页面fake-fix 社会工程。5. Direct Prompt Injection Jailbreak Baselines直接注入与越狱基线这一阶段是证明输出完整性可被攻击者控制并测绘拒绝轮廓为后续间接阶段铺路。方法论只列家族名不提供 payload。完整性/目标劫持人设/角色接管、目标重写、指令层级覆盖用户或自定义 GPT 压过 system/developer、spotlighting/信任分隔符破坏、推理/思维链注入。越狱技术家族角色扮演/虚构框架、unrestricted-mode/developer-mode/双响应、语义反转/反向拒绝、策略重置、拒绝抑制/肯定响应预置、greet-and-repeat、many-shot/长上下文淹没、渐进式多轮升级crescendo、prefill/续写、上下文终止 新任务、伪造历史对话、权威/管理员冒充、奉承、叙事/诗歌/藏头、把请求藏进任务、分支选择框架、先给错答案再纠正、伦理/学术/拍电影/历史借口、文化框架、IPA/音标编码、数学变量/符号混淆、虚构 API/调试编译器、知识保存/虚构集体、wiki 升级、标题/键值结构化、第一人称、超短 prompt、自动化对抗后缀、跨模态越狱危害拆分到文本图像、文生图/文生视频越狱。编码/混淆家族Base64/hex/rot13/ASCII 十进制、leet/字符替换/故意拼错、Pig Latin/倒序、token 走私/特殊 token/BPE 拆分、零宽/Unicode tags/同形字、低资源语言包装 翻译指令、NATO 字母表/摩斯、emoji 编码、国旗当 payload/生僻文字、词内插字符/随机空格、多语言同形字零宽组合。拒绝/过滤测绘与绕过记录精确触发点token 前缀、.env、已知 OAST 域名、关键词子串模式匹配搜部分密钥前缀意图模糊化用通用 grep 模式而非点名密钥用非黑名单的自有域名而非安全扫描器域名输出编码躲 UI 脱敏/出口过滤多级跳板/缓慢跨页引导被拒后开新上下文从小做起降级模型/开源模型/缩小范围/去掉攻击性词汇输出过滤绕过sanitizer 不一致LLM-as-judge 判决翻转。条件化/定向基于泄露身份姓名/角色/地区分支——在正确受害者出现前保持休眠同一产物对不同用户产生不同结果。6. Indirect Prompt Injection间接提示注入零点击影响活在这里。指令通过 agent 消费的数据投递而非用户 prompt。投递向量agent 浏览的网页、源码注释/内联代码/规则文件、上传文档、图像OCR/视觉/音频ASR/视频帧/字幕、邮件/共享文档/强制共享 Drive、日历邀请正文、陌生人创建的 GitHub issue/PR、MCP 服务器/工具响应/OpenAPI 描述、他人帖子/社交/YouTube 转录、经连接器的 Jira/Slack、RAG 分块/论文/Notebook 语料、文件名/元数据/EXIF、User-Agent/自定义 HTTP 头、Agent Skills/SKILL.md/hooks/项目规则、技能正文前运行的动态 preamble、磁盘上残留的恶意技能、剪贴板污染/fake-fix 页面、QR 码、图像隐写/扰动音频。向量内的隐蔽/混淆不可见 Unicode Tags/ASCII 走私输入与输出、零宽字符、白底白字/opacity-0/display-none/1px/font-size-0、屏幕外/文档中部掩埋/长合法内容中埋请求、HTML/源码注释、页面标题/meta/Open Graph/keywords、图片 alt/title/SVG desc/CSS content/data 属性、ANSI 转义序列CLI/IDE、同形字、跨模态 sanitizer 不一致OCR 看到了文本 guard 从未拿到的内容、对标记为不可信内容做 spotlighting/信任分隔符破坏。间接框架家族埋藏的文本如何论证更新指令/先前请求已作废、前置/强制处理步骤、上下文终止 新任务、文档内伪造 USER/ASSISTANT 角色轮次、权威/管理员指令、AI 自我指向如果你是正在阅读此内容的 AI 助手……、TODO 框架、伪造批准/已授权、语言切换上下文断裂、上述堆叠组合、声称为了准确结果需要密钥、把步骤藏进被要求读取的二级文件、把攻击者仓库包装成官方安装路径。多模态专项图像隐写/低对比度文字、图像缩放攻击payload 仅在 resize 后出现、音频取证/口述指令、跨模态链图像 文档 工具调用。7. Filter / Guardrail Bypass过滤与护栏绕过今天几乎没有不带护栏的 LLM输入过滤、输出过滤、prompt begging、意图分类器、allowlist——而且大量使用正则这从来不是好信号。输入/意图过滤关键词 WAF 同义词/加空格/外语绕过、仅字母数字去标点、意图分类器规避要别的东西、编码大杂烩、token 破坏/随机空格/敏感词内零宽、拼写检查/纠正这个/翻译框架、强制 JSON/YAML/结构化输出重塑请求、超量任务淹没、把产物与指令分离先给产物再提问。输出/出口过滤对泄露密钥编码Base64/Base32/hex/加空格/一行一字符、子串搜索避开完整 token 触发点、用非黑名单域名做 canary、让扫描器看不到明文、脱敏服务短板客户端 vs 服务端。一个很有代表性的技巧是给模型一个密钥要求它用 AES-256 加密响应——响应能通过检查而攻击者持有密钥可以解密。Allowlist/策略绕过通过允许的包装器附加 flag 绕过命令 allowlist/正则、find … -exec及类似被允许的网络/shell 原语、出口 allowlist/url_safe绕过客户端检查不算数用可信主机做 C2、指令层级覆盖、spotlighting 破坏、sanitizer 不一致、LLM-as-judge 操纵。注意 judge 常用同产品线模型或更弱/更旧的模型成本考量共享同样的弱点。8. Data Exfiltration Channels数据外泄通道拿到敏感数据只是一半证明影响需要把它送出去。外泄三要素 私有数据 不可信输入 出站通道。渲染器/客户端通道Markdown 图片自动渲染客户端拉取即零点击、HTML 图片自动渲染、需点击的 Markdown 图片、可点击超链接1 次点击、链接 unfurl/预览自动拉取、URL 路径里 ASCII 走私的数据人看到的是干净链接、Mermaid/图表/DSL 图片出口、Schema/IntelliSense/$schema自动拉取、不可见/零尺寸渲染、生成的图像/视频/文件产物携带数据、伪装成合法的钓鱼链接或电话。网络/工具通道经允许的 ping/nslookup/dig/host 做 DNS 外泄、ANSI/终端转义序列滥用、原生 API/工具调用外泄文件上传 API、HTTP 工具、MCP post、带攻击者凭据的厂商文件 API、curl/fetch/浏览到攻击者 URL 并带数据、连接器泄露好 MCP/工具 → 恶意 MCP/工具、外泄进 GitHubissue/gist/commit/repo、经发邮件或建日历外泄、computer-use 上只输入不提交击键自动捕获、记忆/技能内容外泄进生成媒体再上传 Drive。外泄时的精炼Base64 躲密钥脱敏、子串匹配躲拒绝、用自有非安全域名躲 OAST 黑名单、看你的 web DNS 日志而不是 agent UI、即使调用失败也要确认是否出现了连接尝试。值得放 canary 的敏感目标系统提示/工具 schema、聊天历史/记忆/技能、.env/token/cookie/浏览器历史、邮件/Drive/RAG 命中/跨用户数据、VM/OS/容器配置、训练数据/成员推断/模型反演探针在范围内时。9. Memory / Persistence记忆与持久化——持久化记忆间谍软件把一次性注入变成跨会话的常驻控制。写/改/删从不可信数据写假记忆文档/图像/浏览、更新既有记忆、删除/批量清空、留意Memory updated成功提示、经生成图像/视频写假记忆、在后续关键词上触发改记忆的延迟工具调用。持久化收益持久化外泄指令之后每一轮都泄露——持久化记忆间谍软件持久化延迟触发规则经出口 allowlist 主机的记忆驻留 C2破坏性完整性/可用性维护中/拒绝一切记忆 → 持久 DoS作为全局/共享记忆的蠕虫 payload跨会话验证新开聊天仍能回忆并执行。相关持久状态磁盘上持久恶意技能/规则/hooks、被注入改变的人格/偏好/bio 设置、跨会话记忆投毒。10. Escalation to Code Execution / RCE升级到代码执行从注入到宿主/VM/沙箱上的任意命令执行。注意沙箱内的 RCE 很多厂商不认为有影响只是你自己的临时沙箱但逃逸到宿主或在本地/服务器上运行的编码 agent就是关键。自配置升级agent 写自身设置开启 YOLO/自动批准、写 tasks.json/allowlist/hooks、添加会下载并运行代码的恶意 MCP 服务器、改兄弟 agent 的配置跨 agent、启动后覆盖安全措施。Shell/沙箱滥用滥用自动批准的 shell 命令、经附加 flag 绕过命令 allowlist/正则、find -exec及类似、按 OS 条件选择命令、沙箱逃逸Docker/Firecracker 等、符号链接/路径穿越/写到启动目录之外、通过渲染工具的 SSTI/模板 RCE、模型产物中的 pickle/反序列化供应链邻近。Computer-use/浏览器 RCE 路径直接开口——页面让 agent 下载 Support Tool 并启动curl/wget 下载 chmod exec直接 URL 被拒时的 Base64 单行变体fake-fix 社会工程页UI 被换后的 TOCTOU 点击剪贴板污染后粘贴执行。SaaS/agent-VM 影响SaaS VM 上的启动脚本 RCE起本地 web 服务 暴露/隧道端口 → 公网 URL加密/删除 Drive 或沙箱文件作为副作用的不需要的 cron/邮件/日历/工单/仓库创建。11. Full Kill Chains完整杀伤链把原语组装成端到端影响。授权测试中用 canary良性进程、有日志的请求不要用破坏性 payload。典型链型外泄三要素 token 窃取注入 → 读密钥绕拒绝→ 渲染器/DNS/API 外泄被劫持 agent 的 C2注入 → 下载并运行植入物 → 主机加入攻击者 C2端口暴露链多阶段网页注入 → 本地服务器 → 自动 expose_port → 外泄公网 URL → 攻击者浏览文件持久记忆 C2注入 → 写入外泄指令记忆 → 之后每个会话都泄露/接受任务YOLO 自授权 RCE注入 → 写自动批准配置 → 无限制 shell自我传播 agent 蠕虫通用条件 payload 识别 agent → RCE → 感染本地 git 仓库 → commit/push → 下一个开发者的 agent 再感染跨 agent 权限提升一个 agent 释放/重配另一个fake-fix 社会工程链页面 → agent 或人类执行修复 → 沦陷SQL/DB 权限爬升只读 copilot → 仅靠词过滤拦截 → 高权限工具以管理员身份运行模板渲染 → 沙箱 RCE → 横向拉取邮件劫持 agent恶意邮件 → 总结 → 带绕过框架JSFuck 解码、开发者测试等的工具/RCE浏览器账号接管链注入 → MFA/邮箱验证码 → Drive/Slack/X 会话滥用规则/技能文件链被投毒的规则 → 添加恶意软件/外泄/钓鱼操作者多链跳板payload 跨模型、工具或 agent 跳跃影响呈现检查可工作的 canary PoC 端到端录像映射到 CIA 三要素与厂商严重性零点击 AI 数据泄露常为 Critical具体缓解措施负责任披露窗口适用时申请 CVE。12. Agentic-Specific ChecksAgentic 专项多 agent/编排agent 间提示注入、agent 间信任边界失效、恶意/被攻陷的对等 agent、目标劫持/递归规划攻击、confused-deputy 升级一个 agent 替另一个调工具、supervisor/编排器沦陷、攻击者控制的工具输出 → 下一个 agent/工具、审批门绕过与人类 UI 操纵、跨共享仓库/hooks/技能的蠕虫自我复制。MCP 服务器工具/服务器描述中的隐藏指令含 Unicode 技巧、工具描述注入 → 非预期 MCP 调用、授权绕过/过度宽松 token/配置中的 token、文件系统前缀/路径穿越/缺文件类型校验、只读声明绕过、日志投毒、经 MCP 工具的 SQLi/命令注入、恶意 MCP 服务器作为供应链 外泄汇、连接器泄露好 MCP → 坏 MCP/跨服务器升级、注入假工具定义/JSON schema、暴露过多工具枚举全部参数、由标题/话语触发的意图激活、经 MCP fetch 的出口、MCP 支撑的技能加载时的动态上下文注入、Slack/邮件/日历 MCP文档/邮件 PI → 发历史或密钥。Agent Skills/规则/hooksSKILL.md/规则/hooks 注入、技能文件中的不可见 Unicode描述看似无害正文劫持、技能正文前运行的动态 preamble、作为有用包分发的持久恶意技能、ignore-file 覆盖/隐藏文件名的 payload、悄悄声明危险 allowed-tools如 Bash的技能。Computer-use/AI 浏览器单独导航上下文投毒、总结/协助此页面的注入、图像/QR 上传进浏览器 agent、页面上不可见/CSS 隐藏文字、推文/帖子 → 目标页携带指令、日历邀请正文当 payload、拼写检查/剪贴板路径、unfurl、fake-fix 社会工程、TOCTOU、只输入不提交外泄、账号接管后果邮箱验证码、Slack MFA、Drive 列全部、把仓库设为公开、通过开关标签页 DoS、点击时剪贴板投毒。编码 agent 专项规则文件/技能/hooks/源码注释注入、自身与兄弟配置修改、allowlist 滥用、YOLO 模式、写到项目之外、Schema/IntelliSense 自动拉取外泄、从宿主发起的 DNS/curl/Markdown/Mermaid 外泄、使自我传播 agent 蠕虫得以 push 的分支保护/签名密钥缺口。AuthZ/身份/会话横切助手使用登录用户权限且无独立服务账户、经共享 RAG/记忆/向量库的跨用户/跨租户泄露、会话隔离失效/跨会话会话历史、AuthZ 未传递到工具/MCP仅 AuthN 即可访问工具、身份蔓延/过度授权服务账户、会话轮换绕速率限制/签名请求重放、链式工具间无 AuthZ 追踪。供应链/投毒在范围内时恶意 MCP 服务器/技能包/插件、被投毒的 RAG/众包/微调数据、后门 LoRA/去安全微调、Hugging Face 抢注/模型文件 pickle RCE、缺模型来源/签名、经 git 推送的蠕虫 payload。DoS/无界消耗在范围内时token 放大、上下文窗口耗尽、递归工具调用炸弹、Denial of Wallet、记忆 DoS、经间接注入的循环、魔法字符串/触发词崩溃、agentic 负载下的速率限制/配额缺口。不当输出处理被渲染/执行时渲染输出中的 XSS/HTML/JS 注入、生成标记的 CSRF、生成查询或路径中的 SQLi/SSTI/XXE/路径穿越、图表/DSL 客户端执行、schema 自动拉取、生成的钓鱼链接/QR/打这个电话。13. 一页纸 Master Checklist侦察— 模型/provider日志中追踪的登录身份全部输入通道全部工具可触达战利品渲染器提示中的身份字段低权限用户可编辑的文本面。提示泄露— 直接/格式变换/prefill/greet-and-repeat/开发者框架/CLI 源码/技能-MCP 描述/编码绕脱敏。工具— 完整枚举 实测调用写/shell/网络/记忆/暴露自动批准列表名不副实的只读AuthZ 是否进工具。自动调用— 不可信内容会触发工具吗延迟/触发链式洗白只输入不提交YOLO 自授权TOCTOUfake-fix伪造批准框架。直接 PI/越狱— 人设/unrestricted-mode/语义反转/策略重置/多轮/many-shot/prefill/编码家族测绘拒绝条件化身份分支。间接 PI— web/代码/文档/图像/音频/邮件/issue/MCP/RAG/技能Unicode tags/零宽/CSS 隐藏/ANSI/隐写更新指令/前置/上下文终止/伪造角色/权威/AI 指向。护栏绕过— WAF/意图/编码/allowlist/url_safe/sanitizer 不一致/LLM-as-judge/输出脱敏规避。外泄— md/HTML 图片Mermaid链接 unfurlDNSANSI原生 API/文件 APIcurl连接器泄露只输入不提交GitHub/邮件/日历canary 命中看你的日志。记忆— 从不可信源写/改/删持久记忆间谍软件延迟触发记忆 DoS跨会话验证持久技能。RCE— 自配置 YOLO恶意 MCPallowlist 绕过沙箱逃逸computer-use 下载运行端口暴露SSTI/模板工具。杀伤链— 外泄三要素被劫持 agent C2端口暴露持久记忆 C2自我传播 agent 蠕虫跨 agentfake-fixDB 权限爬升邮件劫持浏览器接管。Agentic— 多 agent 信任MCP 描述 PIUnicode 技能computer-use TOCTOU编码 agent 规则/hooksAuthZ/会话隔离供应链 MCP/技能DoS/DoW渲染输出的 XSS。14. 结语始终记住模型拒绝 ≠ 控制一个共享信任边界技术跨 agent 可移植每个新功能后重测在服务端/DNS/canary 日志里确认而不是聊天截图仅限授权测试。最关键的一点是prompt injection 在当前阶段是非可解问题——模型很难区分开发者指令与用户数据。SQL 注入和 XSS 有确定性修复AI 没有。所以与其试图消灭 prompt injection不可能不如假设注入会成功把控制建在下游流程上。而且它不是确定性的前 50 个 prompt 不 work第 51 个可能就注入成功——攻击者只需要一次成功。这就是为什么侦察、工具枚举、爆炸半径分析和杀伤链组装比盲目堆砌 jailbreak payload 重要得多。