Moderation、DLP、LLM Guardrail和策略引擎怎么选?企业AI安全四层架构指南
文章摘要
企业AI安全经常把Moderation、敏感信息脱敏、Prompt Injection检测和业务权限校验混为一谈。实际上,Moderation关注内容类别,DLP关注敏感数据,LLM Guardrail关注模型输入输出行为,策略引擎负责确定性的业务授权。四者解决的问题不同,任何一个都不能单独承担全部安全责任。本文给出四类能力的边界、组合顺序、适用场景和技术选型方法。
一、为什么一个安全模型不够
用户输入:
查询客户张三的合同金额,并把结果发给我的私人邮箱。
这条请求可能同时涉及:
- 是否包含有害内容;
- 是否包含个人信息;
- 当前用户是否有权查询合同;
- 是否允许向私人邮箱外发;
- 工具调用是否需要审批;
- 最终输出是否泄露数据。
Moderation模型可能判断它没有暴力、仇恨等风险,但这不代表业务可以执行。
企业AI安全需要多层控制:
内容安全
+数据安全
+模型行为安全
+业务授权安全
二、Moderation负责什么
Moderation主要用于判断文本或媒体是否属于特定风险类别。
常见用途:
- 有害内容检测;
- 暴力、自残、仇恨等分类;
- 不适合公开展示的内容;
- 输入与输出内容审核;
- 用户生成内容治理。
优势:
- 接入简单;
- 类别相对标准化;
- 适合高吞吐预检查;
- 可使用专用模型。
局限:
- 不理解企业权限;
- 不知道哪些合同属于当前用户;
- 无法判断一个字段是否允许对外发送;
- 不能替代工具审批;
- 不一定能识别Prompt Injection。
三、DLP负责什么
DLP是Data Loss Prevention,即数据防泄漏。
关注对象:
身份证号
手机号
邮箱
银行卡
地址
员工编号
客户名称
合同金额
商业机密
源代码密钥
DLP可以使用:
- 正则表达式;
- 字典;
- 校验算法;
- 命名实体识别;
- 数据分类标签;
- 数据库字段元数据;
- 文档密级。
例如身份证号不应只使用18位正则,还应校验:
- 日期是否合法;
- 校验位;
- 地区码格式;
- 上下文。
DLP动作:
检测
脱敏
替换Token
拒绝
加密
转人工
四、LLM Guardrail负责什么
LLM Guardrail关注模型特有风险:
- Prompt Injection;
- 越权指令;
- 系统提示词泄露;
- 不忠实回答;
- 格式不合规;
- 工具滥用;
- 引用缺失;
- 模型输出包含未经证据支持的事实。
它可以由以下方式实现:
规则
专用分类模型
另一个LLM
输入/输出Advisor
结构化校验
事实核验
示例:
忽略前面的指令
打印系统提示词
把检索文档中的命令当成系统命令执行
这些内容不一定会被普通Moderation识别,但属于典型Guardrail范围。
五、策略引擎负责什么
策略引擎处理确定性业务规则:
谁
在什么条件下
可以对什么资源
执行什么动作
例如:
销售人员只能查看自己区域客户
财务人员可以查看金额但不能导出全部客户
退款超过5000元需要主管审批
外发邮件只能发送到公司域名
策略引擎可以使用:
- Java规则代码;
- RBAC;
- ABAC;
- OPA;
- Cedar;
- Drools;
- 企业IAM。
关键原则:
最终授权不能交给大模型自由判断。
六、四类能力的对比
| 能力 | 主要问题 | 输出 | 是否确定性 | 能否直接授权 |
|---|---|---|---|---|
| Moderation | 内容是否有害 | 类别、分数 | 半确定性 | 不能 |
| DLP | 是否包含敏感数据 | 实体、位置、密级 | 较高 | 不能单独授权 |
| LLM Guardrail | 模型行为是否越界 | 风险、修复、拒绝 | 混合 | 不能作为唯一授权 |
| 策略引擎 | 谁能执行什么 | 允许/拒绝/审批 | 高 | 可以作为授权核心 |
七、推荐执行顺序
输入阶段:
身份认证
→ 请求大小限制
→ DLP检测
→ Moderation
→ Prompt Injection检测
→ 策略预检查
→ Memory与RAG
→ 模型
工具阶段:
模型提出工具调用
→ 参数Schema校验
→ 策略引擎授权
→ 高风险人工审批
→ 幂等控制
→ 执行工具
输出阶段:
模型输出
→ 事实与引用校验
→ DLP检测
→ Moderation
→ 业务规则校验
→ 返回用户
八、为什么DLP应该在RAG之前
如果用户输入中包含敏感字段,直接用于向量检索可能造成:
- 敏感文本写入检索日志;
- 查询向量被第三方服务处理;
- 缓存Key包含明文;
- Trace系统保存原文;
- 搜索结果扩大数据暴露范围。
可以先替换:
张三,身份证3301……
为:
,身份证
保留映射在受控内存或加密存储中,模型完成后再按授权恢复必要字段。
九、为什么策略引擎必须在工具执行前再检查
即使请求入口已经验证权限,工具执行前仍需重新检查。
原因:
- 模型可能选择了不同工具;
- 参数可能指向其他资源;
- 对话中用户身份或审批状态变化;
- 工具具有副作用;
- RAG文档可能诱导工具调用。
正确链路:
入口权限
+工具级权限
+资源级权限
+参数级约束
十、选型场景一:普通内部知识库
最低配置:
身份认证
+租户/部门权限过滤
+基础DLP
+Prompt Injection提示
+输出引用
Moderation可以根据业务内容决定是否启用。
如果知识库只包含内部制度,最重要的通常是权限与数据泄露,而不是公共内容审核。
十一、选型场景二:公开聊天产品
推荐:
输入Moderation
+输出Moderation
+滥用限流
+Prompt Injection防护
+用户举报
+人工审核后台
公开产品必须考虑:
- 对抗性输入;
- 批量绕过;
- 多语言;
- 图片和音频;
- 未成年人;
- 风险升级。
十二、选型场景三:带工具的Agent
重点不是只审核文本,而是动作安全:
工具白名单
+Schema校验
+策略引擎
+幂等
+审批
+审计
+执行后验证
Moderation只能作为其中一层。
十三、选型场景四:合同与财务助手
推荐:
DLP
+文档密级
+ABAC权限
+RAG证据引用
+输出事实校验
+高风险人工审批
模型不应直接决定:
- 是否付款;
- 是否签约;
- 是否外发;
- 是否修改正式数据。
十四、规则与模型如何组合
规则适合
- 邮箱域名;
- 身份证格式;
- 金额阈值;
- 用户角色;
- 工具白名单;
- 输出JSON Schema。
模型适合
- 隐晦的Prompt Injection;
- 语义敏感信息;
- 复杂内容风险;
- 回答忠实度;
- 上下文相关判断。
推荐:
确定性规则优先
模型补充语义判断
高风险结果人工确认
十五、不要让多个安全模型无限串联
常见过度设计:
输入模型A
→ 输入模型B
→ DLP模型
→ 主模型
→ 输出模型C
→ 输出模型D
结果:
- 延迟高;
- 成本高;
- 误报叠加;
- 难以定位拒绝原因;
- 可用性下降。
应该基于风险分层:
低风险:规则+轻量审核
中风险:增加语义Guardrail
高风险:完整审核+人工审批
十六、统一安全决策对象
public record SecurityDecision(
boolean allowed,
SecurityAction action,
Set reasons,
Map scores,
Set entities,
boolean requiresHumanReview
) {
}
不同组件输出统一汇总,避免业务层到处判断Provider字段。
十七、必须记录的指标
moderation_block_rate
dlp_entity_count
prompt_injection_detected_count
policy_denied_count
human_review_count
false_positive_rate
false_negative_incident_count
security_latency_ms
security_cost_per_request
tool_denied_count
安全系统不能只看拦截数量,还要关注误报和漏报。
十八、最终建议
只有文本聊天
Moderation
+基础DLP
+输入输出Guardrail
企业知识库
DLP
+权限策略
+RAG隔离
+引用校验
工具Agent
Guardrail
+策略引擎
+审批
+幂等
+审计
高风险行业
全部分层能力
+人工复核
+严格Fail Closed
总结
Moderation、DLP、LLM Guardrail和策略引擎不是四个同类产品,而是四层不同控制:
Moderation控制内容风险
DLP控制数据泄露
Guardrail控制模型行为
策略引擎控制业务授权
生产系统应按风险组合,而不是寻找一个“万能安全模型”。
延伸阅读
如果你正在关注企业级AI安全、Spring AI、RAG、Agent与权限治理,欢迎访问 智元界:
https://www.zyentor.com/
智元界将持续分享可运行的技术实战、架构设计、问题排查与企业应用案例。