14. 配置内容检测与安全围栏
完整版章节。内容按 2026.10 主线代码与运行环境界面核对;具体入口以当前许可、账号权限和交付环境为准。
本章内容:本章面向租户管理员与系统管理员,说明如何在流量规则中添加「内容检测」动作,对模型调用、MCP 调用与 API 服务调用实施内容安全防护。读完本章,您可以从规则模板起步,按检查对象选择「内容检测 · 对话内容」或「内容检测 · 工具调用」,设置敏感信息、关键词、模型判断与必答问答,编写回复话术和自定义类别,在保存前验证规则、保存后确认规则已生效,并用测试调用与规则详情核对实际效果;还可以接入恶意库,拦截发往已知恶意域名或 IP 的出站请求。
内容检测分两处配置:「管理后台 › 护栏 › 护栏规则」只维护检测依据(敏感数据类型、词库、问答、内部系统白名单、威胁情报),不决定对哪些调用生效;要不要检测、检测哪些调用、命中后怎样处置,全部在「管理后台 › 流量 › 流量规则」的规则里配置。敏感数据识别规则见第 13 章,流量规则的条件、顺序与发布见第 15 章。本章能力需要许可中包含「模型护栏」,添加检测动作还需要「动态路由」。
14.1 内容检测的组成
适用场景:第一次配置内容检测,先弄清楚检查对象、检查方式与它们依赖的判断模型。
「内容检测」动作按检查对象分为两项,在规则画布的「添加动作」菜单中分别列出:
| 动作 | 检查什么 | 典型用途 |
|---|---|---|
| :-- | :-- | :-- |
| 内容检测 · 对话内容 | 用户提问与模型回复 | 拦截含密码、证件号的提问;拦截违规话题;对指定问题回复标准答案 |
| 内容检测 · 工具调用 | 模型或外部智能体发出的工具调用参数与工具返回的结果,不检查对话内容 | 拦截删库、破坏性命令、外发敏感数据等危险操作 |
两者的区别与选择方法见 14.2 节。「内容检测 · 对话内容」可以同时勾选以下检查方式:
| 检查方式 | 用途 | 需要的判断模型 |
|---|---|---|
| :-- | :-- | :-- |
| 敏感信息 | 密码与密钥、身份证号、银行卡号、手机号等(第 13 章) | 人名、地址、机构名需要「敏感信息识别」模型,其余不需要 |
| 关键词 | 按引用的词库做字面匹配,识别规避写法 | 不需要 |
| 模型判断 | 风险分类、提示注入与自定义类别的语义判断 | 「内容判断」模型 |
| 必答问答 | 命中标准问题时直接回复标准答案 | 「问答语义匹配」模型 |
业务系统、开发工具与外部智能体的调用都经过网关,只要落在规则条件内,都按同一条规则检测。
注意:一条规则只有一个检查阶段(用户提问、模型回复或两者)。需要「用户提问阶段查关键词、模型回复阶段做模型判断」这类组合时,拆成两条规则。
14.2 对话内容与工具调用的区别
适用场景:不确定该选「内容检测 · 对话内容」还是「内容检测 · 工具调用」,或者规则已保存但没有拦下预期的内容。
| 对比项 | 内容检测 · 对话内容 | 内容检测 · 工具调用 |
|---|---|---|
| :-- | :-- | :-- |
| 检查的文本 | 请求中的用户提问;模型生成的回复 | 模型发出的工具调用参数(如要执行的命令、要访问的地址);工具返回给模型的结果 |
| 不检查 | 工具调用参数与工具返回结果 | 用户提问与模型回复正文 |
| 检查阶段 | 「用户提问」「模型回复」或「两者」 | 由动作自身决定,不受对话内容的检查阶段影响 |
| 检查方式 | 敏感信息、关键词、模型判断、必答问答 | 匹配规则(正则或关键词)、模型判断(危险操作类别与自定义类别) |
| 命中后调用方看到 | 回复话术(14.11 节) | 被拦截的工具调用不执行,模型收到拦截说明后继续回复 |
如何选择
- 想拦住「用户说了什么」或「模型答了什么」,例如用户提问中含密码、询问竞品价格、要求生成违规内容,选「内容检测 · 对话内容」。
- 想拦住「模型或外部智能体要做什么」,例如执行
rm -rf、调用接口删除数据、把文件发往外部地址,选「内容检测 · 工具调用」。 - 两类风险都要管控时,在同一条规则中分别添加两个动作。
注意:「内容检测 · 工具调用」不会检查用户的提问。用户提问中含密码时,只配置了工具调用检测的规则不会拦截,这是预期行为。
14.3 设置判断模型
适用场景:首次使用模型判断、敏感信息识别(人名、地址、机构名)或必答问答,或者需要更换判断模型。
平台有四个判断模型,全租户各设一个,属于平台基础设施,不按成员分发:
| 功能 | 用途 | 可选模型 |
|---|---|---|
| :-- | :-- | :-- |
| 内容判断 | 风险分类、提示注入与对话内容的自定义类别 | 任一对话模型(如 DeepSeek、GPT、Claude 系列),或专用的内容安全护栏模型、自定义内容安全检测服务(14.15 节) |
| 意图识别 | 流量规则的「意图」条件(第 15 章) | 任一对话模型,或提供结构化判断接口的模型 |
| 敏感信息识别 | 人名、地址、机构名(第 13.6 节) | 支持 JSON 输出的对话模型 |
| 问答语义匹配 | 必答问答的语义匹配 | 向量模型 |
操作步骤
- 在「模型」中选择一个模型。所选模型的上游属于外部供应商时,下方显示「选用「某供应商」后,用户的提问会发送给该供应商。」,请按企业数据合规要求决定。
- 点「保存并使用」。平台用一句违规样例和一句正常样例实际调用所选模型进行核对,并自动确定调用方式,无需选择模型类型。
您会看到
- 核对通过:显示「核对通过」,设置保存,所有引用该判断模型的规则同时改用新模型。画布节点与全局设置显示同一状态,例如「● 正常」。
- 核对未通过:显示原因与建议,保存按钮不可用,原有设置保持不变。
| 原因 | 页面提示 | 处理建议 |
|---|---|---|
| :-- | :-- | :-- |
| 输出不符 | 模型没有按要求返回判断结果。建议换用能力更强的对话模型。 | 选用支持工具调用、能力更强的对话模型 |
| 违规样例未识别 | 违规样例没有被识别。建议换用能力更强的模型。 | 换用能力更强的模型 |
| 正常样例误判 | 正常样例被判为违规。建议换用能力更强的模型。 | 换用能力更强的模型 |
| 自定义类别不兼容 | 该模型无法使用自定义类别,以下规则正在使用:…… | 见下方「更换内容判断模型」 |
| 鉴权失败、连接失败或超时 | 对应的失败说明,并提供「查看调用记录」 | 核对模型供应商的密钥、地址与网络;鉴权与连接失败时平台立即停止核对 |

