分享AI实践与思考
入门
上手
教程
基础
概念解释
Microsoft Foundry
开发工具
操作指南
参考
治理与网络
工具与知识
概念解释
操作指南
Agent Service
总览
概念解释
Azure OpenAI
API 与开发
总览
Azure AI Search
权限与安全
参考
检索概念
概念解释
快速上手
教程
Foundry Tools
其他与已退役
总览
概念解释
RAG 与知识工程
智能体与工具
MCP 与 Skills
操作指南
基础
评测、观测与安全
安全
评测
概念解释
参考
企业架构与成本
解决方案场景
样例与学习资源
附录
Prompt Injection 与防护
本页解释 prompt injection 的两种形式(直接的用户提示攻击与间接的文档攻击),说明 Microsoft 的 Prompt Shields 能检测什么、不能判断什么,以及它在 Foundry 护栏中的位置。
为什么需要
LLM 应用把系统指令、用户输入和外部内容放在同一个上下文里。攻击者可以在输入中改写指令,也可以把指令藏在网页、邮件或文档里,让模型把数据当成命令执行。对 agent 来说,这类攻击可能进一步触发工具调用,因此风险高于纯问答。
核心概念
类型 | 入口 | 手法 | 可能后果 |
用户提示攻击(直接注入) | 用户输入 | 绕过或改写系统指令 | 模型按与开发者指令冲突的方式行事 |
文档攻击(间接注入) | 检索文档、邮件、网页、其他外部内容 | 在文档内容中嵌入指令 | 执行非预期的命令或动作,如数据外泄、篡改信息 |
用户提示攻击的分类
子类 | 典型形式 |
修改系统规则 | 要求忽略、遗忘或无视既有规则与前文 |
对话模拟 | 在单条输入中伪造多轮对话,诱导模型放弃限制 |
角色扮演 | 让模型扮演没有限制的“另一个人格”,或赋予其情绪、观点等拟人特征 |
编码攻击 | 用编码、密码或特殊生成风格绕过规则 |
文档攻击的分类
子类 | 典型目标 |
内容操纵 | 伪造、隐藏或篡改信息 |
访问系统基础设施 | 建立后门、越权、访问模型或系统 |
信息收集 | 删除、修改、访问或窃取数据 |
可用性破坏 | 使模型不可用、禁用某项能力或强制输出错误信息 |
欺诈 | 诱骗用户交出钱款、密码或以用户身份未经授权操作 |
恶意软件 | 通过恶意链接或邮件传播恶意软件 |
文档攻击还包括与用户提示攻击相同的规则修改、对话模拟、角色扮演与编码几类。
能检测与不能判断的范围
能力 | 是否覆盖 | 说明 |
识别用户提示中的越狱类攻击 | 是 | Prompt Shields 的用户提示攻击检测 |
识别文档内容中嵌入的指令 | 是 | Prompt Shields 的文档攻击检测 |
判断内容是否有害 | 否 | 有害性由内容安全的类别检测负责 |
判断回答是否属实或有依据 | 否 | 需要 groundedness 等评测或其他控制 |
判断内容是否符合政策或任务目标 | 否 | 需要其他护栏与应用控制 |
判断文档来源是否可信 | 否 | 来源可信度由应用集成方定义 |
Prompt Shields 返回的是检测结果(如
detected 与 filtered),是否拦截、排除文档、替换内容或转人工,由应用决定。在 Foundry 护栏中的位置
设置 | 默认状态 | 说明 |
用户提示攻击控制 | 默认开启 | 干预点为用户输入 |
文档攻击控制 | 默认关闭 | 需要在配置护栏控制时显式开启 |
Spotlighting(预览) | 默认关闭 | 用 base64 编码标记文档为低信任内容;会增加 token,且仅适用于 Chat Completions API(待核实,2026-11-05 获取) |
工具响应干预点(预览) | 待核实 | 对 agent 的支持工具,可扫描工具返回中的文档攻击(待核实,2026-11-05 获取) |
Spotlighting 有一个已知副作用:模型回答中可能提到文档内容被编码,即使用户并未询问编码。
与 OWASP LLM Top 10 的对应
OWASP 2025 版把 prompt injection 列为 LLM01:2025。与之相邻的条目包括 LLM07(系统提示泄露)和 LLM06(过度代理,见“工具滥用防护”页)。条目名称已核对,正文细节未逐条通读,见“OWASP LLM Top 10 对照”页。
语言与局限
- 页面说明,Prompt Shields 的用户提示攻击与文档攻击模型主要基于英文训练与评测。非英文效果可能有差异,应对每种语言分别用攻击样本与正常样本测试。
- 检测存在误报与漏报。页面建议误报较多时,可先把动作从 block 调整为 annotate(仅记录)观察。注意:护栏概览页的动作表显示 agent 场景不支持 annotate,两处描述不一致,待核实。
- 页面建议对可信输入源,可考虑在文档攻击扫描中排除。这需要应用侧评估风险后决定。
应用侧防护的通用思路
以下做法是编写者的归纳,未在来源中逐条核实:
- 把外部内容与系统指令分开传递,并明确告诉模型外部内容只是数据。
- 对工具调用限定权限,高风险动作要求用户确认或人工审核。
- 对模型输出做校验后再交给下游系统。
- 用攻击样本做回归测试,纳入评测流程。
来源与核对
- 来源 URL:
- https://learn.microsoft.com/en-us/azure/ai-services/content-safety/concepts/jailbreak-detection
- https://learn.microsoft.com/en-us/azure/foundry/guardrails/guardrails-overview
- https://genai.owasp.org/llm-top-10/
- 核对范围:正文已读(Prompt Shields 概念页与 Foundry 护栏概览页已读取正文)。OWASP 页面仅核对了条目编号与名称,各条摘要未逐一通读,见“OWASP LLM Top 10 对照”页的说明。
- 获取日期:2026-11-05。预览状态(Spotlighting、工具响应干预点)与动作适用范围均以该日期的页面为准,待核实。
上一篇
负责任 AI 与内容安全治理
下一篇
评测指标与方法
Loading...