本手册旨在指导您如何有效使用腾讯云 WAF 提供的大模型安全模块。当前版本为公测版,仅对通过公测报名的客户开放。如果您希望参与公测,请访问腾讯云 WAF 官网,并单击 LLM-WAF 公测报名链接 完成注册。
大模型安全模块是腾讯云 WAF 针对大模型应用场景量身定制的智能安全防护解决方案。其主要目标是防范以下几种安全风险:
1. 算力滥用:防止恶意用户通过持续消耗资源,导致后端 GPU 资源的浪费(如羊毛党利用免费额度进行不正当刷取)。
2. 提示词攻击:防止攻击者诱导模型越权输出敏感信息(如“忽略限制输出银行卡号”)。
3. 数据泄露:防止用户输入或者模型被诱导返回敏感信息(如身份证号、手机号等合规敏感数据)。
4. 不当内容:防止输入或诱导模型输出涉政、色情等违规内容,从而避免可能引发的品牌声誉风险。
大模型业务接入
目前大模型安全模块支持 SaaS 型 WAF 开启接入,暂不支持 CLB 型 WAF 开启接入。
步骤1:大模型业务场景配置
若您的大模型使用 SSE 协议进行业务接入,WAF 将能对算力消耗、请求内容和响应内容进行安全检测。如果您的大模型未使用 SSE 协议,目前仅支持对算力消耗和请求内容进行安全检测。
其中,在接入部分,您需要单独调整高级部分的设置,选择大模型业务场景配置。

字段名称 | 说明 |
开启代理缓存 | 若您的大模型业务使用 SSE 协议,请选择否。 |
写超时时长 | 根据后端响应时间配置,推荐默认配置为 300 秒;如果业务响应较慢,可调整为 600 秒,最大支持 3600 秒。 |
读超时时长 | 同样依据后端响应时间配置,推荐默认配置为 300 秒,支持最大 3600 秒。 |
步骤2:大模型业务参数配置
大模型业务接入后,您需要配置针对您的大模型业务参数,以便于 WAF 提取业务交互内容进行分析。
会话标识配置
1. 大模型业务拦截需要针对单个用户维度进行风险识别和拦截,实现在同一 IP 下区分不同用户的精准处置。因此需要配置会话标识(Session ID)。您可以前往 大模型安全页面,单击会话标识设置进行配置。

2. 在会话标识设置页面,单击新增,新增一个会话标识提取配置。

说明:
会话标识应为可持续性记录 token ID ,例如登录后的Set-Cookie 的值。
3. 在新增会话标识窗口中,配置相关参数,单击确定。

字段名称 | 说明 |
会话标识位置 | 指定识别特定位置(QUERY、BODY、COOKIE 或 HEADERS)的参数名作为会话标识,以该参数名对应的值作为会话 ID。 |
会话标识参数 | 取值标识,以.字符分隔各个层级的参数,示例如下: test:识别 JSON 字符串中 test 参数的值为会话 ID。 test1.test2:识别 JSON 字符串中 test1包含的 test2参数的值为会话 ID。 除了 HEADERS 以外,其余配置均需要区分字母大小写。 |
优先级 | 支持输入1-100的整数,数字越小优先级越高,优先匹配对应设置的会话标识。优先级相同时,更新时间越晚越优先。 |
设置默认 | 支持设置默认会话标识,设置默认后,则在创建安全策略时默认使用该会话标识配置进行提取。 |
大模型防护路径配置
1. 由于不同大模型的防护路径及其对应的 prompt 和 response 字段位置各不相同,需要明确 WAF 应从哪个路径和字段提取内容进行匹配。因此,您需要为接入的大模型业务定义具体的防护路径。可以前往 大模型安全页面,单击大模型防护路径设置进行配置。

2. 单击新增,您可以设置大模型防护路径。

3. 在新增大模型防护路径窗口中,配置相关参数,单击确定。