更换内容判断模型
自定义类别(14.5 节)只有对话模型与提供结构化判断接口的模型能够使用;专用的内容安全护栏模型与自定义内容安全检测服务只能识别固定的风险分类。
- 已有规则使用自定义类别时,若改选只能识别固定分类的模型,保存会被拒绝,抽屉中列出正在使用自定义类别的规则(可点击打开),请改选其他对话模型,或先在这些规则中删除自定义类别。
- 当前内容判断模型只能识别固定分类时,规则中的自定义类别区不可用,并提示「当前内容判断模型只能识别固定分类,无法使用自定义类别」,旁边提供「更换模型」。
- 在两个对话模型之间更换不受影响。
注意
- 自动核对只保证模型能给出基本正确的判断,不代表它在您的业务语料上足够准确。上线前用自定义类别的「测试」(14.5 节)和「验证规则」(14.12 节)自查。
- 通用对话模型作判断时,用户提问阶段的检测会推迟首字返回。对时延敏感的业务,优先选用响应快的模型,或只在必要的调用方上启用模型判断。
- 判断模型调用在模型分组用量中显示为平台内部调用,可以在网关调用记录中查看。
- 保存判断模型时若核对失败,提示会写明共有几个网关节点、其中几个失败,例如「3 个网关节点中有 1 个调用超时,请确认推理服务能从所有节点访问」;不显示节点名。
- 删除模型供应商会一并删除它名下的上游。内容判断模型只剩这个供应商的上游时,删除会被阻止,并提示「内容判断模型 X 将没有上游」;请先更换内容判断模型。
14.4 配置对话内容检测规则
适用场景:让一类调用方的对话在出现敏感信息、受控词、违规话题或标准问题时按规则处置,并回复您编写的话术。
前提:需要模型判断或必答问答时,已按 14.3 节设置对应的判断模型;也可以在编辑规则时通过抽屉就地设置。
操作步骤
- 进入「管理后台 › 流量 › 流量规则」,点「新建规则」,或点「导入规则模板」并切到「内容检测」分组,选择最接近需求的模板:
| 模板 | 内容 | 需要的判断模型 |
|---|---|---|
| :-- | :-- | :-- |
| 关键词拦截并回复话术 | 提问含指定词时回复固定话术 | 无 |
| 敏感信息拦截 | 提问含密码、证件号等时拦截并回复话术 | 无 |
| 自定义话题拦截 | 按您写的判定标准判断提问是否属于指定话题 | 内容判断 |
| 风险内容拦截 | 违法、色情、暴力等风险分类 | 内容判断 |
| 必答问答 | 指定问题按标准答案回复 | 问答语义匹配 |
| 工具调用防护 | 检查工具调用,不检查对话内容(14.8 节) | 按规则选择 |
模板需要的判断模型尚未设置时,应用模板后会直接打开 14.3 节的设置抽屉。
- 在「回复话术」中选择「自定义」并填写话术,或使用系统默认话术「很抱歉,我无法回答您的问题。」。需要按分类给出不同话术时,展开「按分类单独设置话术」,可为内置风险分类与自定义类别分别填写。
- 在画布右栏「验证规则」中用一句话核对效果(14.12 节),确认无误后点「保存规则」,在「确认变更」中核对后点「确认并应用」。
您会看到
- 「内容检测 · 对话内容」节点只出现在它的检查阶段对应的位置:「用户提问」在「请求转发前」,「模型回复」在「收到上游响应后」,「两者」时两处共用同一个节点,不会重复绘制。
- 保存后显示「规则「规则名」已保存。」,并提供「查看命中记录」(14.12 节)。
注意
- 回复话术应说明请求无法继续以及可以求助的渠道,不应暴露规则、阈值或绕过方法。
- 同一调用命中多条规则的内容检测时,检测项合并,同一项取更严格的处置:拦截高于脱敏,脱敏高于仅记录。
- 「仅记录」不改变对话内容,只在命中记录中留下记录,适合上线初期观察误报。
14.5 风险分类、提示注入与自定义类别
适用场景:需要按语义而非字面判断违规内容,识别角色扮演绕过、指令覆盖等提示注入,或者按企业自己的标准识别特定话题(如竞品比较、投资建议)。
前提:已按 14.3 节设置「内容判断」模型。
风险分类与提示注入
在「内容检测 · 对话内容」节点勾选「模型判断」后,在「风险分类」中勾选需要识别的分类,可多选。内置六类为:政治敏感与国家安全、违法暴恐与虚假谣言、色情低俗与不良价值观、歧视偏见与仇恨言论、隐私侵权与商业合规、高风险领域应用限制。勾选「提示注入」可识别要求模型忽略既有指令、泄露系统提示词等写法。
每一项都可以分别设置「明确命中」与「疑似命中」的处置,例如明确命中时拦截、疑似命中时仅记录。
判定灵敏度
每个风险分类、「提示注入」和自定义类别各有一个「判定灵敏度」,决定判断模型有多大把握才算「明确命中」;把握稍低的算「疑似命中」,再低的忽略。
| 灵敏度 | 怎么选 | 明确命中 | 疑似命中 | 忽略 |
|---|---|---|---|---|
| :-- | :-- | :-- | :-- | :-- |
| 保守(新建规则默认) | 只拦很确定的,尽量少误拦 | 很确定 | 较有把握 | 不太确定 |
| 均衡 | 误拦与漏拦兼顾 | 很确定、较有把握 | 不太确定 | 无 |
| 激进 | 宁可多拦,也不愿漏掉 | 很确定、较有把握、不太确定 | 无 | 无 |
- 判断模型认为「没有命中」的内容一律忽略,不论它对这个结论有多大把握。
- 「很确定、较有把握、不太确定」是判断模型自己给出的把握程度。专用护栏模型 Qwen3Guard 只给两档:「不安全」相当于很确定,「有争议」相当于较有把握,没有「不太确定」。
- 内容判断模型是按概率打分的专用检测服务(YuFeng,或自定义内容安全检测服务)时,编辑器不显示灵敏度,改为显示「数值阈值」:分数达到阈值算明确命中,没有疑似命中这一档。
- 新建规则默认「保守」:「不太确定」的内容被忽略,「较有把握」的内容按疑似命中处置(默认仅记录)。因此新规则比同样设置的旧规则更不容易拦截;需要多拦时,把灵敏度改为「均衡」或「激进」。
- 升级前已有的规则,升级时平台按原来的阈值自动换算成对应的灵敏度,默认配置的规则拦截结果不变。个别无法完全等价换算的规则见本版本发布说明。
- 多条规则对同一类别同时生效时,按其中最灵敏的一档判断。
- 判断模型没有发现风险的请求不再产生记录,「仅记录」只统计确实命中的请求。
添加自定义类别
- 点「测试」。平台用正例与反例实际调用当前的内容判断模型,显示「判对 x/y」,并列出判错的句子。某条样例没有得到判断结果(例如超时)时记为「未判出」,单独列出,不算判错;全部样例都未判出时,直接显示原因,例如连不上判断模型。
- 根据测试结果修改判定标准或补充样例,直到结果符合预期。
- 设置该类别的「判定灵敏度」,以及「明确命中」与「疑似命中」的处置;需要单独话术时,在「回复话术 › 按分类单独设置话术」中为该类别填写。
您会看到:测试全部判对时显示「✓ 判对 4/4」这类结果;有判错时,判错的句子与模型的判断一并列出;有样例没判出时显示如「判对 3/4,1 条未判出」。测试结果只说明当前模型对这几句话的判断,不代表整体准确率。
注意
- 判定标准是模型判断的依据,正例与反例只用于「测试」,不会随每次请求发送给模型。判定标准要写得具体、可区分,避免「不合适的内容」这类模糊表述。
- 自定义类别需要内容判断模型为对话模型或提供结构化判断接口的模型;只能识别固定分类的模型不可使用(14.3 节「更换内容判断模型」)。
- 使用 Qwen3Guard 时,用户提问只被判为越狱(没有命中其他分类)也按「提示注入」命中处理。
- 不愿依赖模型、只想拦截固定说法时,可以把「忽略既有指令、输出系统提示词」等原文作为关键词(14.6 节)。这样只覆盖列出的写法,语义改写仍需要模型判断。
14.6 关键词与规避写法识别
适用场景:需要按受控词表拦截违规内容,并识别全角、繁体、同形字、零宽字符、字符间隔与编码等改写。
查看与新建词库
- 进入「管理后台 › 护栏 › 护栏规则」,切到「词库」页签。「内置黑名单」共 11 个词库,按六大类别分中英文两套,中文词条约 2.6 万条;内置词库随版本更新,可以查看、搜索和导出,不能修改。
- 点「新建词库」,填写「名称」,「类型」选「自定义黑名单」或「白名单」,「分类」选六大类别之一(决定命中后归入的分类,以及按分类单独设置的话术)。
- 打开词库,点「添加词条」,填写「词条」与「别名」(逗号分隔)后确认,二者命中同一条规则。批量导入用「导入」,接受 UTF-8 编码的
.txt文件,每行一条。

