内容安全检测

AI生成应用中,用户输入(Prompt)的诱导或模型生成的内容(Response)都可能包含色情、涉政、违禁等违法违规信息,给企业带来合规风险。WAF内容安全检测功能,基于阿里云安全的多模态AI引擎,为AI应用提供双向、实时的内容风险识别与管控能力,保障业务安全合规。

创建内容安全检测防护模板

在创建内容安全检测模板前,您需要先开通AI应用防护服务新建资产

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地在左侧导航栏,选择防护配置 > AI应用防护,在内容安全检测页面中,单击新建模板

  2. 模板名称处,为该模板设置一个名称。

  3. 策略配置处,单击新建规则,完成以下配置后,单击确定。支持新建多条规则。

    配置项

    说明

    规则名称

    为该规则设置一个名称。

    检测分类

    设置检测的风险类型,支持多选。可选项:色情、涉政、恐暴、违禁、不良。

    检测威胁等级

    设置威胁等级,可选项:高风险、中风险、低风险。

  4. 检测请求检测响应进行勾选,表示WAF检测用户请求或AI模型响应。支持单独或同时配置。

    检测请求

    勾选此项后,表示检测用户请求。请继续选择需执行的防护动作。可选项:

    • 观察:表示不拦截命中规则的请求,只通过日志记录请求命中了规则。您可以在日志查询中查看命中当前规则的请求,分析规则的防护效果(例如,是否有误拦截等)。

    • 应答替换:表示命中规则的攻击请求,WAF将原始请求转发至后端大模型,并以用户配置的自定义应答内容替换大模型的真实响应。仅需配置具体的响应文案,无需适配大模型的响应格式。例如,可配置响应文案为:“响应存在不合法内容,已被WAF防护”。

    • 拦截:表示命中规则的攻击流量被WAF拦截,不转发到后端大模型。支持选择自定义响应模板,可参考如下示例。

      自定义响应配置示例

      示例1:不适配大模型应用的响应格式,直接返回拦截页面。

      • 响应码:403

      • headerContent-Type

      • headertext/plain; charset=utf-8

      • 页面响应体{"error_id":" {::trace_id::}","msg":"包含违规信息,响应被拦截"}

      示例2:适配大模型应用的响应格式,用户体验好,需根据实际应用响应进行调整。

      • 响应码:200

      • headerContent-Type

      • headertext/event-stream; charset=utf-

      • 页面响应体

        data: {"id":"","object":"chat.completion.chunk","created":1747364919,"model":"deepseek-chat","system_fingerprint":"","choices":[{"index":0,"delta":{"content":"您的输入包含违规内容,已被WAF防护"},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":0,"completion_tokens":0,"total_tokens":0,"prompt_tokens_details":{"cached_tokens":0},"prompt_cache_hit_tokens":0,"prompt_cache_miss_tokens":0}}
        data: [DONE]

    检测响应

    勾选此项后,表示检测AI模型响应。请根据您的业务特征,选择非流式响应动作流式响应动作,支持单独或同时配置。

    • 非流式响应动作

      • 观察:表示不拦截命中规则的响应,只通过日志记录响应命中了规则。您可以在日志查询中查看命中当前规则的响应,分析规则的防护效果(例如,是否有误拦截等)。

      • 应答替换:表示命中规则的攻击请求,WAF将原始请求转发至后端大模型,并以用户配置的自定义应答内容替换大模型的真实响应。仅需配置具体的响应文案,无需适配大模型的响应格式。例如,可配置响应文案为:“响应存在不合法内容,已被WAF防护”。

      • 拦截:表示拦截命中规则的响应,并向发起请求的客户端返回拦截响应页面。支持选择自定义响应模板

    • 流式响应动作

      • 观察:表示不拦截命中规则的响应,只通过日志记录响应命中了规则。您可以在日志查询中查看命中当前规则的响应,分析规则的防护效果(例如,是否有误拦截等)。

      • 撤回:表示撤回命中规则的响应,撤回消息必须为符合大模型平台协议的 SSE 数据格式,且结构需与客户端解析逻辑匹配,否则无法正确触发撤回行为。

        撤回配置示例

        Dify为例,event 字段使用 message_replace 表示撤回上一条消息,answer字段表示撤回后向用户展示的提示语。

        客户端在接收 SSE 流时,会监听每条消息的 event 字段。当收到 "event": "message_replace" 时,客户端应:

        1. 停止接收当前流式输出;

        2. 清除或覆盖已渲染的不安全内容;

        3. 显示 answer 中的提示语作为最终响应。

        data: {"event": "message_replace", "conversation_id": "", "message_id": "", "created_at": 1755685383, "task_id": "", "id": "", "answer": "内容不合法,响应被撤回!", "from_variable_selector": null}
      • 应答替换:表示命中规则的攻击请求,WAF将原始请求转发至后端大模型,并以用户配置的自定义应答内容替换大模型的真实响应。仅需配置具体的响应文案,无需适配大模型的响应格式。例如,可配置响应文案为:“响应存在不合法内容,已被WAF防护”。

  5. 防护资产处选择在资产管理创建的资产,使防护模板对这些资产生效。一个防护模板支持关联多个资产,但每个资产只能关联一个防护模板。

查看并管理内容安全检测防护模板

内容安全检测页面,您可以在防护模板列表执行如下操作:

  • 查看模板关联的资产数量。

  • 通过模板开关,开启或关闭模板。

  • 为该模板新建规则

  • 编辑删除复制防护模板。

  • 单击防护模板名称左侧的展开图标 图标,查看并管理该防护模板包含的规则:

    • 查看规则ID检测威胁等级等信息。

    • 通过状态开关,开启或关闭规则。

    • 编辑删除规则。

后续步骤

您可以在安全报表页面,查询具体的AI应用防护模板命中记录,也可以在日志查询中查看防护日志信息。

配额与限制

  • 目前仅支持杭州新加坡集群的CNAME接入、云产品接入ECS实例和四层CLB实例的防护对象。其他集群功能正在逐步上线。若有其他集群的接入需求,请联系您的商务经理。