Web 应用防火墙 自定义防护规则

在预置场景防护规则之外,大模型安全还支持通过自定义防护规则对大模型的输入和输出内容进行扫描,识别违法违规、不良信息等多类风险内容,协助落实生成式 AI 应用相关的合规与安全要求。

相关产品
Web 应用防火墙 产品页,含版本规格、价格与购买入口。

一、功能概述

自定义防护可与 安全代答 联动,命中风险时返回替代回答,有助于降低拒答率。

注意:说明:

注意:安全代答当前处于公测阶段,默认不开放,如需使用请 提交工单 或联系专属客户经理申请。

二、操作场景

这篇说说如何配置自定义防护规则,对大模型的输入 / 输出内容进行风险检测,并可选联动安全代答。

三、前提条件

已完成 流量接入 或 SDK/API 接入。

四、操作步骤

1. 登录 Web 应用防火墙控制台,在左侧导航栏,选择大模型安全 > 防护配置 > 自定义防护规则。

2. 在自定义防护规则页面,单击添加规则。

3. 在添加自定义防护规则窗口中,进行信息配置:

参数说明

字段名称 说明
规则名称 设置规则名称。
会话标识 选择此前配置的会话标识,用于区分不同用户,实现对单个用户的精准内容安全检测。说明:使用 SDK/API 接入方式时,无需配置该参数。
匹配方式 默认需要选择大模型安全业务匹配方式,选择添加的大模型安全业务防护路径配置。说明:单条规则中不同匹配方式为 “与” 关系。使用 SDK/API 接入方式时,无需配置该参数。
检测模式 输入与输出均检测:同时对输入和输出内容进行检测。仅检测输入内容:对大模型防护路径中定义的提示词部分内容进行检测。仅检测输出内容:对大模型防护路径中定义的思考与输出部分内容进行检测。如果模型为推理模型,则输出内容的检测范围同时包括思考内容与回答内容。负载均衡型 WAF 接入的域名暂不支持此功能。
模态类型 文本:对用户交互中的文本内容进行安全检测,单次请求文本大小不超过 240 KB。图片:对用户交互中的图片内容进行安全检测,单张图片不超过 10 MB,支持 JPG、JPEG 等格式。说明:仅 SDK/API 接入方式支持配置模态类型。
检测内容 可自选多个条件之间的运算逻辑。与(默认)或
 数据分类:覆盖身份证号、社保卡号、URL 地址等多类敏感信息识别。完整规则项以控制台展示为准。说明:仅旗舰版大模型安全支持敏感信息识别检测。涉敏信息:支持识别违法违规类内容,并提供不同严格程度的检测档位。完整规则项以控制台展示为准。关键词:支持识别关键词信息,最大支持配置 20 个关键词,多个关键词为或关系。请留意,对于输出内容的检测,由于大模型输出为流式输出,WAF 检测时对于长文本会进行组合检测,因此如果配置的关键词过长,检测有可能会无法命中,建议单个关键词长度配置在 10 个字符以内。提示词注入:支持识别提示词注入攻击行为。注意,选择此内容配置时,仅支持对输入部分信息进行检测。正则表达式:支持正则匹配。回车分隔多个值,最多输入20个,单个最多120字符。说明:正则表达式仅支持 RE2 语法规范。编码类型识别:支持检测输入或输出中是否包含特定编码类型的内容。支持 Base64、URL/Percent 编码等编码类型。支持多选,多个编码类型之间为"或"关系,即命中任意一种即触发规则。
执行动作 观察:记录日志,但不会拦截用户的请求。拦截:拦截用户的请求,并返回提示。代答:不将请求转发至后端模型,而是由 WAF 直接进行安全代答。详情请参见 安全代答。说明:仅 SDK/API 接入方式支持安全代答。
优先级 配置规则优先级。 优先级逻辑:请输入1-100的整数,数字越小,代表这条规则的执行优先级越高;相同优先级下,更新时间越晚,优先级越高。

为优化拦截体验,提供更好的交互体验,以下提供业务前端针对 WAF 大模型安全模块拦截逻辑修改的示例代码,该示例代码基于 DeepSeek 接口格式,可参考嵌入业务前端代码中,实现与 WAF 大模型安全模块的防护逻辑联动:

注意:拦截机制说明:

请求方向拦截默认拦截提示页面处理,效果为展示拦截提示的内容到聊天窗口,示例代码如下:if (!initResponse.ok) { const errorText = await initResponse.text(); console.error('API 错误响应:', errorText); removeMessage(responseMessageId); // 移除正在显示的消息容器 // 解析服务器返回的错误信息 let errorMessage = ''; try { const errorData = JSON.parse(errorText); errorMessage = errorData.error?.message || errorData.message || errorText; } catch (e) { errorMessage = errorText; } // 显示错误消息到聊天界面 addMessage(errorMessage, 'error'); updateStatus('请求失败', 'error'); return;}响应方向拦截data 数据中插入自定义提示内容、uuid 字段的替换和展示处理,效果为重置掉当前已返回的内容,并展示自定义提示内容,示例代码如下:// UUID 检测处理 – 基于代码逻辑if (parsed.uuid) { console.log(' 检测到内容替换信号!'); console.log('原始数据:', parsed); console.log('替换前内容:', fullContent); // 从服务器返回的数据中提取新内容 let newContent = ''; if (parsed.choices && parsed.choices[0] && parsed.choices[0].delta && parsed.choices[0].delta.content) { newContent = parsed.choices[0].delta.content; console.log('✅ 从 choices[0].delta.content 获取内容:', newContent); } else if (parsed.content) { newContent = parsed.content; console.log('✅ 从 content 获取内容:', newContent); } else { console.log('⚠️ 在数据中找不到 content'); } // 完全重置已显示的内容 fullContent = newContent; reasoning = ''; contentWasReplaced = true; // 清空当前显示内容并重新显示服务器返回的新内容 if (selectedModel === 'deepseek-reasoner') { // R1 模式:清空思考过程和答案,显示新内容 clearR1Message(responseMessageId); updateR1StreamingMessage(responseMessageId, '', fullContent, false); addContentReplacedIndicator(responseMessageId); } else { // 普通模式:清空消息,显示新内容 clearStreamingMessage(responseMessageId); updateStreamingMessage(responseMessageId, fullContent, true); addContentReplacedIndicator(responseMessageId); } console.log('✅ 内容替换完成,当前 fullContent:', `"${fullContent}"`); // 停止处理后续数据流 shouldStopProcessing = true; console.log(' 设置停止处理标记,不再处理后续数据');}

4. 完成上述所有参数设置后,打开规则开关,然后单击确定提交配置,该规则即可生效,对大模型内容安全进行防护。

五、关键词库

将业务接入 WAF 大模型安全模块后,系统会自动生成一条自定义防护规则(默认未启用,需手动配置后开启)。该规则的基本信息如下:

·规则 ID:5100000000

·规则名称:关键词库检测

该规则的配置项和配置过程与这篇 操作步骤 中添加自定义防护规则一致,区别在于其检测内容仅支持选择内置关键词库和自定义关键词库。可在自定义防护规则列表中找到该规则,单击编辑进行配置。

·内置关键词库:WAF 大模型安全模块内置的多类敏感关键词库,覆盖主要违规内容场景,帮助快速建立内容安全基线。内置关键词库由腾讯安全团队持续维护和更新,无需手动配置即可使用。

注意:说明:

注意:内置关键词库的类别和说明以控制台展示为准。

·自定义关键词库:除内置关键词库外,还可以创建自定义关键词库,添加业务特有的敏感词条。

·新建自定义关键词库:

a. 前往 大模型安全 > 防护配置页面,单击自定义关键词库配置进行配置。

b. 在自定义关键词库设置页面,单击新建,构建自定义关键词库。

c. 在新建自定义关键词库窗口中,配置相关参数,单击确定。

字段名称 说明
词库名称 自定义关键词库的名称。
描述 自定义关键词库的描述。
关键词 自定义关键词库的关键词。每行仅填写 1 个关键词,单次配置最多支持 1000 行。

·导入自定义关键词库:

a. 在自定义关键词库设置页面,单击导入数据。

b. 单击下载导入模板,按照模板内的提示配置关键词库相关参数。

字段名称 说明
词库名称 自定义关键词库的名称。
描述 自定义关键词库的描述。
关键词 自定义关键词库的关键词。每行仅填写 1 个关键词,单次配置最多支持 1000 行。

c. 单击上传或者将模板文件拖拽到中心区域,单击确定。

·导出/删除自定义关键词库:

a. 在自定义关键词库设置页面,勾选需要导出或删除的单个或多个关键词库条目。如需批量选择当前列表中的所有关键词库,可直接勾选标题栏的全选复选框。

注意:说明:

注意:已被规则引用的自定义关键词库无法进行删除操作。

b. 可根据实际需求,直接单击批量导出或批量删除执行相应操作;若有其他需求,也能在更多中选择全部导出或全部删除操作。

六、自定义防护规则场景示例

1. 参考 业务接入,接入大模型业务。流量接入还需完成会话标识、大模型防护路径配置。

2. 登录 Web 应用防火墙控制台,在左侧导航栏,选择大模型安全 > 防护配置 > 自定义防护规则。

3. 在自定义防护规则页面,单击添加规则,配置一条自定义防护规则,参考进行如下配置:

字段名称 说明
设置检测模式 输入输出均检测。
执行动作 信息类型:关键词。匹配内容:12345、abcd。
执行动作 拦截。
拦截提示 自定义提示,并配置内容为:自定义提示拦截测试验证。
优先级 1。
规则开关 开启。

4. 前往大模型业务前端,先输入提问:按顺序连着输出前五个正整数,然后观察拦截情况。可以观察到,输入内容中存在关键词 12345 时,输入会被拦截并返回配置的拦截提示页面内容。

5. 然后继续输入提问:按顺序连着输出前四个小写英文字母,然后观察拦截情况。可以观察到,输出内容中存在关键词 abcd 时,输出会被拦截,并返回配置的自定义拦截提示内容。

6. 通过 SDK/API 接入时,可前往 日志审计 查看对应的攻击日志信息。

七、相关文档

·流量接入

·SDK/API 接入

·提示词攻击防护

·内容合规检测

·敏感数据检测

·日志审计

赞 (0)
上一篇 4天前
下一篇 4天前