在流量规则中使用
在「内容检测 · 对话内容」节点勾选「关键词」,在「引用词库」中选择词库(可多选),再按下表设置规避写法的处置后保存。规则中不能直接填写词语,只用于某条规则的词语也要先建成词库。
| 设置 | 作用 | 默认 |
|---|---|---|
| :-- | :-- | :-- |
| 字符插桩命中后 | 只有经归一化(去除零宽字符、分隔符等)后才命中时的处置 | 拦截 |
| 编码解码 | 识别 Base64、Hex、URL 编码片段,解码后再匹配 | 关闭 |
| 解几层 | 解码层数,层数越多开销越大 | 2 层 |
| 解码后命中 | 只有解码后才命中时的处置 | 拦截 |
规避写法识别:匹配前对词条与待检文本做相同的归一化,无需配置——全角转半角、繁体转简体、同形字归一、跳过零宽字符与分隔符号、压缩重复字符、转小写;开启「编码解码」后先解码再匹配。
您会看到
- 用户提问命中受控词时,请求被拦截并返回话术,不调用模型;归一化后才命中的写法同样被拦截。
- 拼音写法在用户提问阶段放行,按疑似命中记入命中记录。
- 模型回复中出现受控词时,已输出的内容由话术替换。
注意:词条的拼音写法只记录、不拦截。需要在用户提问阶段拦截拼音写法时,把它作为该词条的别名添加。业务会通过网关传输 Base64 编码的附件或签名时,开启「编码解码」可能产生误报,建议先把「解码后命中」设为「仅记录」观察一段时间。
14.7 必答问答
适用场景:让公司制度、产品规定、敏感话题的统一答复由网关直接返回,不调用模型,换一种问法也能命中。
前提:已按 14.3 节设置「问答语义匹配」模型,否则问答条目不可选、规则无法保存。
操作步骤
- 进入「管理后台 › 护栏 › 护栏规则」,切到「问答」页签。列表显示标准问、分类、分组、相似问数与来源,「平台内置题库」共 7481 条,可检索。
- 点「新建问答」,填写「标准问」「答案」,按需「添加相似问」并选择「分类」「分组」后确认。未分类的问答对所有分类生效;选中某个分组后可「启用整组」或「禁用整组」。
- 在流量规则的「内容检测 · 对话内容」节点勾选「必答问答」,选中问答条目,保存并确认应用。