字段名称 | 说明 |
大模型类型 | 系统内置了部分标准的大模型路径参数,您可以根据自己的大模型后端服务类型选择填充,或者选择自定义填充。 |
大模型业务名称 | 限制 128 个字符,输入大模型业务名称,用于展示在规则配置页选择。 |
请求路径 | 配置您的大模型业务的请求路径,例如/v1/chat。限制 128 个字符。 |
提示词位置 | 配置您的大模型业务的提示词字段,可使用参数名或数组形式。例如: 配置 prompt 表示提取 prompt 的参数值; 配置 content.0.prompt 表示提取 content 数组第一个元素的 prompt 参数值; 配置 content|@reverse|0.prompt 表示提取 content 数组最后一个元素的 prompt 参数值。 限制为 128 个字符。 |
思考位置 | 如果您使用的大模型业务为思考大模型,请在此配置您的大模型业务的思考内容字段。支持参数名或数组形式,例如: 配置 thinking 则提取 thinking 参数值内容; 配置 content.0.thinking 则提取 content 数组第一个元素的 thinking 参数值内容; 配置 content|@reverse|0.thinking 则提取 content 数组最后一个元素的 thinking 参数值内容。 字符限制为 128 个。 |
响应位置 | 配置您的大模型业务的响应内容字段,支持参数名或数组形式。例如: 配置 response,提取 response 的参数值; 配置 content.0.response,提取 content 数组第一个元素的 response 参数值; 配置 content|@reverse|0.response,提取 content 数组最后一个元素的 response 参数值。 限制 128 个字符。 |
Token 用量位置 | 配置客户的大模型业务的 token 用量对应的字段,限制 128 个字符,您可以选择三种配置方式: 内置 token 算法:当您选择此方案时,调用 WAF 内置算法计算 token。 单字段:当您选择此方案时,读取每个请求中该字段的值并汇总计算总 token 量值。 多字段:当您选择此方案时,读取每个请求中的请求和响应两个字段的值,并加起来,作为单次请求的总 token 值。 |
优先级 | 配置优先级,优先级逻辑:请输入1-100的整数,数字越小,代表这条规则的执行优先级越高;相同优先级下,更新时间越晚,优先级越高。 |
算力消耗规则
1. 登录 Web 应用防火墙控制台,在左侧导航栏,选择大模型安全 > 算力消耗规则。
2. 在算力消耗规则页签,单击添加规则。
3. 在添加算力消耗防护规则窗口中,进行信息配置:

