这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
规则引擎
规则引擎是风控系统最早上线、也最常用的模块。它适合处理明确、可解释、需要快速响应的风险模式。
例如:
同一设备 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。
- 限速:降低请求频率。
- 冻结权益:暂停优惠券、积分或提现。
- 人工审核:高价值或不确定场景交给运营。
- 拒绝:明确作弊时直接拦截。
动作越重,误伤成本越高。规则设计应该遵循分级处置,而不是所有命中都一刀切。
规则治理
规则越多,越容易冲突和失控。平台需要提供:
- 规则命中率和拦截效果统计。
- 误伤申诉和回放验证。
- 灰度发布和一键回滚。
- 过期规则提醒。
规则引擎解决了已知风险,但攻击者会绕过固定规则。下一章我们引入风险模型,识别更隐蔽的异常模式。