mcpField
A
azure-ai-content-safety

azure-ai-content-safety

github.com/vinayaklatthe安全17842 次安装19 周前更新
代码仓库

关于 azure-ai-content-safety

azure-ai-content-safety 是为生成式 AI 应用设计的内容审核与安全防护技能,适用于聊天、Agent 和 RAG 等场景。它涵盖输入输出审核、提示注入检测及基于来源的响应核验。

主要功能

  1. 01文本、图像及多模态审核
  2. 02检测提示注入与越狱
  3. 03核验响应依据来源
  4. 04识别受保护文本与代码
  5. 05自定义类别和屏蔽列表

适用场景

  1. 01为聊天应用审核输入和输出
  2. 02保护 RAG 内容免受间接注入
  3. 03检查高风险回答是否有来源依据
  4. 04筛查生成文本或代码中的受保护材料

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/vinayaklatthe/microsoft-security-skills --skill azure-ai-content-safety

安装后在 Claude Code 中输入/azure-ai-content-safety确认已加载。

详细介绍

Azure AI Content Safety

Azure AI Content Safety 是用于实时内容审核和生成式 AI 安全的平台。它会分析文本、图像和多模态内容中的危害类别,阻止提示注入/越狱尝试(Prompt Shields),检测缺乏依据的响应(Groundedness),并标记受保护文本/代码的复现。

它可作为内置内容筛选器(默认安全网)与 Azure OpenAI 配合使用,也可作为可配置的防护措施,用于任何 AI/大模型应用(包括非 Microsoft 模型)。

适用场景

构建或加固任何生成式 AI 应用——聊天助手、Agent、RAG 应用、多模态产品——且需要对输入和输出进行防护。

请勿将此技能用于 AI 工作负载的 SOC 威胁检测 (defender-for-cloud-ai)、终端用户 AI 使用治理(purview-ai-hub)或通用 AI 应用架构。

能力一览

能力功能应用位置
文本审核将文本分类为仇恨、暴力、色情、自残(严重程度 0–7)输入 + 输出
图像审核对图像应用相同类别的审核用户上传内容、生成的图像
多模态审核结合文本 + 图像上下文多模态聊天
Prompt Shields — 用户提示词检测用户提示词中的越狱尝试输入
Prompt Shields — 间接提示注入检测不可信依据内容(RAG、工具结果、网页)中的注入依据内容处理前
依据性检测根据依据来源检查大模型响应,检测幻觉输出
受保护材料 — 文本检测逐字复制的受版权保护文本输出
受保护材料 — 代码检测对公开仓库代码的复现代码生成输出
自定义类别客户定义的危害类别(例如,偏离品牌定位的话题)输入 + 输出
屏蔽列表精确匹配 + 正则表达式屏蔽列表输入 + 输出

方法

  1. 从 Azure OpenAI 默认内容筛选器开始。 每个 Azure OpenAI 部署都会在所有四个危害类别中启用默认的内容安全筛选器,严重程度为 中等。不要在未启用该筛选器的情况下部署。

  2. 根据使用场景调整严重程度阈值。

    • 儿童产品:低阈值(严重程度达到 2 时拦截)。
    • 成人创意应用:高阈值(仅在严重程度达到 6 时拦截)。 在 Azure OpenAI Studio 中创建自定义内容筛选器,并将其分配给部署。
  3. 为任何面向用户的聊天或 Agent 启用 Prompt Shields。

    • 对传入提示词启用 用户提示词防护。
    • 在接地内容(RAG 文档片段、工具输出、抓取的网页)送达模型之前,对其启用 间接提示词防护。间接注入的影响更大,也更难察觉。
  4. 为 RAG 应用进行接地性检测。 模型生成响应后,使用来源片段调用接地性检测。标记或拒绝缺乏依据的声明。这会增加延迟(额外调用一次模型),但对于高风险应用(医疗、法律、金融)而言,这是防范幻觉的主要手段。

  5. 对于大规模生成文本或代码的产品,启用受保护材料检测:

    • 文本:SaaS 文案撰写工具。
    • 代码:开发者助手(Copilot 风格)。 标记输出,并选择抑制输出或为其添加注释。
  6. 针对品牌或领域特有的风险(提及竞争对手、受监管的披露措辞、内部代号),使用自定义类别和屏蔽列表。 通过 Content Safety Studio 训练自定义类别,每个类别约需 100 个示例。

  7. 架构模式(边车 / 中间件)。

    • 请求 → Prompt Shield →(LLM 调用)→ 输出分类器(危害、接地性、受保护材料)→ 响应。
    • 失败时默认拒绝:如果 Content Safety 调用出错,不要返回未经控制的 LLM 输出。
    • 记录每项判定(允许 / 拦截 / 标记),以便审计和调整。
  8. 性能。 每项防护措施会增加 50–300ms。并行执行输入和输出检查;遇到第一个硬性拦截条件时立即终止。将延迟纳入用户预期。

  9. 运营。 每周审查被拦截内容的样本(并采用隐私控制措施)。调整阈值、自定义类别和屏蔽列表。按类别跟踪误报率和漏报率。