参数说明
字段名称 | 说明 |
规则名称 | 设置规则名称。 |
会话标识 | 选择您此前配置的会话标识,用于区分不同用户,实现对单个用户的精准算力消耗检测。 |
默认需要选择 LLM 业务匹配方式,选择您添加的 LLM 业务防护路径配置。 说明: 单条规则中不同匹配方式为 “与” 关系。 | |
防护规则 | 基于请求频次的防护:统计单个用户 ID 在单位时间(时间:1 分钟、5 分钟、10 分钟、30 分钟、60 分钟、6 小时、12 小时、24 小时、每整点小时、每自然天,值为 2-100000,值必须为整数)内的请求次数。 基于 Token 消耗量的防护:根据业务类型配置单个用户 ID在单位时间(1 分钟、5 分钟、10 分钟、30 分钟、60 分钟、6 小时、12 小时、24 小时、每整点小时、每自然天)内的总 Token 消耗量。 |
执行动作 | WAF 支持针对算力超量用户实现两种处置方式: 观察:仅记录日志。 拦截 当您选择类型为基于请求频次的防护:在检测到用户超量后,将阻断用户发往源站的请求,并返回 WAF 默认拦截提示页面,您可以前往基础安全修改默认拦截提示页面的内容。 当您选择类型为基于 Token 消耗量防护:在检测到用户超量后,WAF 会中断源站返回用户的请求,并在返回的 data 中插入自定义提示内容,您可以配置返回给用户的提示内容。 WAF 拦截时,如果是请求拦截,返回 WAF 默认拦截提示页面,您可以前往基础安全修改默认拦截提示页面的内容。如果是响应拦截,除了会返回的 data 中插入自定义提示内容配置以外,还会在返回的 data 数据中插入一个 uuid 字段以及 uuid 值,为了更好的拦截体验,您也可以对业务前端进行逻辑修改,在检测到返回字段中存在 uuid 字段时,调整实际拦截效果。 |
优先级 | 配置规则优先级。 配置优先级,优先级逻辑:请输入1-100的整数,数字越小,代表这条规则的执行优先级越高;相同优先级下,更新时间越晚,优先级越高。 |
匹配方式
参数类型 | 支持逻辑符号 | 说明 |
请求Header参数值 | 内容为空、存在、不存在、包含、不包含、属于、不属于、前缀匹配、后缀匹配 | 可设置多个匹配值(通过换行分隔),用于识别特定请求头的特征值。 |
GET参数值 | 内容为空、存在、不存在、包含、不包含 | 支持对GET请求参数值的空值、存在性及内容特征匹配。 |
POST参数值 | 内容为空、存在、不存在、包含、不包含 | 支持对POST请求参数值的空值、存在性及内容特征匹配。 |
Cookie参数值 | 内容为空、存在、不存在、包含、不包含、属于、不属于、前缀匹配、后缀匹配 | 支持对Cookie值的空值、存在性、内容特征及前后缀规则匹配。 |
Referer参数值 | 内容为空、存在、不存在、包含、不包含、属于、不属于、前缀匹配、后缀匹配 | 支持对来源链接(Referer)的空值、存在性、内容特征及前后缀规则匹配。 |
访问源IP | 属于、不属于 | 支持对客户端 IP 地址的归属范围匹配(需填写具体 IP 段或地址)。 |
IP 归属地 | 属于、不属于 | 支持对 IP 地址所属地域的匹配(可选择国内/国外具体地区,支持多地区组合配置)。 |
会话ID | 属于、不属于 | 支持对会话ID的归属范围匹配(需填写具体会话ID或通过换行分隔多个ID)。 |
User-Agent | 属于、不属于 | 支持对用户代理(User-Agent)的归属范围匹配(需填写具体UA标识或通过换行分隔多个标识)。 |
为帮助您优化拦截体验,为用户提供更好的交互体验,以下提供业务前端针对 LLM-WAF 拦截逻辑修改的示例代码,该示例代码基于 Deepseek 接口格式,可参考嵌入您的业务前端代码中,实现与 LLM-WAF 的防护逻辑联动:
拦截机制说明:
请求方向拦截:LLM-WAF 对于请求方向的拦截方式为同步拦截,客户端发送请求后,服务器立即检查风险(如敏感词)。若触发拦截,直接返回 LLM-WAF 预设的拦截页面(不会使用规则中的自定义拦截提示内容),如您的业务前端需处理拦截效果,您只需调整业务前端对于响应状态码和状态提示的效果。
响应方向拦截:LLM-WAF 对于响应方向的拦截方式为异步拦截,服务器在流式输出内容时,LLM-WAF 同步实时检测风险。若触发拦截时:
1.1 LLM-WAF 会中断流式内容输出。
1.2 在响应数据中添加 uuid 字段,并在您定义的响应内容字段中,插入您规则配置的自定义拦截提示内容。
1.3 如您的业务前端需处理拦截效果,您可以通过检测 uuid 字段的存在性,判断拦截状态,并调整业务前端的拦截效果:
若未识别到 uuid 字段:正常展示内容。
若识别到 uuid 字段:可以清空已输出内容,重置显示为 LLM-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. 完成上述所有参数设置后,请仔细检查,确认无误后,打开规则开关,单击确定提交配置,该规则即刻生效,开始守护您的算力资源。
内容安全防护规则
1. 登录 Web 应用防火墙控制台,在左侧导航栏,选择大模型安全 > 内容安全防护规则。
2. 在内容安全防护规则,单击添加规则。
3. 在添加内容安全防护规则窗口中,进行信息配置:

