林晚第一次见到陈砚,是在市金融监管局数字治理中心的应急响应现场。
凌晨两点十七分,大屏上跳动着密密麻麻的红色预警光点——全市范围内,二十三款主流信贷类App同步触发异常放贷行为:同一身份证在十分钟内被重复授信七次;某高校女生名下突增四笔“校园极速贷”,单笔年化利率标注为12.8%,隐藏服务费实则推高至39.6%;更有三款App在用户勾选“已阅读并同意全部条款”后,自动捆绑开通保险、会员、征信查询三项付费服务,且取消路径深藏于第七级子菜单……
“‘钱袋快借’‘易融通’‘学薪宝’……全是持牌机构备案的正规App。”技术组组长摘下眼镜,揉了揉发红的眼角,“但后台调取的风控模型日志显示,它们在48小时内集体下调了反欺诈阈值,把‘中风险’用户直接划入‘可授信’池。”
林晚站在主控台侧,指尖无意识摩挲着左腕内侧一道浅淡旧疤——那是三年前她替妹妹签下第一份网贷合同后,用圆珠笔狠狠划下的印记。当时她刚毕业,在一家小型律所实习,而妹妹正读大二,因轻信“零门槛助学分期”,三个月内债务滚至八万六。她代偿、申诉、举证、投诉,最终只换来平台一句“合同要素齐全,维权不予受理”。她没打赢官司,却记住了所有条款漏洞、所有弹窗陷阱、所有在用户点击“同意”瞬间悄然滑过的灰色条款。
她成了监管局新设的“消费者行为溯源岗”首位专员,职责不是写报告,而是以真实用户身份,穿透式体验每一款信贷App的全流程。
而陈砚,是本次专项行动的技术总协调人,也是“天网·信贷哨兵”智能监管系统的主架构师。
他出现时,衬衫袖口挽至小臂,腕表表带松垮垂着,左手正快速敲击键盘,右手捏着半冷的咖啡纸杯。听见通报声,他抬眼扫过人群,目光在林晚脸上停顿了半秒——不是打量,更像确认某个预设参数是否匹配。随后他转向大屏,语速平稳:“把‘学薪宝’的前端交互链路和后端决策树同步投屏。我要看它如何把‘学生认证’动作,转化为‘信用豁免’指令。”
林晚没应声,只将随身携带的旧手机递过去:“用这个登。它没装过任何信贷类App,ImEI号、设备指纹、网络环境都是白名单外的冷数据。”
陈砚接过,指尖擦过她微凉的指节。他没道谢,却在登录界面输入手机号后,忽然问:“你妹妹现在怎么样?”
林晚一怔。
他没看她,视线仍锁在屏幕上,但语音识别模块已自动调取她入职档案中的备注栏——那行小字写着:“家属涉网贷纠纷,结案状态:调解履行完毕,存在持续性行为干预需求。”
“在读研。”她答得简短,“去年通过国家助学贷款政策重置了征信。”
陈砚点了下头,手指在“获取通讯录权限”弹窗上悬停两秒,没点“允许”,而是切到开发者模式,抓包分析。“你看这里。”他侧身让出屏幕一角,示意她凑近,“它请求通讯录,不是为了风控,是为生成社交图谱。你通讯录里有5个号码标记为‘家人’,系统会默认你具备稳定供养关系,从而放宽负债比阈值——这是典型的行为诱导型违规,不违法条文字,但违背《金融消费者权益保护实施办法》第十七条的实质公平原则。”
林晚俯身,发梢垂落,扫过他手背。她闻到一点雪松混着黑咖啡的苦香。她盯着那串加密后的联系人哈希值,忽然说:“我妹妹的通讯录里,存了我六个不同号码。”
陈砚敲键盘的动作顿了顿。
“她怕我拉黑她。”林晚声音很轻,“所以存了工作号、实习号、备用号、老家座机、甚至我导师的办公室电话……就为了让我接她电话。”
陈砚没接话。他退出调试模式,重新进入主流程,在“填写紧急联系人”页,手动输入了一串虚拟号码——00000000000。系统未报错,顺利进入下一步。“它连空号都认。”他说,“因为它的校验逻辑,只验证格式,不验证真实性。这就是为什么,有人能用AI语音伪造亲人声音,骗过‘亲情核验’环节。”
那一夜,他们并肩坐到天光微明。林晚整理用户投诉热力图,陈砚优化模型误判率补偿算法。没人提累,也没人提咖啡续了几杯。晨光漫过百叶窗,在两人交叠的影子边缘镀上薄金。林晚发现,他写代码时习惯用左手按住右腕,仿佛在抑制某种惯性震颤;而陈砚注意到,她做笔记从不用蓝色墨水——所有标注都用红黑双色:黑色记事实,红色标情绪峰值,比如“用户点击‘跳过教程’时心率上升23%”“输入身份证末四位后,呼吸频率骤降”。
他们开始合作。
不是上下级,不是专家与专员,而是两种逻辑的咬合:她提供血肉,他铸就骨架。她跑遍十二所高校,蹲点食堂、打印店、快递站,观察学生如何用三分钟完成“花呗备用金→京东白条→某App闪电贷”的资金套利链;他则将这些行为轨迹输入图神经网络,训练出全国首个“信贷行为人格画像”模型——它不判断好坏,只识别模式:谁在还款日前一天集中注销社交账号?谁总在凌晨三点提交借款申请?谁反复切换设备却使用同一张银行卡?
模型上线第七天,预警锁定一款名为“星芒分期”的App。它伪装成追星社区工具,用户打榜充值即获“粉丝信用分”,积分达标可兑换“偶像联名贷”。林晚伪装成应届生试用,发现其授信逻辑荒诞:关注超50个明星微博,加权+3分;转发指定文案满100条,+5分;但若在个人主页发布一条“最近经济紧张”,系统立即冻结额度,并向其通讯录中三位“亲密联系人”推送“tA可能需要帮助”的诱导链接。
“这不是信贷,是情感勒索。”林晚把测试视频剪成90秒短片,投给局内警示教育会。
陈砚坐在后排,全程没看屏幕,只盯着她放在桌沿的手——那双手在汇报结束时微微发抖,不是因紧张,而是因用力攥拳太久,指节泛白。
散会后,他在消防通道拦住她。
“你昨天没睡?”他问。
“睡了。”她说,“梦里还在填电子合同。”
他从包里取出一个素色帆布袋,递过去:“试试这个。”
里面是一台改装过的安卓测试机,系统层嵌入了他自研的“净界”插件:所有App安装前强制弹出结构化告知页,逐条解析权限用途;借贷页面自动高亮年化利率、综合资金成本、逾期罚则三处;任何捆绑销售选项,默认折叠且需三次滑动确认才展开。
“它不能阻止违规。”他说,“但能让选择,真正成为选择。”
林晚握紧手机,金属边框硌着掌心。“你为什么做这个?”
陈砚望向窗外梧桐新叶,声音很淡:“我父亲,死于一场‘合规’的催收。”
他没多说。林晚也没问。有些伤疤不必掀开,只要知道它存在,就足以让两个谨慎的人,在靠近时多一分克制,也多一分懂得。
真正的转折,始于“云栖信贷”的崩塌。
这家曾获“金融科技示范单位”称号的公司,其App界面极简,操作流畅,客服响应速度业内第一。林晚潜伏三个月,成为VIp7用户,却始终无法触发任何违规证据——直到她申请一笔五万元装修贷,系统在终审环节,突然要求她上传“婚姻状况承诺书”,并附注:“本文件仅用于内部风控,不作他用”。
她照做了。
三天后,她收到一条来自“云栖生活助手”的短信:“检测到您近期有家居采购意向,为您匹配三位本地婚庆策划师(均已实名认证),点击预约免费咨询。”
她没点。她反向追踪短信网关,发现该号码归属地为云南某县,但发送Ip却位于塞班岛数据中心。
她把线索交给陈砚。
他彻查七十二小时,最终在云栖服务器最底层日志里,挖出一段被多重混淆的python脚本——它不处理信贷,专事“社会身份拼图”:将用户提交的婚姻承诺书、公积金缴存记录、房产查询授权码、甚至抖音同城定位数据,实时喂给境外接单的灰产团伙,生成“个人全景画像”,再倒卖给婚恋平台、保险代理、甚至私立医院医美部门。
更致命的是,脚本调用的ApI密钥,签发方竟是监管局去年授牌的某家“合规科技服务商”。
陈砚把证据链整理成册,凌晨四点发给局长,抄送纪检组。同时,他独自走进数字治理中心核心机房,在无人监控的物理终端上,执行了最后一道指令:启动“哨兵”系统的惩戒熔断机制——对云栖全系App实施“感知级限流”:普通用户打开App,加载时间延长至47秒;提交资料后,系统提示“正在匹配最优方案”,实际卡在风控队列第1024位;而所有涉及身份信息的接口,均返回“服务暂不可用”,错误码却是标准http 200。
这不是封禁,是慢性窒息。
林晚是在早会前看到通报的。她站在走廊尽头,反复读着那行加粗红字:“对‘云栖信贷’启动穿透式惩戒,周期90日,期间暂停其所有新增用户、资金对接及模型迭代权限。”
她忽然想起陈砚说过的话:“数字监管不是建墙,是织网。网眼要够密,才能兜住滑落的人;绳结要够韧,才能勒住奔逃的恶。”
那天中午,她买了两杯冰美式,一杯给他,一杯自己喝。他们在天台吹风,楼下是川流不息的城市。她问他:“如果哪天,我也成了那个需要被兜住的人呢?”
陈砚看着她,很久,才说:“那我就把网,织在你脚下。”
关系的变化,始于一场暴雨。
台风“海葵”过境当晚,全市断电三十七处,数字治理中心启用备用电源,但核心数据库因散热故障告急。陈砚带团队抢修,林晚负责协调各银行接口的临时降级方案。凌晨一点,机房空调彻底停摆,温度飙升至39c。陈砚脱掉衬衫,只穿一件吸汗速干背心,脊背肌肉绷紧如弓,汗水沿着肩胛骨沟壑往下淌。林晚递水时,他伸手来接,指尖滚烫,虎口有一道新鲜擦伤,血珠将凝未凝。
“怎么弄的?”她问。
“拆散热模组,螺丝滑丝。”他拧开瓶盖,仰头灌水,喉结剧烈滚动。
她忽然伸手,用随身携带的创可贴按住那道伤。“别动。”她说。
他僵住,水珠顺着他下颌滴落,在她手背上洇开一小片温热。
风从破损的玻璃窗灌入,掀动他额前湿发,也拂起她耳际碎发。她没撤手,他也没躲。世界只剩下电流嗡鸣、雨打铁皮的节奏,以及彼此近在咫尺的呼吸。
三秒,或者更久。
他喉结又动了一下,低声说:“林晚,我写的第一个程序,是帮你妹妹查征信的爬虫。”
她抬眼。
“那时候,你去局里投诉,坐在信访室第三排左边。穿蓝衬衫,扣子系到最上面一颗。你说话很稳,但每说到‘合同’两个字,右手会无意识按住左腕。”
她没否认。
“我回去写了三版代码。”他声音沙哑,“第一版只能抓公开数据;第二版绕过反爬,但不稳定;第三版……加了人工复核节点,确保每一条记录,都经你眼睛确认。”
她终于松开手,创可贴已牢牢粘住伤口。“所以,你早就认识我。”
“不是认识。”他望着她,眼神沉静如深潭,“是等了三年。”
雨势渐歇。东方微白。
他们没再提那个瞬间。但有些东西,已然不同。
林晚开始在他加班时,多带一份晚餐;他会在她连续熬夜后,默默调低办公室空调温度,又在她伏案睡着时,把薄毯搭在她肩上。他们依旧讨论模型、阈值、灰度测试,但会议纪要里,渐渐多了些私人注脚:“林晚指出,学生群体对‘日利率’不敏感,建议所有展示统一换算为年化”“陈工确认,‘冷静期’弹窗需增加语音播报,适配视障用户”。
他们的默契,让整个中心都默许了一种心照不宣的节奏。
直到“智信宝”事件爆发。
这款App打着“银保监备案”旗号,实际由境外空壳公司控股。它最狡猾之处,在于“合规性表演”:所有利率明示、所有条款加粗、所有风险提示用红字闪烁——但它在用户完成全部阅读后,弹出一张动态验证码图片:背景是流动的金色麦穗,中间浮现金色数字,要求用户输入“麦穗数量+数字之和”。而这张图,由AI实时生成,每次刷新都不同,且隐含生物特征采集指令——当用户眯眼、歪头、放大图片试图辨认时,前置摄像头已完成一次微表情扫描与瞳孔轨迹捕捉。
林晚是第三个识破者。她在第三次测试时,故意输入错误答案,系统未拒绝,反而弹出新提示:“检测到操作迟疑,为您开启‘关怀加速通道’——跳过全部风控,直享最高额度。”
她立刻截图上报。
陈砚连夜逆向,发现该AI模型训练数据,竟来自某三甲医院公开的抑郁症患者眼动实验库。那些被标注为“注意力涣散”“决策犹豫”的生物信号,正被精准用于识别“高危易贷人群”。
“他们不是在放贷。”陈砚把分析报告推到她面前,指尖用力,“是在筛选脆弱。”
林晚看着报告末页的原始数据截图:一行行坐标点,标记着“注视时长<0.8s”“眨眼频率>22次/分钟”“瞳孔收缩幅度异常”……这些曾属于她妹妹的诊断标签,如今成了信贷流水线上的分拣参数。
她起身,走到窗边,手指抚过冰凉玻璃。“陈砚,我们管得了App,管得了算法,管得了公司……但谁来管那些,把痛苦变成数据的人?”
他沉默良久,说:“我们先管住手里的刀。”
专项行动进入攻坚期。“智信宝”实际控制人连夜离境,但服务器集群仍在运转。按常规流程,应协调网信、公安联合查封。但陈砚提出异议:“封得太快,数据会清零。我们要的不是关停,是留痕。”
他设计了一套“镜像囚笼”方案:将“智信宝”全部流量,无声导入监管局自建的仿真沙箱。在那里,每一笔申请、每一次点击、每一毫秒的停留,都被完整复刻,形成不可篡改的区块链存证。而真实App,继续运行——只是所有放款指令,均被替换为一条静默提示:“您的申请已进入深度风控评估,预计耗时72小时。”
用户不会察觉异常,黑产却会因资金流中断而暴露。
林晚负责沙箱内的“用户行为陪跑”。她注册十个马甲号,模拟不同心理状态:焦虑型、侥幸型、绝望型、试探型……她发现,当系统延迟回复超过48小时,67%的用户会主动拨打客服电话;其中,82%的人在通话中首次提及“不想借了”“刚找到工作”“家里帮上了”。
“他们需要的不是钱。”她把录音转文字,标红关键句,“是有人,愿意听他们说‘不’。”
陈砚听完,调出沙箱后台。在“智信宝”主控台最隐蔽的角落,他新建了一个空白文档,命名为《拒绝的权利》。文档里,只有两行字:
【此处应有按钮:我不需要这笔钱。】
【此处应有回应:好的,已为您关闭本次申请。全程无记录,无影响。】
他没上线。只是存着。
专项行动总结会上,局长宣布:“本次治理共下架违规App17款,约谈机构43家,推动3项地方标准立项,建立全国首个‘信贷行为伦理审查委员会’。”掌声雷动。
林晚坐在台下,看见陈砚起身,走向发言席。他没拿稿子,只带了一个U盘。
“我想播放一段音频。”他说。
全场安静。
音响里传出一个年轻女孩的声音,带着哭腔,却很清晰:“……我真的不借了。我刚拿到实习offer,工资下个月发。你们能不能,就当我没点过那个‘确认借款’?”
停顿两秒,另一个温和的女声响起:“好的,已为您关闭本次申请。全程无记录,无影响。”
音频结束。
陈砚看着台下,目光落在林晚脸上:“这是沙箱里,第142次真实发生的对话。我们建了最密的网,写了最硬的规,但监管的终点,不该是让所有人不敢犯错——而是让每一个想回头的人,都能被稳稳接住。”
会后,林晚没走。她在空荡的会议室等他。
陈砚出来时,手里拿着那个U盘。
“给你。”他说,“《拒绝的权利》完整版。包含一键关闭、语音确认、三次反悔机制……还有,一个彩蛋。”
她接过,指尖触到U盘底部一行极细的蚀刻字:
【致林晚:你教会我,最锋利的代码,该用来写温柔。】
她抬头,他正看着她,眼里有光,像初遇那夜,大屏上跳动的第一颗蓝色预警点——不再代表风险,而是信号,是连接,是漫长暗夜里,终于确认的坐标。
三个月后,“信贷行为伦理审查委员会”挂牌成立。林晚任首任消费者权益代表委员,陈砚任技术合规首席顾问。
他们的工位相邻,中间没有隔板,只有一盆绿萝,藤蔓悄然越过边界,在两张桌面间垂下新芽。
某天午休,林晚发现他电脑屏保换了。不再是冷峻的代码瀑布,而是一张模糊的抓拍照:天台,暴雨初歇,她踮脚为他贴创可贴,他微微低头,睫毛低垂,光影温柔。
右下角,一行小字:
【系统提示:信任已成功建立。有效期——永久。】
(全文完)