世界频道的钓鱼话术是诈骗的入口:「恭喜您被抽为幸运玩家,加 QQ 领取裁决之杖」「客服您好,我的账号被洗,请加我私人号处理」——话术的模板在变,骗术的骨架不变。聊天诈骗的识别用话术特征加行为交叉,把钓鱼按在频道里。
---诈骗话术的特征库
local PATTERNS = {
{ pat = "加%s*[Qq%s*群%s*号]", kind = "引流" },
{ pat = "首充|充值.*返|点券.*送", kind = "假优惠" },
{ pat = "客服|GM.*私人|工作人员", kind = "仿冒" },
{ pat = "中奖|幸运玩家|抽奖.*获得", kind = "假中奖" },
}
function Scam.scan(actor, text)
local player = getplayerbyname(actor)
if not player then return end
for _, p in ipairs(PATTERNS) do
if text:find(p.pat) then
Scam.hit(player, p.kind, text)
return
end
end
end
特征库按诈骗的类型分组:引流类(外站联系方式)、假优惠类(充返骗局)、仿冒类(假客服与假 GM)、假中奖类(凭空的大奖)。正则的特征匹配在聊天发送的入口扫描,命中的消息扣下不进频道,发信者进嫌疑队列。特征库的更新随骗术的进化:社区的举报样本每周喂进特征库,骗术的话术模板换汤不换药,特征的覆盖跑在骗术的前面。
---嫌疑的分级处置
function Scam.hit(player, kind, text)
local uid = player:GetUserId()
local s = Scam.prof[uid] or { n = 0 }
s.n = s.n + 1
Scam.prof[uid] = s
-- 单次拦截警告,多次升级禁言
if s.n == 1 then
sendmsg(player, 1, "消息包含违规内容,已被拦截")
elseif s.n >= 3 then
Ban.apply(player, "mute", "频道诈骗嫌疑")
sendmsg(nil, 1, "系统提示:诈骗账号已禁言")
end
Scam.sample(uid, kind, text)
end
处置按嫌疑的累计分级:第一次拦截警告给误用的余地,三次升级禁言让惯犯退场,样本进风控的语料库。行为的交叉验证补话术的盲区:新注册账号的第一天就发交易链接、发送频率远超常人的账号,即使话术规避了特征库也按行为特征拦截。举报的通道与识别联动:玩家的举报直接进人工复核的队列,复核确认的话术即时进特征库——玩家的眼睛是特征库的众包来源。仿冒官方的打击最优先:假客服的话术直接冒用官方的称谓,官方称谓的白名单反向匹配(非官方渠道自称客服即拦截)。
识别的准确率与误拦率双指标:人工复核的样本回测准确率要求 90% 以上,误拦的申诉翻案率低于 3%;诈骗的未遂统计与玩家的受骗报案数对照,防线的效果看下游的案发。
特征库的正则曾经误伤正常交易,「出售裁决之杖」里的「杖」字命中了某特征,特征的边界用词级匹配收紧。禁言的处置曾经一刀切,被冒名的受害者与骗子一起禁言,仿冒类的人工复核前置。引流的外站链接曾经换花样绕过,域名的白名单反向策略(只许已知白名单域名出现)更稳。
诈骗的识别特征与敏感词的库分离维护,两套的更新节奏不同。受骗的申诉通道与客服联动,被骗的资产追回优先级最高。防骗的宣导在登录公告与官网常驻:官方永远不会索要密码,一句话的宣传省一万个工单。
本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 沙巴克占领行会坐收税收却只进不出,非占领行会的玩家心里不平衡。税务官玩法把税收做成明账:占领行会对摆摊与…
实战应用:用在哪里 高端玩家婚姻系统只有仪式没有过程,社交绑定缺一个高光事件。比武招亲做成擂台玩法:擂主设擂摆彩头,攻擂者报…
实战应用:用在哪里 开服七日限时礼包发到第六天断了粮,9 月 1 日当天领奖按钮灰的,投诉当天破千。事故根因是一条数字日期循…
实战应用:用在哪里 玩家拔线不退游戏,连接半开着,人不在指令也没有,在线数虚高,容量预案被假数据带着跑。心跳探测给每个在线玩…
实战应用:用在哪里 周三发了合成系统补丁,周四又改强化概率,两条变更叠加后玩家分不清是哪个改出来的。发布日历把全月变更集中排…
实战应用:用在哪里 容量预案需要知道滚动一小时的副本进入峰值,而不是全天累计。滑动窗口用 60 个槽位每槽记一分钟的进入数,…