您会看到:问答语义匹配模型未设置时,节点显示该模型的状态与「设置」,点击后打开 14.3 节的设置抽屉。命中标准问题时,调用方收到标准答案。
注意:必答问答只作用于用户提问,命中后直接返回答案,不调用模型;问答语义匹配模型不可用时退回按原句匹配。
14.8 内容检测 · 工具调用
适用场景:拦截模型或智能体发出的删库、破坏性命令、外发敏感数据等危险调用。该动作由「匹配规则」与「模型判断」组成,可以单独或同时配置。它只检查工具调用,不检查对话内容(14.2 节)。
前提:规则的「调用类型」限定在模型调用、MCP 调用或 API 服务之内;使用「模型判断」时,需要选择一个判断模型。
操作步骤
- 在「示例」中填写样例并点「测试」,确认命中的片段;「命中后」选「拦截」或「仅记录」,保存并确认应用。

模型判断:「检测范围」选「仅执行命令类工具」或「全部工具调用」,在「判断模型」中选择模型,在「拦截类别」中勾选。共十一类:下载脚本直接运行、敏感数据外发、批量或不可恢复的删除、改生产环境、改共享基础设施、扩大权限、暴露密钥、逃出隔离环境、破坏审计、改流量目标、改写历史记录。需要企业特有的类别时,点「添加自定义类别」,填写方式与 14.5 节相同。
内部系统白名单:进入「管理后台 › 护栏 › 护栏规则」,切到「内部系统白名单」页签,点「新建名单」,填写名称与内部域名、内网主机等条目后创建,再到「模型判断」中引用。判断模型会把名单中的目标当作公司自己的系统来判断。