参数说明
字段名称 | 说明 |
规则名称 | 设置规则名称。 |
会话标识 | 选择您此前配置的会话标识,用于区分不同用户,实现对单个用户的精准内容安全检测。 |
匹配方式 | 默认需要选择 LLM 业务匹配方式,选择您添加的 LLM 业务防护路径配置。 说明: 单条规则中不同匹配方式为 “与” 关系。 |
检测模式 | 同时检测输入与输出:同时对输入和输出内容进行检测。 仅检测输入内容:对大模型防护路径中定义的提示词部分内容进行检测。 仅检测输出内容:对大模型防护路径中定义的思考与输出部分内容进行检测。如果模型为推理模型,则输出内容的检测范围同时包括思考内容与回答内容。 |
检测内容 | 敏感信息:支持身份证号、社保卡号、URL 地址等 30 余类敏感信息识别检测。 不当信息:支持识别涉政、色情类型的信息。 关键词:支持识别关键词信息,最大支持配置 20 个关键词,多个关键词为或关系。请留意,对于输出内容的检测,由于大模型输出为流式输出,WAF 检测时对于长文本会进行组合检测,因此如果您配置的关键词过长,检测有可能会无法命中,建议单个关键词长度配置在 10 个字符以内。 提示词注入:支持识别提示词注入攻击行为。注意,选择此内容配置时,仅支持对输入部分信息进行检测。 说明: 单条规则中不同检测内容为 “与” 关系,若需配置不同类型防护规则,您可以创建多条防护规则。推荐防护架构为:优先防护提示词注入攻击,其次是不当信息保护,最后是敏感信息保护和自定义关键词保护,推荐您至少配置三条内容安全防护规则。 |
执行动作 | 观察:仅记录日志。 拦截 对于输入内容,大模型安全模块进行同步检测,当在输入内容中检测到风险时,将阻断用户发往源站的请求,并返回 WAF 默认拦截提示页面,您可以前往基础安全修改默认拦截提示页面的内容。 对于输出内容,大模型安全模块进行异步检测,当在输出内容中检测到风险时,将停止内容输出,并插入自定义提示内容,您可以配置返回给用户的提示内容。 具体逻辑为:在识别到风险后,会停止流式输出,并在最后一次返回的 data 数据中的对应响应字段位置插入自定义提示内容,及一个 uuid 字段以及 uuid 值,为了更好的拦截体验,您也可以对业务前端进行逻辑修改,在检测到返回字段中存在 uuid 字段时,调整实际拦截效果。 |
优先级 | 配置规则优先级。 优先级逻辑:请输入1-100的整数,数字越小,代表这条规则的执行优先级越高;相同优先级下,更新时间越晚,优先级越高。 |
匹配方式
参数类型 | 支持逻辑符号 | 说明 |
请求Header参数值 | 内容为空、存在、不存在、包含、不包含、属于、不属于、前缀匹配、后缀匹配 | 可设置多个匹配值(通过换行分隔),用于识别特定请求头的特征值。 |
GET参数值 | 内容为空、存在、不存在、包含、不包含 | 支持对GET请求参数值的空值、存在性及内容特征匹配。 |
POST参数值 | 内容为空、存在、不存在、包含、不包含 | 支持对POST请求参数值的空值、存在性及内容特征匹配。 |
COOKIE参数值 | 内容为空、存在、不存在、包含、不包含、属于、不属于、前缀匹配、后缀匹配 | 支持对Cookie值的空值、存在性、内容特征及前后缀规则匹配。 |
Referer参数值 | 内容为空、存在、不存在、包含、不包含、属于、不属于、前缀匹配、后缀匹配 | 支持对来源链接(Referer)的空值、存在性、内容特征及前后缀规则匹配。 |
访问源IP | 属于、不属于 | 支持对客户端IP地址的归属范围匹配(需填写具体IP段或地址)。 |
IP归属地 | 属于、不属于 | 支持对IP地址所属地域的匹配(可选择国内/国外具体地区,支持多地区组合配置)。 |
会话ID | 属于、不属于 | 支持对会话ID的归属范围匹配(需填写具体会话ID或通过换行分隔多个ID)。 |
User-Agent | 属于、不属于 | 支持对用户代理(User-Agent)的归属范围匹配(需填写具体UA标识或通过换行分隔多个标识)。 |
为帮助您优化拦截体验,为用户提供更好的交互体验,以下提供业务前端针对 LLM-WAF 拦截逻辑修改的示例代码,该示例代码基于 Deepseek 接口格式,可参考嵌入您的业务前端代码中,实现与 LLM-WAF 的防护逻辑联动:
拦截机制说明:
请求方向拦截:LLM-WAF 对于请求方向的拦截方式为同步拦截,客户端发送请求后,服务器立即检查风险(如敏感词)。若触发拦截,直接返回 LLM-WAF 预设的拦截页面(不会使用规则中的自定义拦截提示内容),如您的业务前端需处理拦截效果,您只需调整业务前端对于响应状态码和状态提示的效果。
响应方向拦截:LLM-WAF 对于响应方向的拦截方式为异步拦截,服务器在流式输出内容时,LLM-WAF 同步实时检测风险。若触发拦截时:
1.1 LLM-WAF 会中断流式内容输出。
1.2 在响应数据中添加 uuid 字段,并在您定义的响应内容字段中,插入您规则配置的自定义拦截提示内容。
1.3 如您的业务前端需处理拦截效果,您可以通过检测 uuid 字段的存在性,判断拦截状态,并调整业务前端的拦截效果:
若未识别到 uuid 字段:正常展示内容。
若识别到 uuid 字段:可以清空已输出内容,重置显示为 LLM-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. 完成上述所有参数设置后,打开规则开关,然后单击确定提交配置,此刻该规则即刻生效,开始守护您的大模型内容安全。
攻击日志记录
当上述规则拦截到相关异常情况后,需要查看攻击日志获取详细信息。
1. 登录 Web 应用防火墙控制台,在左侧导航栏,选择攻击日志 > 日志服务。
2. 在日志服务页面,选择攻击类型为大模型安全,选择时间段,单击确定查看详情。

