
Affirm用经典机器学习和AI辅助审查加速编写欺诈规则
来源标题:Composing fraud rules faster with classical ML and AI-assisted review
Affirm分享了其欺诈防御中利用经典机器学习和AI辅助审查来加快编写反欺诈规则的方法。其欺诈防御依赖确定性的if-this-then-deny规则,但人工发现并评估一条足够有效又不过度拟合的新规则耗时较长,期间攻击持续进行。该方法是与机器学习模型并行使用。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
人工智能 欺诈检测 金融科技 自动化 以攻击的速度编写欺诈规则 Affirm Technology 6 分钟阅读· 4 小时前
作者:Fang Fang,Affirm 机器学习与决策平台
欺诈攻击不断演变,而低成本的自动化加上攻击者在社交媒体上的协同配合,只会让这一进程加速。用上个月的模式训练出来的机器学习模型,未必能泛化到真正全新的模式上。当这种差距出现时,一条启发式规则——明确、人类可读的 if-this-then-deny 逻辑,直指新模式——往往是填补差距最快的方式。难点在于:要找到一条既足够强大能阻止攻击、又不会因过于狭窄或过拟合而在模式稍有变化时就失效的规则,人类需要投入大量时间去发现和恰当评估。每花一小时把这件事做对,攻击就多持续一小时。
除了机器学习模型之外,Affirm 的欺诈防御还依赖确定性规则:人类可读的 if-this-then-deny 逻辑,在特定的行为信号与账户信号组合上触发。可解释性在这里很重要,原因非常实际:真正全新的欺诈攻击通常只带有极少的标注数据——有时只有寥寥几个确认案例。用这么少的数据拟合模型,风险是过拟合到这些具体样本上,而非底层模式。相比之下,规则迫使人类首先说清楚为什么一组案例看起来像欺诈——而把模式理解到足以写下来的程度,往往能泛化到同一攻击的下一波,而一个悄悄拟合了几十行数据的模型通常做不到这一点。
过去,写好一条规则是一件手工活,需要横跨十多个独立工具,耗费半天到一整天:拉取受影响商户或分群近期的交易数据,用肉眼扫过几十个候选信号的分布,手工挑选阈值,再用手头现有的对比数据做验证。这套做法行得通,但无法随攻击量扩展,而且很容易在两个方向上出错——规则太宽会拦截好客户;规则太窄几天内就会被绕过。
一个横跨欺诈分析、欺诈工程和欺诈 ML 的小型跨职能团队围绕一个简单的重新框定构建了一套系统:编写规则本质上是一个搜索问题,所以就该把它当成搜索问题来做,而不是每次都手工完成。
给定分析师指定的商户或时间窗口,流水线分阶段运行:
收集与汇总——拉取相关结账数据,外加定性上下文:AI 摘要的客服通话记录和欺诈运营复核笔记,描述攻击的实际行为方式。
搜索有区分度的信号——多个经典 ML 搜索与规则归纳方法在这里承担主要工作,而不只是一个:筛选对每个候选信号单独排序,模式挖掘从自由文本字段中提取结构,一个有监督的规则归纳方法则通过生长和剪枝规则,找出单一组合规则会漏掉的不同欺诈子群体。
组合候选规则——一个 AI 层取用搜索浮现出的最强结构,融入第 1 步的定性攻击上下文,扫过阈值,过滤掉已知会过拟合的信号,起草一条候选规则,并附上精确率、召回率和预估客户影响指标。
分析师复核——由人复核、调整并批准。
这些方法本身都不新颖;工程工作在于把它们组合成一条快速、可靠的流水线,并给 AI 层足够的上下文,把它浮现出的东西转化为复核者能快速评估的内容。
我们在搜索可以使用哪些信号上也保持了保守,默认倾向于透明的行为信号而非模型衍生的风险分数——一条建立在“这个账户做了 X 和 Y”之上的规则,是分析师能够解释和辩护的;而一条锚定在模型输出上的规则,一旦底层模型发生变化,就很难推理了。
搜索步骤擅长找出哪些信号能把欺诈与正常流量区分开——但它无从知道一个统计上很强的候选是否真的是一条可以上线的合理规则。这正是 AI 层填补的空白。它读取先前收集的同一份定性上下文,用来检查搜索找到的信号组合是否对应一个真实、可描述的攻擊模式,还是只是小样本中碰巧得分不错的巧合。它还会对照一份我们已学会不信任的反模式清单来检查候选:比如与上游决策形成循环依赖的信号组合,或者实际上只是换个名字重新推导别处已有信号的条件。
免费加入 Medium,获取这位作者的最新动态。
最终产出是一份附有理由说明的成文规则提案,而不只是一张阈值表——这也使得分析师可以要求修改,并在几分钟内拿回一份重新起草、重新论证的候选规则,而不是每次都要有人手工重写文档。
下面这个例子为本文做了虚构处理——一个人为编造的攻击模式,配有编造的信号名和阈值,并非真实的生产规则。
假设出现了一种新的账户接管模式:在一批新添加的收货地址上出现一波购买,紧跟在密码重置之后,来自该账户从未使用过的设备。
在压力下快速手写的一条规则,往往会编码最先突显出来的一两个特征:
拒绝,如果: password_reset_in_last_24h = true 且 shipping_address_is_new = true
写起来很快,也确实能捕获该模式——但它也会捕获大量合法的“我重置了密码,要寄到我的新公寓”流量。这是那种几天内就会被撤回的规则。
拒绝,如果: fraud_model_score > 0.90
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。