您会看到:界面说明「匹配规则先于模型判断执行,只做字面匹配,无法识别拼接、编码等混淆写法」;处置只有「拦截」与「仅记录」。被拦截的工具调用不执行,模型收到「该内容已被拦截」的说明后继续回复。
注意:内部系统白名单只是模型判断的依据,不是出站连接的放行或拒绝名单。
14.9 判断模型不可用时的处置
适用场景:确认判断模型超时、出错或停用时,业务继续还是被拒绝。
「判断模型不可用」包括:判断超时、上游返回错误、返回结果无法识别,以及判断模型被停用、删除或没有可用上游。处置在「内容检测 · 对话内容」节点的「判断模型不可用时」中设置;「内容检测 · 工具调用」的模型判断有自己的同名设置。
| 选项 | 行为 |
|---|---|
| :-- | :-- |
| 拒绝(新建规则默认) | 本次调用被拒绝,不请求模型,立即返回规则的回复话术 |
| 放行 | 未完成判断的部分视为未命中,调用照常继续 |
您会看到
- 判断模型停用或失效时,画布节点与全局设置显示同一状态,并提供「更换模型」,点击后打开 14.3 节的设置抽屉。
- 每次按「判断模型不可用时」处置都会记录命中,规则详情的流量视图在命中分解中单列「判断模型不可用」(14.12 节)。
- 被拒绝的请求返回 HTTP 403,
reason为CONTENT_SAFETY_UNAVAILABLE,message为规则的回复话术。 - 回复话术取该规则「回复话术」中的默认话术;规则没有配置或话术为空白时,使用平台默认话术。流式输出被拒绝时,最后一帧同样使用这条话术。
注意:「拒绝」对安全更严格,高风险、强监管或含敏感数据的业务请保持「拒绝」。多条规则叠加时,只要有一条为「拒绝」,就按拒绝处理。处置逐条规则静态设定、每次请求独立判定,平台不会在连续超时后自动降级为只记录。判断模型持续不可用时,优先更换判断模型,而不是改为「放行」。
14.10 多轮对话与流式输出检测
适用场景:调用方把敏感内容拆成多条短消息发送,或模型在流式输出中才逐步拼出敏感内容。
前提:规则中已有「内容检测 · 对话内容」动作;多轮检测开关只能在「YAML 编辑」或接口中配置。
操作步骤:点「YAML 编辑」,在 action.guard.content 下加入以下配置,再点「应用到画布」并「保存规则 › 确认并应用」;规则生效后,分别用整段请求与流式请求核对。
action:
guard:
content:
multiTurn:
reassembleShortMessages: true # 拆分输入合并检测
cumulativeOutput: true # 多轮回答合并检测
| 配置项 | 作用 | 默认 |
|---|---|---|
| :-- | :-- | :-- |
reassembleShortMessages | 把最近若干条短消息按用户消息顺序拼接后再检测 | 关闭 |
cumulativeOutput | 当前回答与历史回答合并判定 | 关闭 |
您会看到
- 整段携带敏感数据的请求被拦截。
- 正常的流式请求按序到达,以
data: [DONE]收尾。 - 流式回答中出现违规内容时在命中处中止,最后一帧的
finish_reason为content_filter,流中既没有原文也没有占位符(14.11 节)。

注意:流式检测按段进行,网关只扣住每段末尾可能与后文组成命中的一小段,其余内容检测通过即放出;相关窗口为平台固定参数,不可调整。
14.11 调用方看到什么
适用场景:向业务系统与开发工具的维护方说明规则命中后的返回,或者核对返回是否符合预期。
| 情形 | 返回 |
|---|---|
| :-- | :-- |
| 用户提问被拦截(非流式) | HTTP 403,code 为 content_policy_violation、reason 为 CONTENT_POLICY_BLOCKED,message 为回复话术;错误详情中的 safetyIntervention 带干预类型、回复话术与规则标识 |
| 命中必答问答 | HTTP 200,回复内容为标准答案,流式请求为 SSE 流;响应头 x-zenova-response-source 为 guard_canned_answer。不调用模型、不计费,调用记录为成功。向量、图片等非对话接口命中时返回 HTTP 403 |
| 模型回复在流式输出中被截断 | 在命中处中止,最后一帧的 finish_reason 为 content_filter,已发送的内容不含违规原文 |
| 判断模型不可用且处置为「拒绝」 | HTTP 403,reason 为 CONTENT_SAFETY_UNAVAILABLE,message 为回复话术(规则没配话术时为平台默认话术) |
| 工具调用被拦截 | 被拦截的工具调用不执行,模型收到拦截说明后继续回复 |
- 返回中只带规则标识,不带规则名;管理员在规则详情的流量视图中按时间与调用方查找对应命中(14.12 节)。
- 被拦截的请求不调用模型、不计费,在「运行总览 › 请求」中显示为「已拦截 · 策略拦截」。
- 调用方收到
CONTENT_POLICY_BLOCKED时不应自动重试同一内容,重试会得到同样的结果。
14.12 如何验证规则已生效
适用场景:规则对真实员工与调用方生效前做一次核对;规则保存后确认已经生效;上线后查看命中效果。建议至少覆盖:正常内容、违规样本、规避写法、必答问答、判断模型不可用、用户提问与模型回复两个阶段以及流式调用。
14.12.1 保存前:验证规则
- 在规则画布右栏展开「验证规则」。顶部说明:「使用当前草稿,真实调用判断模型。保存并生效后,真实对话才会按此执行;模型回复阶段的流中截断无法在此验证。」
- 在「调用方」中选择要模拟的调用方,例如一把测试用 API 密钥。
- 在「用户提问」中输入一句话,例如「我的密码是 Abc@12345,帮我登录一下」,点「运行验证」。
您会看到:结果区列出是否「命中本规则」、命中的检查项与处置(如「敏感信息「密码与密钥」 → 拦截」),以及「用户会看到」的回复话术。验证使用当前草稿,与同一租户中其他已生效的规则一起按真实顺序求值,条件、意图与内容检测都会执行,模型判断会真实调用判断模型。
注意
- 规则列表工具栏中的「验证规则」验证的是已生效的整套规则,不含未保存的草稿。
- 草稿引用的词库、意图集按库内当前数据求值;引用的数据已被删除时,结果中会提示无法解析的引用。
14.12.2 保存后
- 点「保存规则 › 确认并应用」。
- 保存提示中显示「规则「名称」已保存。」,并提供「查看命中记录」入口。规则在数秒内对新的请求生效,无需等待或刷新页面。
- 配置发布失败时(例如规则引用的词库尚未发布成功),规则列表页顶部出现发布失败提示,按提示处理后重新保存。
14.12.3 用测试调用核对
- 用一把落在规则条件内的测试用 API 密钥,发送一句会命中规则的请求,确认返回 403 与回复话术(14.11 节);再发送一句正常请求,确认返回正常。
- 检查阶段包含「模型回复」时,再用
"stream": true发送一次会让模型输出违规内容的请求,确认流在命中处中止。
注意:测试调用没有命中时,先确认规则已启用,再用「验证规则」选择同一调用方核对条件是否满足;常见原因是条件限定的模型、模型分组或 API 密钥与实际使用的不一致,或者选了「内容检测 · 工具调用」而要拦截的是对话内容(14.2 节)。
14.12.4 在规则详情中查看命中
- 在保存提示中点「查看命中记录」,或在规则列表中打开规则,切到「流量」视图。
- 选择时间范围「近 1 小时」「近 24 小时」或「近 7 天」。
您会看到
- 命中分解,例如「内容检测命中 12 次:拦截 10 · 仅记录 2 · 判断模型不可用 0」。
- 最近命中列表,列出时间、调用方、命中项、处置与「用户看到」的话术,按页加载;点任一行打开该次请求的详情。请求详情的「路由与改写」显示命中的规则与处置,「时延与成败」显示状态、错误类别与失败阶段。