3. 查看详情:在攻击记录列表中,单击具体的某一条攻击记录,可以查看详细信息。
其中内容包含:拦截的用户提示词、攻击类型、请求来源 IP、具体的攻击内容等详细信息。例如,在提示词攻击场景下,能清晰看到用户输入的诱导性提示词原文;在数据泄露场景下,可查看疑似泄露的数据内容及相关内容等。

4. 后续处置:根据日志呈现的详细信息,深入分析攻击类型和来源。若发现是由于规则配置不够完善导致部分攻击未被有效拦截,可返回登录 Web 应用防火墙控制台,选择大模型安全 > 内容安全防护规则 页面,对相应规则进行调整优化,如补充关键词、调整匹配方式等;若判断是新出现的攻击手段,可考虑增加新的规则进行针对性防护。
场景配置示例
大模型防护路径配置示例
1. 根据您前端大模型的交互路径配置防护路径,您可以通过浏览器高级工具按 F12 键查看您业务前端对应的配置。例如,Demo 业务中对应请求、响应和Token 用量的字段分别如下:
请求

响应

Token 消耗量:为单字段总消耗量。

2. 则在 大模型安全页面,单击大模型防护路径设置,则我们对应的大模型防护路径配置如下:

字段名称 | 说明 |
提示词位置 | 配置值为 messages|@reverse|0.content 。含义为请求负载中 messages 数组最新一个元素中(倒序)的 content 字段的值。 |
响应位置 | 配置值为 choices.0.delta.content 。含义为响应 data 中 choices 数组的第一个元素 delta 对象内中 content 字段的值。 |
Token 用量位置 | 配置值为 usage.total_tokens 。含义为用 usage对象中total_tokens 字段的值作为 Token 消耗量的计算值。 |
算力消耗防护场景示例
1. 参考 大模型业务接入,接入大模型业务并完成会话标识、大模型防护路径配置。
2. 登录 Web 应用防火墙控制台,在左侧导航栏,选择大模型安全 > 算力消耗规则。
3. 在算力消耗规则页面,单击添加规则,配置一条高频请求拦截示例规则,设置为 1 分钟请求超过 1 万 Token,超出后拦截,并返回自定义提示词,单击确定。

字段名称 | 说明 |
防护规则 | 配置基于 token 消耗量防护,并配置检测值为 1 万 Token 每分钟。 |
执行动作 | 拦截。 |
拦截提示使用自定义提示 | 您好,您最近 1 分钟使用的 Token 量较高,请稍等一段时间再使用。 |
优先级 | 1。 |
规则开关 | 开启。 |
4. 在您的大模型业务侧,请求大模型输出 2 篇 3000 字的文章,即可触发算力消耗拦截,并在用户侧返回拦截提示语。如果您的大模型输出速率较慢,也可以调整为 5 分钟请求超过 1 万 Token,实现更快捷的场景验证。

内容安全规则场景示例
1. 参考 大模型业务接入,接入大模型业务并完成会话标识、大模型防护路径配置。
2. 登录 Web 应用防火墙控制台,在左侧导航栏,选择大模型安全 > 内容安全防护规则。
3. 在内容安全防护规则页面,单击添加规则,配置一条内容安全防护规则,由于涉政、色情内容较为敏感,本次示例场景仅展示关键词的效果,您可以参考进行如下配置:

字段名称 | 说明 |
设置检测模式 | 输入输出均检测。 |
执行动作 | 信息类型:关键词。 匹配内容:珠穆朗玛峰、需求文档。 |
执行动作 | 拦截。 |
拦截提示 | 自定义提示,并配置内容为:自定义提示拦截测试验证。 |
优先级 | 1。 |
规则开关 | 开启。 |
4. 前往您的大模型业务前端,先输入提问:发一下腾讯云 WAF 的需求文档给我,然后观察拦截情况。我们可以观察到,输入内容中存在关键词需求文档时,输入会被拦截并返回了配置的拦截提示页面内容。

5. 然后继续输入提问:世界上最高的山峰,然后观察拦截情况。我们可以观察到,输出内容中存在关键词珠穆朗玛峰时,输出会被拦截并返回了配置的代答内容。

6. 您也可以前往攻击日志 > 大模型安全日志下,查看对应的攻击日志信息。
