Skip to content
PIIONNXScannerEngineering

T0 PII 扫描引擎:硬规则与 ONNX 模型的双路径融合

为什么需要双路径

AI Agent 处理的文本中可能包含敏感信息:API Key、信用卡号、身份证号、地址等。单一检测路径要么误报高(纯规则),要么延迟大(纯模型)。Vigils 采用硬规则 + ONNX 模型双路径,兼顾速度与覆盖。

硬规则路径

14 条正则 + 关键字匹配,响应时间 <1ms:

类别模式示例误报率
GitHub Tokenghp_[a-zA-Z0-9]{36}0
AWS Access KeyAKIA[0-9A-Z]{16}0
AWS Secret Key隐式模式(熵检测)<0.1%
信用卡号Luhn 校验 + BIN 范围0
身份证号加权求和校验0

硬规则的优势是确定性——匹配即命中,无需概率判断。

ONNX 模型路径

OpenAI Privacy Filter q4f16 量化模型,8 类 PII 软标签:

  • PERSON(人名)
  • DATE(日期)
  • EMAIL(邮箱)
  • PHONE(电话)
  • ADDRESS(地址)
  • ORG(组织)
  • MONEY(金额)
  • SSN(社会安全号)

模型通过 BIOES 标注解码,识别边界模糊的实体(如 "John 住在深圳南山区" 中的 "John" 和 "深圳南山区")。

Hard-First 合并策略

当两条路径在同一文本 span 上重叠时,硬规则优先

  1. 硬规则命中 → 直接采用,模型结果 discard
  2. 硬规则未命中,模型命中 → 采用模型结果
  3. 两者都未命中 → 放行

原因:硬规则是确定性的,模型是概率性的。安全场景下,确定性优先。

扫描流水线

输入 → Tokenize → Hard Rules → ONNX Inference → BIOES Decode → Merge → Risk Delta

  • 冷启动:45ms(模型加载)
  • 热推理:8ms
  • 内存:23MB

Fail-Safe 退化

如果 ONNX 模型加载失败(如磁盘损坏、版本不兼容),系统自动退化为纯硬规则模式

  • 13 类硬指纹仍然全覆盖
  • <1ms 响应不变
  • 审计日志记录 degradation 事件

安全不会降级。

与业务场景的结合

在 PipelineDemo 场景 3 中,PII 扫描结果直接影响风险评分:

base_risk = 40
pii_delta = person(5) + date(5) + email(15) = 25
final_risk = 65 → 进入审批队列

这就是"扫描即策略"——PII 发现不是日志,是决策输入。