跨规则统计与留档
- 在「管理后台 › 观测中心 › 运行总览 › 规则命中」按「最近 7 天」查看全部规则的命中次数与走势,可按「处置」筛选,点规则名查看命中与拦截次数。
- 需要命中通知时,进入「管理后台 › 运行与排障 › 告警规则」,找到内置告警「护栏拦截了一次内容」,在该行「更多」菜单中点「选择渠道」绑定通知渠道,再打开「启用」开关(第 22 章)。
- 需要定期留档时,在「管理后台 › 审计与合规 › 报表导出」新建导出,频率可选单次、每天、每周、每月。


注意:列表中的内置护栏行(输入护栏、输出护栏、个人信息识别)由平台维护,规则身份字段多显示为「—」。先在一个模型分组或一把测试用 API 密钥上启用规则,确认拦截与误报情况后再扩大范围。
14.13 生成内容标识
适用场景:按《人工智能生成合成内容标识办法》与 GB 45438-2025,为模型回答添加显式文字标识,并在响应头写入隐式标识元数据。
操作步骤
- 进入「管理后台 › 流量 › 网关扩展」,找到内置扩展「AI 生成内容标识」,点「管理」。
- 在「配置」页签填写下表字段后「保存配置」,打开右上角的启用开关,再到「绑定」页签选择模型分组。
| 字段 | 说明 | 默认值 |
|---|---|---|
| :-- | :-- | :-- |
| 显式标识文字 | 加在模型回答中的文字提示 | 本内容由人工智能生成 |
| 显式标识位置 | 「回答末尾」或「回答开头」 | 回答末尾 |
| 服务提供者名称或编码 | 写入隐式标识元数据 | 空 |
| 写入隐式标识元数据 | 在响应头 aigc 写入元数据,ProduceID 为网关请求号 | 勾选 |
您会看到:扩展详情显示类型、声明的钩子与失败策略「失败关闭」;启用并绑定后,回答末尾出现标识文字,响应头中含 aigc。

注意:扩展未启用时,「绑定」页签提示「插件已停用,绑定暂不生效。启用插件后生效。」。网关扩展的完整用法见第 16 章。
14.14 金融合规检测
适用场景:对荐股、保本高息宣传、洗钱诱导等金融违规内容做管控。平台没有单独的「金融合规」分类,相关用语收录在「高风险领域应用限制」与「违法暴恐与虚假谣言」两个内置词库中。
操作步骤
- 新建流量规则,条件只选择需要合规管控的模型或模型分组。
- 添加「内容检测 · 对话内容」,「检查阶段」选「两者」,勾选「关键词」,在「引用词库」中选「高风险领域应用限制(中文)」与「违法暴恐与虚假谣言(中文)」;「字符插桩命中后」选「拦截」,按需开启「编码解码」并把「解码后命中」设为「拦截」。
- 需要识别没有固定说法的诱导内容时,再勾选「模型判断」,添加自定义类别(如「投资建议」「保本承诺」),写清判定标准并「测试」(14.5 节)。
- 用「验证规则」分别核对正常问题与违规样本,保存规则,在「确认变更」中核对条件只包含本服务后「确认并应用」后用测试调用核对。
您会看到:典型违规提问在用户提问阶段被拦截,用户看到回复话术;不含受控词的诱导性提问可能在用户提问阶段放行、由模型回复阶段拦住;被拦截的请求可以在规则详情的流量视图中查到。
注意:关键词是字面匹配,无法区分「询问风险」与「诱导违规」。面向合规咨询、法律问答或客服场景时,把常见咨询用语加入一个「白名单」类型的自定义词库,在同一规则中引用;或改用 14.5 节的自定义类别做语义判断。
14.15 对接第三方或自研内容审核服务
适用场景:企业已有第三方或自研的内容审核能力,希望由平台统一调用,而不改动业务代码。
| 项目 | 内容安全检测 HTTP 接口 | WASM 网关扩展 |
|---|---|---|
| :-- | :-- | :-- |
| 交付物与位置 | 实现平台契约的 HTTP 服务,部署在审核方机器上 | 编译为 WASM 的扩展包,在网关进程内执行 |
| 能做什么 | 对输入输出(含多轮历史)给出风险分数与提示注入分数 | 放行或拒绝、改写请求、检查流式响应 |
| 适用服务 | 模型调用 | 模型分组、MCP、API 服务、外部智能体 |
路径一:内容安全检测 HTTP 接口
- 审核方部署检测服务并实现契约:端点
POST {base_url}/v1/content-safety,鉴权Authorization: Bearer <API 密钥>;请求体含direction、userText、输出方向的responseText与可选的history,响应返回六类风险分数与jailbreak分数。 - 在「管理后台 › 模型 › 模型供应商」点「添加模型供应商」,选择预设「自定义内容安全检测服务」,填写请求地址与密钥并保存。该供应商带固定模型
content-safety-detector。 - 按 14.3 节把「内容判断」设为该服务,保存时平台自动核对;再在规则中使用「模型判断」的风险分类(14.5 节)。该服务只能识别固定的风险分类,不能使用自定义类别。

