规则引擎

规则引擎是风控系统最早上线、也最常用的模块。它适合处理明确、可解释、需要快速响应的风险模式。

例如:

同一设备 10 分钟内注册超过 5 个账号 -> 拦截
同一 IP 1 分钟内领取优惠券超过 20 次 -> 人机验证
新账号下单金额超过 5000 且收货地址异常 -> 人工审核

这些规则不需要训练模型,策略人员可以快速配置并上线。

规则组成

一条规则通常包含:

部分含义
触发场景登录、注册、下单、领券等
条件表达式设备注册数、IP 频率、账号年龄
动作放行、验证码、限流、拒绝、人工审核
生效范围全站、活动、租户、渠道
优先级多条规则命中时如何决策

规则引擎要支持版本管理。每次策略修改都要记录修改人、原因、发布时间和回滚方式。

特征查询

规则判断依赖实时特征,例如“同一 IP 过去 5 分钟请求次数”。这些特征通常来自 Redis 或专门的特征服务:

risk:ip:1.2.3.4:coupon_claim:5m -> count
risk:device:d456:register:1d -> count

特征查询必须快,否则会拖慢业务请求。在线规则链路要控制外部依赖数量,必要时做本地缓存和超时降级。

动作设计

风控动作不是只有“拒绝”。常见动作包括:

  • 放行:风险低,正常通过。
  • 二次验证:要求短信、人机验证或 MFA。
  • 限速:降低请求频率。
  • 冻结权益:暂停优惠券、积分或提现。
  • 人工审核:高价值或不确定场景交给运营。
  • 拒绝:明确作弊时直接拦截。

动作越重,误伤成本越高。规则设计应该遵循分级处置,而不是所有命中都一刀切。

规则治理

规则越多,越容易冲突和失控。平台需要提供:

  • 规则命中率和拦截效果统计。
  • 误伤申诉和回放验证。
  • 灰度发布和一键回滚。
  • 过期规则提醒。

规则引擎解决了已知风险,但攻击者会绕过固定规则。下一章我们引入风险模型,识别更隐蔽的异常模式。