适用于
scope.record_types 决定规则针对哪些记录触发。
省略该字段时,规则仅针对交易。在事件功能推出之前编写的所有规则,其行为保持不变;规则也不会因为范围为空而开始匹配登录事件。
"__current__" 表示“与正在评估的事件具有相同的值”。借助它,规则无需指定具体名称即可表达按主体、按设备或按回合的逻辑。
没有分组值的记录永远不会被归为一组。没有设备指纹的事件不会与其他同样没有设备指纹的事件被视为“同一设备”;未指定主体的事件也不会与其他匿名事件被视为“同一主体”。当被评估的事件缺少某个 "__current__" 字段的值时,无论使用何种运算符,该聚合都不会匹配。
事件字段
条件读取带命名空间的路径。你已经熟悉的交易词汇(action_type、subject_vendor_data、subject_ip_country、custom_values.<key>)同样可以在事件上解析。
主体信号缓存在受监控的用户上,而不是针对每个事件重新计算,因此规则可以在数据摄取时快速读取这些信号。
聚合
速率
你在交易上已经使用的聚合函数(count、sum、avg、min、max、distinct_count)可以在滚动 window(30m、24h、7d、30d)上应用。
比率
在同一窗口上使用两个聚合函数。投注与存款比、提现与存款比、奖金与存款比以及拒付率,均以此方式表示。没有分母的比率永远不会匹配。没有存款并不等于比率为零,而是没有证据;如果在这种情况下触发规则,就会把每一位全新用户都标记出来。
序列
窗口内的有序谓词。每个步骤可以按action_type、event_category 或任意 match 过滤器进行匹配,并可要求在序列推进前出现 min_count 次。
关联
跨主体关联:对与该事件共享同一分组的所有事件进行聚合。"pair": true 会将两端作为无序集合进行匹配,因此 A→B 和 B→A 会落入同一分组。这正是让一条规则能够同时看到串通双方的原因。筹码倾销、反向下注和联盟自我推荐都属于这种模式。
关联规则务必设置用于收窄范围的 filters。没有它们,规则会考虑窗口内的每一个事件。
实时与异步规则
部分规则可以在接入请求内返回结果,部分则不能。
规则仍在等待执行的事件会返回
"correlation_pending": true。异步检查完成后,其状态和分数会就地更新。重复执行是幂等的,因此规则不会重复计分。
这样划分是有意为之:跨主体的团伙查询不应让登录请求等待。
操作
与交易规则使用相同的操作类型:add_score、change_status、add_tags、add_note、add_to_list、open_case。
事件规则有两点不同:
- 将
change_status设为AWAITING_USER仅适用于交易,因为事件没有整改流程,实际会应用为IN_REVIEW。 open_case将案件关联到主体,而不是某笔交易,并在案件上记录匹配的事件 ID。
证据
每次匹配都会保存其所见的全部内容:聚合时间窗口、计算值、预期值、抽样的事件 ID,以及每个匹配字段的来源。
因此,分析人员在根据匹配结果采取行动前,可以区分由服务器记录的 IP 与客户端提供的提示信息。控制台会在事件抽屉面板中,于每个匹配字段旁显示其来源。
实际示例
最低限度投注洗钱
最低限度投注洗钱
存款、代币游戏、快速提现。条件为
event.action_type eq withdrawal_requested,并加上上文的投注与存款比率在 24h 内 lte 0.1。友好欺诈
友好欺诈
每个主体在
30d 内 count(chargeback_opened) 与 count(deposit_completed) 的比率,gte 0.5。若要跨账户识别同一支付工具,请将分组依据从主体改为 event.payment.payment_fingerprint。账户接管资金转出
账户接管资金转出
使用上文的
ato_drain 序列,并配合 add_score 90 与 change_status DECLINED。筹码转移
筹码转移
使用上文的成对关联规则。将
value 调整为对您的牌桌而言有实质意义的金额,并把 event.gameplay.game_id 加入 group_by,以便区分不同牌局。机器人游戏与实时辅助
机器人游戏与实时辅助
条件包括
event.action_type eq bot_signal_observed、event.bot.timing_variance_ms lte 10 和 event.device.bot_score gte 90,并配合 add_tags。再结合按 IP 统计 event.device.fingerprint 的 distinct_count,以发现机器人农场,而不只是单个脚本。规避自我排除
规避自我排除
条件为
event.action_type eq self_exclusion_match 与 event.payload.re_registration_attempt eq true,并通过 open_case 进行升级处理。下一步
事件接入
信封格式、十个类别以及批量接口约定。
规则 API
以编程方式创建、更新和回测规则。