路径二:WASM 网关扩展
- 在「管理后台 › 流量 › 网关扩展」点「下载 SDK」获取模板,实现放行或拒绝、改写请求、检查流式响应等接口并构建扩展包;上传时平台会编译并试跑一次,不通过即拒收。
- 核对扩展声明的能力与失败策略,填写配置并安装;启用后在「绑定」中选择服务类型与范围。用命中与不命中的请求各核对一次,在「执行统计」中查看拦截次数。详细步骤见第 16 章。

注意:HTTP 检测服务作为全租户唯一的内容判断模型,不能按规则选择不同的服务;两条路径可以同时使用。检测服务超时或响应不合法时,按规则的「判断模型不可用时」处置(14.9 节)。
14.16 威胁情报:检查出站地址是否命中恶意库
适用场景:阻止模型调用、MCP 调用与 API 服务调用把请求发往已知的恶意域名或 IP,例如恶意软件分发地址、钓鱼站点和僵尸网络控制端。
威胁情报与其他护栏一样分两处配置:「管理后台 › 护栏 › 护栏规则」的「威胁情报」页签维护恶意库与例外名单;要不要检查、命中后怎样处置,在流量规则中配置。没有任何流量规则开启恶意来源检查时,网关不做这项检查。
前提
- 恶意库归本租户所有,由租户管理员或系统管理员维护,各租户之间互不可见。平台不提供默认恶意库,平台管理员没有威胁情报入口,也看不到租户的恶意库与凭据。
- 每个租户最多接入 8 个恶意库,各自独立启用、设置同步间隔与凭据。
14.16.1 接入恶意库
操作步骤
- 点「测试连接」,显示「连通正常,共 N 条」后保存。保存后恶意库进入「等待同步」,此后按同步间隔自动更新;需要立即更新时点行操作「立即同步」。
自定义 HTTP 批量源的格式:数据源返回一个 JSON 对象,version 为名单版本,entries 为条目数组;每个条目包含 indicator(domain 或 ip)、value(域名或 IP)、category(类别,如 c2),可选 confidence(0~100)。
{
"version": "2026-10-22",
"entries": [
{"indicator": "domain", "value": "malware.example", "category": "c2", "confidence": 90},
{"indicator": "ip", "value": "203.0.113.10", "category": "botnet"}
]
}
地址要求
- 必须是公网地址,不能是内网、本机或云元数据地址。
- 不跟随重定向,请填写最终地址。
- 单次下载不超过 64 MiB;本租户全部启用的恶意库合计估算不超过 256 MiB。
- 名单中的单级域名(如
com)会被丢弃,不参与判定。
14.16.2 查看同步与生效状态
恶意库列表每行显示「名称」「类型」「地址」「启用」「状态」「条目数」「名单更新时间」「被引用规则数」。地址中的凭据类参数显示为 ***。行操作为「编辑」「立即同步」「停用」(已停用时为「启用」)与「删除」;同步进行中时不提供「立即同步」。
| 状态 | 含义 |
|---|---|
| :-- | :-- |
| 等待同步 | 已保存,尚未开始首次同步 |
| 同步中 | 正在从数据源拉取名单 |
| 未启用检查 | 名单已同步,但本租户没有流量规则开启恶意来源检查,名单不会下发到网关 |
| 使用中 | 名单已同步,且有启用的流量规则开启了恶意来源检查 |
| 暂用上一份名单 · 失败类别 | 本次同步失败,网关继续使用上一份名单 |
| 未生效 · 失败类别 | 从未同步成功,网关上没有这个恶意库的名单 |
| 已停用 | 该恶意库退出判定,配置保留 |
| 失败类别 | 含义与处理 |
|---|---|
| :-- | :-- |
| 连接失败 | 无法连接数据源,或地址不符合「地址要求」;核对地址与网络 |
| 连接超时 | 数据源响应超时;稍后「立即同步」或延长同步间隔 |
| 鉴权失败 | 凭据错误或过期;在「编辑」中更新凭据 |
| 名单格式无法识别 | 返回内容与所选库类型不符;核对库类型与地址 |
| 名单超出大小上限 | 单次下载超过 64 MiB;改用增量或分类更细的数据源地址 |
| 名单总量超出容量上限 | 本租户全部启用的恶意库估算超过 256 MiB;停用部分恶意库 |
| 名单突然变为空,已保留上一份 | 数据源本次返回空名单,为避免误放行保留上一份 |
您会看到
- 有恶意库处于「暂用上一份名单」或「未生效」时,页签顶部出现「N 个恶意库同步异常」,点「只看同步异常的恶意库」后列表只显示这些恶意库。
- 列表中存在「同步中」的行时,页面自动刷新状态。
停用与删除:停用后该恶意库退出判定,配置保留;删除会连同同步状态一并删除,不可恢复。恶意库正被流量规则引用时,确认框会提示「N 条规则正在使用恶意来源检查,最后一个启用的恶意库停用或删除后,这些规则暂不生效」,确认后仍可执行。
14.16.3 在流量规则中开启恶意来源检查
操作步骤
- 进入「管理后台 › 流量 › 流量规则」,新建或编辑规则,设置条件。
- 在「添加动作」中选「恶意来源」。
- 勾选「检查出站地址是否命中恶意库」,在「命中后处置」中选「拦截」或「仅记录」,保存并发布规则(第 15 章)。
您会看到
- 恶意来源检查可以单独开启,不需要同时配置其他内容检测。
- 本租户尚未接入或没有启用的恶意库时,控件下方提示「尚未接入恶意库,勾选后暂不生效。」,并提供「前往接入恶意库」链接,在新窗口打开「威胁情报」页签,不影响正在编辑的规则。
- 规则保存后,引用它的恶意库「被引用规则数」随之增加,「未启用检查」的恶意库转为「使用中」。
生效范围
| 出站方向 | 判定方式 |
|---|---|
| :-- | :-- |
| 网关代理出口 | 按网关实际请求的上游地址判定 |
| 工具执行出口 | 按流量规则改写后的最终地址判定 |
| 影子流量 | 跟随主请求的处置 |
注意
- 不开启即不检查。仅接入恶意库而不在流量规则中开启检查,不会拦截任何请求。
- 每次命中记一条命中事件,「拦截」与「仅记录」均记录。在「运行总览 › 规则命中」中查看,命中来源显示为「出站威胁情报」。
- 恶意来源检查只判定出站地址,不检查调用方的来源 IP。
14.16.4 放行误拦的地址
操作步骤
- 在「威胁情报」页签的「例外名单」中点「新增例外」,填写「域名或 IP」与「原因」后保存。
- 也可以在「规则命中」中打开该次命中的详情,点「加为例外」:页面跳转到「威胁情报」页签并打开「新增例外」对话框,已预填被拦截的域名或 IP,填写原因后保存。
注意:例外名单中的域名或 IP 不做恶意来源判定;域名同时放行其下级域名。删除例外后,该地址重新参与判定。
14.16.5 升级后的处理
从早期版本升级后,原平台级恶意库配置不会保留。需要租户管理员或系统管理员在「管理后台 › 护栏 › 护栏规则 › 威胁情报」重新接入恶意库,并在流量规则中开启恶意来源检查,否则不会进行任何威胁情报拦截。原有的入向来源 IP 信誉判定已不再提供。
能力说明
| 不提供的能力 | 替代做法 |
|---|---|
| :-- | :-- |
| 独立的内容风险配置页(全局输入输出围栏开关、风险分类矩阵) | 在流量规则中添加「内容检测 · 对话内容」,按规则选择风险分类与处置(14.4、14.5 节) |
| 选择判断模型的「模型类型」 | 只选模型,保存时平台自动核对并确定调用方式(14.3 节) |
| 一条规则同时设置两个检查阶段的不同检查方式 | 拆成两条规则,各设一个检查阶段(14.1 节) |
| 必须使用私有模型的开关 | 用「请求含敏感信息」条件加「转发到」本地部署模型实现(第 13 章、第 15.7 节) |
| 判断模型连续超时后自动降级 | 每条规则静态设置「判断模型不可用时」为拒绝或放行(14.9 节) |
| 漏洞规则库(CNVD、CNNVD)接入 | 威胁情报只支持恶意 IP 与域名类名单(14.16 节) |
| 平台统一提供或跨租户共享的恶意库 | 各租户在「护栏规则 › 威胁情报」中自行接入,每个租户最多 8 个(14.16 节) |
| 按调用方来源 IP 的信誉拦截 | 用流量规则的网段条件限制调用方来源;恶意来源检查只判定出站地址(14.16 节) |
| 工具调用命中后转人工审批 | 「内容检测 · 工具调用」的处置只有「拦截」与「仅记录」(14.8 节) |
| 金融专用语义检测分类 | 引用内置高风险领域与违法类词库,或用自定义类别(14.14 节) |
| 专门的安全审计报告与攻击类型统计 | 用规则详情的流量视图、「规则命中」统计与报表导出替代(14.12 节) |
| 内部系统白名单作为出站放行名单 | 白名单只供工具调用的模型判断使用;发往恶意目标的出站请求用恶意来源检查拦截(14.16 节) |
| 按规则选择不同的内容判断模型 | 内容判断模型全租户唯一,可组合 WASM 网关扩展与模型判断(14.15 节);工具调用的模型判断按规则选模型 |
| 在「验证规则」中验证模型回复阶段的流中截断 | 规则生效后用流式调用实际核对(14.10、14.12 节) |
---