文档中心>Web 应用防火墙>操作指南>大模型安全用户手册

大模型安全用户手册

最近更新时间:2025-08-11 14:08:22

我的收藏
本手册旨在指导您如何有效使用腾讯云 WAF 提供的大模型安全模块。当前版本为公测版,仅对通过公测报名的客户开放。如果您希望参与公测,请访问腾讯云 WAF 官网,并单击 LLM-WAF 公测报名链接 完成注册。

大模型安全模块是腾讯云 WAF 针对大模型应用场景量身定制的智能安全防护解决方案。其主要目标是防范以下几种安全风险:
1. 算力滥用:防止恶意用户通过持续消耗资源,导致后端 GPU 资源的浪费(如羊毛党利用免费额度进行不正当刷取)。
2. 提示词攻击:防止攻击者诱导模型越权输出敏感信息(如“忽略限制输出银行卡号”)。
3. 数据泄露:防止用户输入或者模型被诱导返回敏感信息(如身份证号、手机号等合规敏感数据)。
4. 不当内容:防止输入或诱导模型输出涉政、色情等违规内容,从而避免可能引发的品牌声誉风险。

大模型业务接入

目前大模型安全模块支持 SaaS 型 WAF 开启接入,暂不支持 CLB 型 WAF 开启接入。

步骤1:大模型业务场景配置

若您的大模型使用 SSE 协议进行业务接入,WAF 将能对算力消耗、请求内容和响应内容进行安全检测。如果您的大模型未使用 SSE 协议,目前仅支持对算力消耗和请求内容进行安全检测。
您可以参考 接入 SaaS 型 WAF 文档,快速将您的业务接入SaaS 型 WAF 并验证。
其中,在接入部分,您需要单独调整高级部分的设置,选择大模型业务场景配置

字段名称
说明
开启代理缓存
若您的大模型业务使用 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 插入的自定义提示内容。
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 插入的自定义提示内容。
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. 您也可以前往攻击日志 > 大模型安全日志下,查看对应的攻击日志信息。