防护措施

  • 默认筛选器只是基线,并非完整的安全策略。 Prompt Shields、接地性检测和自定义类别能够弥补实际存在的缺口。
  • 不要向终端用户公开危害类别评分。 “你说的 X 暴力评分为 6”这类消息会帮助攻击者调整越狱提示词。
  • Content Safety 出错时默认拒绝。 服务返回 500 时,不应导致未经审核的 LLM 输出传递给用户。
  • 间接提示词注入是容易被低估的风险。 用户的提示词是可见的;抓取的网页或文档中的恶意字符串则不可见。务必对接地内容启用防护。
  • 接地性检测要求你发送接地来源。 RAG 应用本身就有这些来源;纯聊天应用则没有。
  • 自定义类别不能替代产品策略。 它们只能检测内容;无法阻止用户通过其他工具生成有害内容。
  • 受保护材料检测只能尽力而为。 版权 / IP 审查是法律流程,而非 API 的检测结果。
  • Content Safety 按调用计费。 高流量应用需要进行成本建模;并非每次调用都要运行所有功能(接地性检测开销很大,应根据使用场景决定是否启用)。
  • 与 Defender for Cloud AI 搭配使用,以检测 SOC 侧的攻击尝试和模式(defender-for-cloud-ai)。

常见反模式

  • “默认筛选器就够了”——没有越狱/注入防护。
  • “因为‘我们的所有来源都可信’,所以跳过间接提示词防护”——这些来源只是可信地存在,并不代表未遭篡改。RAG 语料库会遭到投毒。
  • “无论是否有依据,每次聊天调用都进行依据性检测”——对于没有可供核对的依据来源的纯聊天,会徒增成本。
  • “以明文记录用户提示词以便调优”——会暴露隐私/个人身份信息。应进行假名化处理。
  • “在错误消息中返回 Content Safety 严重性分数”——这会给攻击者提供调优依据。
  • “仅用 5 个示例训练自定义类别”——无法提升模型效果。至少需要约 100 个示例。
  • “将屏蔽列表作为主要策略”——无法应对改述。应结合分类器类别使用。
  • “只对输出应用 Content Safety”——输入攻击(越狱)会到达模型。

示例提示词

  • Architect Content Safety guardrails for a RAG-based customer support assistant on Azure OpenAI.
  • Configure Prompt Shields for a Foundry agent with internet-grounded tools.
  • Tune content filter severity thresholds for a teen-audience product.
  • Add groundedness detection to flag hallucinations in our medical Q&A assistant.
  • Train a custom category for "competitor mention" and integrate as output blocklist.
  • Cost and latency model: Content Safety calls per chat turn on a 10K-user app.
  • IR runbook: how SOC handles "prompt shield blocked attempted jailbreak" pattern (paired with Defender for Cloud AI alert).

Microsoft Learn

评论

支持 Markdown