林晚第一次见到陈砚,是在市金融监管局联合公安经侦支队召开的“清源行动”专项通报会上。
投影幕布上,一张张App界面截图被逐帧放大——“速贷通”“金贝闪借”“易融宝”……那些曾以“3秒放款”“无抵押免征信”为噱头霸占应用商店榜首的信贷产品,此刻正被红框圈出数十处违规代码:暗藏年化利率超36%的动态计息模块、伪造用户授权协议的静默签约逻辑、嵌套在“服务费”“管理费”名目下的砍头息跳转链路……最刺目的是“速贷通”后台数据库导出的一条原始日志:“用户Id:Lw|授信额度:12万|实际到账:8.3万|首期扣费:3.7万(含‘风控保证金’2.1万、‘信用激活金’1.6万)|逾期触发自动展期+复利计息。”
林晚坐在第三排靠左的位置,指尖无意识摩挲着左手无名指内侧一道浅白旧疤。那是三年前她替妹妹签下第一笔“校园贷”电子合同那天,被签字笔尖划破的。
她没抬头看台上发言的人,却听见一个沉而稳的男声切进耳膜:“……技术手段不是法外之地。当算法成为镰刀,监管必须是磨刀石。”
她抬眼。
他站在光里。
深灰西装袖口露出一截冷白手腕,腕骨分明;领带是藏青底暗纹,像未拆封的夜;目光扫过全场时,没有停顿,却让林晚后颈微微发紧——那不是审视,是校准,像精密仪器对准靶心前的最后一毫偏移修正。
他叫陈砚,市经侦支队金融犯罪侦查大队副大队长,本次“清源行动”技术溯源组总负责人。
而林晚,是“速贷通”母公司——云启数科合规部新任高级风控官,三天前刚通过背调入职。没人知道,她简历里刻意隐去的那段履历:曾是“速贷通”早期核心算法测试员,代号“白鹭”,负责压力测试与风控模型Ab对照实验。更没人知道,她电脑加密分区里存着一份237G的原始数据包,命名是《Lw-归零计划》。
——那是她用两年时间,从七家不同渠道反向爬取、交叉验证、人工标注的“速贷通”全生命周期违规证据链。包括:37个伪装成“用户自愿选择”的强制捆绑保险跳转路径;192次在用户关闭定位权限后仍持续调用设备Id进行跨平台画像的隐蔽行为;以及最关键的——一段被多重混淆但可逆向还原的智能合约代码,证明其所谓“AI自动审批”实为预设黑白名单库,将月入低于5000元、户籍在中西部县域、25岁以下女性用户统一标记为“高风险-建议拒贷-但开放高息通道”。
她来,不是卧底,是清算。
第一次交锋发生在云启数科总部b座28层的玻璃会议室。
“林总监,陈队想就‘速贷通’历史存量用户投诉数据调取权限,做一次现场核验。”行政助理声音很轻,却像把薄刃插进凝滞空气。
林晚合上笔记本,抬眸:“陈队需要哪类数据?”
陈砚站在落地窗边,正低头看手机。听见问话,他转身,目光落定在她脸上,三秒,不躲不避:“所有被标记为‘m类’的用户操作日志。特别是2022年q3至2023年q1期间,触发过三次以上‘风控保证金’扣款,且最终未结清的账户。”
林晚瞳孔微缩。
m类——内部黑话,即“margin User”,保证金用户。这是云启数科最隐秘的利润池:系统对特定画像用户自动预扣高额保证金,若用户按时还款,保证金原路退回;若逾期,则保证金直接抵扣本金,并触发阶梯式复利罚息。而所谓“未结清”,往往意味着用户已被多头借贷压垮,转入失联或被催收公司接手。
这串编号,本不该出现在外部调取清单里。
她起身,高跟鞋敲击大理石地面,清越如叩钟:“陈队,按《个人信息保护法》第二十三条,贵方需提供书面协查函及具体法律依据。另外——”她顿了顿,指尖在平板边缘划过一道弧线,“m类标签属于我司商业秘密,未经董事会特别授权,不得对外披露。”
陈砚没接话。他走近一步,从公文包取出一份文件,推至会议桌中央。牛皮纸档案袋封口处盖着鲜红公章:市公安局经侦支队、市金融监管局、市网信办三方联合签发的《关于调取云启数科‘速贷通’平台涉众型金融违法线索的紧急协查函》(清源协查〔2024〕1号)。附件第4页,赫然列出m类用户的定义标准、技术识别逻辑及调取范围,措辞精准得如同从云启数科内部制度手册直接摘录。
林晚呼吸一滞。
她认得这个版本。这是她三个月前提交给cto的《m类用户风险升级预案》初稿,其中一条备注写着:“建议将‘保证金触发阈值’从当前80%提升至92%,避免监管穿透时暴露资金池空转风险。”
——这份初稿,只发给了cto和法务Vp。而法务Vp,上周因“个人原因”辞职,行李箱滚轮碾过大厦旋转门时,回头看了她一眼,眼神复杂如未拆封的谜题。
“林总监,”陈砚声音不高,却字字落进她耳道,“你提交预案那天,我们技术组正在解析你们服务器集群凌晨2:17分的一次异常心跳包。它持续了4.3秒,比常规心跳长17倍。我们顺着信号溯源,发现它指向一个从未在备案系统登记的境外Ip节点——注册主体是塞舌尔一家壳公司,法人代表姓名,跟你妹妹身份证后四位,完全一致。”
林晚指尖猛地掐进掌心。
妹妹林晓,22岁,大三,三个月前确诊重度焦虑症,住院期间签署过一份《医疗费用垫付协议》,甲方栏印着“云启健康科技有限公司”——云启数科全资子公司。
原来不是巧合。
是饵。
当晚十一点,林晚独自留在公司。整栋楼只剩b座28层亮着灯。她将U盘插入办公电脑,运行《Lw-归零计划》主程序。屏幕泛起幽蓝微光,进度条缓慢爬升:【数据清洗完成|模型校验中|证据链锚定:97.3%】
门外传来刷卡声。
她迅速锁屏,拔出U盘塞进内衣夹层。门开,陈砚站在门口,肩头落着初秋夜雨的凉意,发梢微潮。
“林总监加班?”他问,目光扫过她微乱的额发和尚未平复的呼吸节奏。
“核对明天汇报材料。”她起身,拿起搭在椅背的米白羊绒披肩裹住自己,“陈队怎么还没走?”
“等你。”他走进来,反手关上门。咔哒一声,轻得像心跳暂停。
林晚脊背绷直:“等我?”
“等你确认一件事。”他从内袋取出一张折叠的A4纸,展开,推至她面前。是份银行流水复印件,户名:林晓;日期:2023年11月15日;摘要栏写着“云启健康科技-医疗垫付(协议编号YqJK-087)”;金额:¥186,400.00;余额:¥-2,100.00。
“你妹妹的治疗费,云启健康垫付了18.6万。”陈砚声音低下去,“但根据卫健委备案系统,同日同院同病症,医保结算单显示自费部分仅¥3,200。差额18.3万,流向何处?”
林晚喉头发紧:“……我不知道。”
“你知道。”他忽然倾身,距离近得她能看清他睫毛投下的阴影,闻到他衣领处极淡的雪松香,“你妹妹住院第三天,你用管理员权限,远程调取了‘速贷通’后台‘m类用户’实时画像热力图。你看到她名字出现在红色预警区——因为她的通讯录里,有七个联系人,同时在‘速贷通’借过款,且全部逾期。系统判定:她存在‘共债传染高风险’,自动触发m类标签预设。”
林晚闭了闭眼。
是。她看到了。猩红坐标钉在热力图中心,像一颗将爆未爆的心脏。
“所以你连夜修改了她的设备指纹,伪造了异地登录记录,试图将她移出预警池。”陈砚继续说,语速平稳,却字字凿壁,“但你忘了,云启的设备指纹算法,除了ImEI、IdFA,还采集了手机陀螺仪的微震频谱——那是你妹妹摔下楼梯时,手机磕在瓷砖上的0.8秒震波。它无法伪造。”
林晚猛地睁眼。
“你调查我妹妹?”
“我在调查‘速贷通’如何把一个摔伤腿的女孩,变成它资产负债表上一笔‘预期收益’。”他直起身,从公文包拿出另一份文件,“这是你妹妹签署的《医疗垫付协议》补充条款第十二条:‘若借款人未来五年内,通过云启系任一平台发生信贷行为,本垫付款项自动转为信用贷款本金,年化利率24.8%,按日计息。’”
林晚手指发颤:“……我没让她签这个。”
“她签了。”陈砚将一张照片推到她眼前。画面里,林晓躺在病床上,手腕上插着输液针,右手握着平板,屏幕上正是电子签名界面。而平板右下角,映出林晚自己的倒影——她站在床边,微微俯身,左手按在妹妹右肩,右手食指,正轻轻点在签名框上方。
林晚如遭雷击。
她不记得自己按过那个位置。
可照片不会说谎。
陈砚的声音像冰水漫过脚踝:“林总监,你妹妹签协议时,血清皮质醇浓度是正常值的4.7倍。人在极端应激状态下,前额叶皮层功能抑制,会丧失对签名法律效力的认知能力。而你,作为当时唯一在场的亲属兼具有金融从业资质的监护人,未履行告知义务,反而提供了物理性引导。”
沉默在两人之间涨潮。
窗外,城市灯火如星海铺展,而室内只有空调低鸣。林晚终于开口,声音沙哑:“……你们想怎样?”
“我想你帮我做一件事。”陈砚从公文包取出一枚银色U盘,放在她手边,“里面是‘速贷通’最新版风控引擎的离线沙箱环境。我要你,在72小时内,让它自己‘招供’。”
林晚怔住:“什么意思?”
“让它在无人干预状态下,主动执行一次完整的违规操作闭环。”陈砚目光灼灼,“比如,自动识别一名符合m类特征的测试用户,生成虚假征信报告,推送高息贷款,预扣保证金,再伪造用户‘自愿’确认弹窗——全程留痕,不可篡改。”
林晚摇头:“不可能。引擎有反调试机制,任何沙箱都会被识别为非生产环境,直接休眠。”
“所以需要你。”他盯着她,“你是‘白鹭’。当年设计这套引擎底层逻辑的人之一。你比任何人都清楚,它在哪条代码分支里,藏着一个连cto都不知道的‘后门心跳’——那是你给自己留的逃生舱。”
林晚浑身血液骤然冷却。
他果然知道。
三年前,她在引擎核心模块埋下一段37行的冗余代码,命名为“白鹭振翅”。它不参与任何运算,只在特定时间戳(每月17日23:59:59)、特定内存地址(0x7F3A8c21)、特定cpU温度阈值(62.3c)三重条件叠加时,短暂激活一个未注册端口,向预设邮箱发送一串加密心跳包。她本意是,若某天自己被系统清除,这串心跳就是她存在过的数字墓碑。
她以为没人发现。
可陈砚不仅发现了,还精准说出了触发参数。
“你到底是谁?”她听见自己问。
陈砚沉默片刻,从西装内袋取出一张泛黄的旧工牌,轻轻放在U盘旁。
工牌正面:云启数科·技术研发中心;姓名:陈砚;职位:首席算法架构师;入职日期:2021.03.15。
背面,一行手写小字:“白鹭振翅时,我听见了。”
林晚指尖颤抖,几乎拿不住那张薄薄的塑料片。
2021年,云启数科技术峰会。她作为新人测试员登台分享压力测试模型,台下掌声稀疏。散场时,有人递来一瓶水,瓶身贴着张便签:“你的Ab模型对照组设计很美,但b组漏了一个变量——人心的不可计算性。p.S. 白鹭振翅,该是向南,不是向北。”
她一直以为是匿名同事的玩笑。
原来是他。
“你为什么离开?”她声音发虚。
“因为发现引擎开始学习‘作恶’。”陈砚目光沉静,“它不再满足于识别风险,而是主动制造风险——通过诱导性UI、信息茧房推送、情绪化文案,把犹豫的用户,推到悬崖边。而董事会要的,是财报上漂亮的坏账率。他们删掉了我的伦理审查模块,把‘用户福祉’从KpI里剔除。”
他停顿,看向她:“你留下,是因为妹妹的病。我离开,是因为不想亲手给镰刀淬火。”
林晚攥紧U盘,金属棱角硌进掌心。
窗外,一辆救护车呼啸而过,红蓝光芒在她苍白的脸上明灭交替。
她忽然笑了,笑声很轻,带着铁锈味:“陈队,你知道最讽刺的是什么吗?”
“什么?”
“你们经侦支队,查了云启三年,调取了三百二十七份服务器日志,却始终找不到‘速贷通’资金池的真实归属。因为那个壳公司,根本不在塞舌尔。”
陈砚眸色一沉:“在哪?”
林晚直视他,一字一句:“在你办公室抽屉第三格。和你去年缴获的‘金贝闪借’涉案U盾,放在同一个防磁盒里。”
陈砚瞳孔骤然收缩。
林晚绕过会议桌,走到他面前,仰起脸。她眼里没有泪,只有一片烧尽后的荒原:“云启数科真正的控制人,是你师父——周振国。而你,陈砚,是他在经侦支队安插的‘净网哨兵’。你每次带队突击检查,提前24小时,他都会收到一份加密简报。你们不是猫鼠游戏,是双簧。”
陈砚没否认。
他只是缓缓抬起右手,拇指指腹,轻轻擦过她左手指根那道浅白旧疤。
动作轻得像一片羽毛落下。
“林晚,”他唤她名字,第一次去掉职务称谓,“疤下面,还疼吗?”
她没回答。
但他知道答案。
那道疤下,埋着一枚微型存储芯片——三年前她被强制离职时,cto亲手植入的“记忆锚点”。只要触碰特定频率的电磁波,芯片就会释放神经电流,瞬间唤醒她被删除的原始记忆:包括周振国在她妹妹病床前,将一份空白协议推至她眼前,说:“签吧。你妹妹的命,值十八万六。而你,值整个云启的未来。”
她签了。
用那支划破手指的签字笔。
72小时后,“白鹭振翅”在沙箱中如期启动。
凌晨2:17,服务器集群心跳延长4.3秒。陈砚团队捕捉到异常信号,逆向追踪,锁定塞舌尔壳公司真实控制链——终点,是周振国海外信托基金名下一家离岸律所。同时,林晚提供的加密日志显示,过去18个月,“速贷通”向该律所支付的“合规咨询费”,累计达2.3亿元,远超行业均值百倍。
证据链闭合。
但收网前夜,变故陡生。
云启数科总部突发火灾。火势不大,却精准焚毁b座28层核心机房——那里存着“速贷通”全部原始日志备份。
消防报告称:起火点为机柜顶部散热风扇,短路引燃绝缘层。
林晚站在警戒线外,看着浓烟升腾,面无表情。
陈砚快步走来,递给她一杯热咖啡:“你早知道。”
“嗯。”她接过,指尖暖意微弱,“风扇线路,是我上周亲手改的。加了一段延时熔断逻辑——表面看是升级防火,实则预留了72小时倒计时。”
“为什么?”
“因为真正的证据,从来不在服务器里。”她抬眸,夜风吹起额前碎发,“在人的脑子里。”
她转身,走向停在路边的黑色轿车。车窗降下,露出周振国的脸。他穿着丝绒睡袍,手里端着一杯威士忌,笑容温煦如旧:“晚晚,上车。我们谈谈你妹妹的后续治疗。”
林晚没动。
陈砚站到她身侧,半步之距,像一道无声的墙。
“周董,”他开口,声音平静无波,“您书房保险柜第三层,那本《资本论》硬壳精装本里,夹着三张U盘。第一张,是‘速贷通’向全国217家催收公司输送‘失联用户’通讯录的原始指令;第二张,是您与某省金融办副主任密聊录音,内容涉及‘清源行动’内部方案泄露;第三张……”他顿了顿,“是您女儿,周薇,三年前在云启实习期间,主导设计的‘共债传染模型’源代码。她用妹妹的病历数据做了首轮压力测试。”
周振国端杯的手,几不可察地晃了一下。
林晚终于开口,声音很轻,却像刀出鞘:“周叔叔,您还记得我妹妹摔下楼梯那天吗?”
周振国微笑:“当然记得。多亏你及时送医。”
“不。”林晚摇头,“是您派司机,故意别停她自行车。您需要一个‘高风险家庭样本’,来验证m类标签的临床有效性。”
周振国笑容僵住。
“您更记得,”林晚往前一步,直视他瞳孔,“您女儿周薇,把我妹妹的脑电图数据,和‘速贷通’用户逾期前72小时的App操作热区,做了交叉建模。结论是:焦虑症患者的决策延迟,会让她们在‘确认借款’按钮上,多停留1.7秒——这1.7秒,就是您模型里,判定‘非理性借贷倾向’的关键阈值。”
夜风骤急。
周振国放下酒杯,慢慢卷起左手袖口。小臂内侧,一道蜈蚣状疤痕蜿蜒而上——和林晚手指上的疤,形状惊人相似。
“晚晚,”他叹气,像面对不懂事的孩子,“你以为你在救你妹妹?不。你只是在重复我的路。当年,我也想救我女儿。可这世界,要么做镰刀,要么做麦子。而你妹妹……”他目光扫过林晚,“她太软,只能是麦子。”
林晚笑了。
这一次,笑里有光。
她从口袋掏出手机,点开一段视频。画面里,林晓坐在康复中心阳光房,正用平板绘制一幅数字油画——漫山遍野的白鹭,振翅飞向南方。
“周叔叔,您错了。”林晚声音清晰,“我妹妹不是麦子。她是解码器。”
视频右下角,一行小字滚动:【基于脑机接口的焦虑干预系统V2.1|开发者:林晓|临床验证单位:云启健康科技(已终止合作)】
陈砚侧眸看她。
林晚迎上他的视线,眼中风暴已歇,唯余澄澈:“她用自己大脑的异常电信号,反向训练出一套‘反收割算法’。现在,它正运行在全市237家社区卫生服务中心的终端里——只要老人打开‘养老贷’宣传页,系统就会自动触发眩晕模拟,强制退出。”
周振国脸色终于变了。
林晚收起手机,转向陈砚:“陈队,可以收网了。”
三个月后。
“清源行动”成果通报会。
主席台上,市金融监管局局长宣读处罚决定:云启数科被吊销金融牌照,周振国因涉嫌非法经营罪、侵犯公民个人信息罪被批准逮捕;“速贷通”等七款违规App全部下架;全国范围内,32.7万名m类用户获全额退还保证金及利息。
台下掌声雷动。
林晚坐在观众席第三排,身边空着一个位置。
散会后,她独自走上天台。
初春的风还带着凉意,吹起她未扎起的长发。她望着远处江面上缓缓驶过的货轮,船身漆着崭新的字样:“清源号”。
身后传来脚步声。
陈砚走上来,递给她一杯热茶,杯壁温润。
“你辞职了?”她问。
“嗯。调任市金融纠纷调解中心,任首席调解官。”他望向江面,“以后,不抓人,只帮人。”
林晚笑了:“那……调解费怎么收?”
“不收。”他转头看她,目光沉静如深潭,“但有个附加条款。”
“什么?”
“每周六上午九点,你得陪我去趟城西社区中心。”他顿了顿,“教老人们识别‘养老贷’话术。你讲,我记。”
林晚低头喝茶,热气氤氲了视线。
她没看见,陈砚悄悄将一枚银色U盘,放进她随身挎包的暗袋里。U盘表面,蚀刻着一只展翅白鹭。
风掠过江面,带来湿润气息。
远处,一群白鹭掠过楼宇间隙,翅膀划开晨光,飞向南方。