林砚推开玻璃门时,雨正斜斜地砸在金融街写字楼的弧形幕墙上,碎成无数道银线。她左手提着一只磨旧的帆布包,右手攥着刚打印出来的《App金融信贷违规行为分类指引(试行)》,纸页边缘已被反复翻阅得微微卷起。二十七岁,市金融监管局数字治理科最年轻的三级主任科员,也是本次“清源行动”专项督导组里唯一的女性成员。
她没坐电梯,而是拐进消防通道,沿着灰白台阶向上走。脚步声被水泥墙吸得极轻,像某种克制的节拍。第三层转角处,一扇未关严的通风窗漏进潮湿的风,吹动她耳后一缕碎发。她抬手别住,目光却停在对面楼梯间墙壁上——那里贴着一张泛黄的A4纸,手写体标题歪斜:“借呗·花呗·微粒贷用户投诉汇总(2023.03–2024.06)”,下方密密麻麻列着三十多行字,每行末尾都标着红勾或红叉。最后一行写着:“陈屿,男,28岁,某科技公司前端工程师;投诉事由:‘信易贷’App未经明示授权,连续72小时调取通讯录并生成社交图谱;处理状态:已立案,待技术复核。”
林砚驻足三秒,指尖无意识摩挲纸面右下角那个褪色的蓝色印章——“市金融消费者权益保护中心受理专用章”。她没拍照,也没撕下,只转身继续上楼,高跟鞋叩击台阶的声音忽然沉了一分。
七楼,数字治理科办公室。推开门,空气里浮动着咖啡、消毒湿巾与电子设备散热的微焦气味。六台工位呈弧形排开,中央大屏正实时跳动着全市137款持牌及非持牌信贷类App的运行热力图:绿色代表合规接口调用率>99.2%,黄色为85%–99.1%,红色则刺目地闪烁——“融易通”“速贷宝”“金链快借”……共21个名字在红框中高频闪烁,其中“融易通”已连续三日维持深红,风险指数突破阈值1.8倍。
“林科,您来得正好。”实习生小周从工位探出身,递过一份平板,“刚收到‘融易通’后台日志的脱敏样本。他们把‘用户授权协议’拆成了七页弹窗,第一页只写‘点击即同意基础服务’,第七页才藏了‘允许本平台向关联方共享生物特征数据及设备指纹’——字体是4.5号灰字。”
林砚接过平板,指尖划过第七页底部那行几乎融进背景色的文字。她没说话,只将平板翻转,露出背面贴着的一张便签,上面是她自己的字迹:“数据不是流水线上的零件,是活人的呼吸轨迹。”
她走到自己工位前,拉开抽屉。里面没有化妆品或零食,只有一本硬壳笔记本,封皮印着模糊的“2021年监管沙盒试点记录”。翻开第一页,钢笔字力透纸背:“真正的治理,不在罚单金额,而在让每个用户点下‘同意’前,能真正看见自己让渡了什么。”
手机震了一下。陌生号码,归属地显示本市。短信只有八个字:“林科,融易通服务器,今晚十点。”
她盯着屏幕三秒,回了一个字:“谁?”
对方秒回:“陈屿。您楼梯间看过我的投诉单。”
林砚没再回复。她合上笔记本,起身走向茶水间。路过同事工位时,听见两句压低的议论:
“听说融易通背后站着新盛资本,去年给市里捐了三个普惠金融实验室……”
“可他们上周刚被曝出用AI语音仿冒用户亲属催收,录音样本都进了公安部反诈中心库。”
林砚接水的手没抖。水流注入马克杯,水面微微晃动,映出她眼底一道极淡的冷光。
——
陈屿第一次见林砚,是在三个月前的听证会现场。
那天他穿着洗得发软的靛蓝衬衫,袖口磨出了毛边,坐在旁听席第三排。作为“信易贷”投诉人代表,他本不该发言,但当监管人员宣读“因技术复杂性暂不认定违规”时,他忽然站起来,从公文包里取出一台老式录音笔。
“各位领导,请听这段音频。”他按下播放键。
电流杂音后,一个温和的女声响起:“王阿姨您好,我是您侄子李哲的同事。他上个月在我们平台借了五万块周转,现在逾期四十七天,利息滚到八万三了。他托我问问,您家老房子的产权证复印件,方便我们走协商流程……”
全场寂静。录音里“王阿姨”的哽咽声清晰可闻。
“这不是催收电话。”陈屿声音很平,“这是‘信易贷’用我上传的通讯录+通话记录训练出的AI语音模型,模拟我姑妈最信任的晚辈声音,拨打她手机。而我姑妈,七十九岁,阿尔茨海默症二期。”
监管席上有人低头翻文件,有人悄悄按住耳麦。林砚坐在主审位置,没看录音笔,只看着陈屿放在桌沿的手——指节修长,指甲剪得极短,右手食指第二关节有道浅白旧疤,像被什么锋利东西划过。
听证会结束,陈屿没走。他在走廊尽头等她,递来一个U盘。“所有原始数据包,包括他们调取我通讯录时触发的十六个隐蔽ApI端点。密码是‘0723’——我姑妈确诊那天。”
林砚接过U盘,指尖触到他微凉的皮肤。“为什么给我?”
“因为上周三,您在《南江日报》发的那篇《算法黑箱里的知情权》。”他顿了顿,“您写:‘当用户点击‘同意’,他交付的不该是沉默的抵押品,而应是一份双方都读懂的契约。’——我姑妈不识字,但她记得每个亲人声音的温度。你们要管的,不是她签不签字,是别人能不能偷走她的温度。”
那天之后,林砚把U盘插进加密终端,熬了两个通宵。她发现“信易通”并非孤例——它使用的底层风控引擎,代码签名与“融易通”“速贷宝”高度同源,核心模块名为“织网者V3.2”。更关键的是,该引擎在调用通讯录时,会同步向境外云服务器发送加密哈希值,用于比对全球社交关系图谱数据库。
她将报告命名为《关于信贷类App跨平台数据协同违规的初步研判》,提交前,在末页加了一行小字:“建议启动穿透式监管:不查合同条款,查代码逻辑;不验用户授权,验数据流向。”
报告石沉大海。直到上月,省局空降督导组,点名要求重审“织网者”系列引擎。
——
晚上九点五十分,林砚站在融易通大厦b座地下二层机房外。金属门禁面板幽幽泛光,她没刷卡,只将手机靠近感应区——屏幕上跳出一行字:“临时白名单已激活,有效期至23:59。”
门无声滑开。
冷气裹挟着臭氧味扑面而来。一排排黑色机柜如沉默的墓碑,指示灯在幽暗中规律明灭,像无数只半睁的眼睛。陈屿站在最内侧的Rack-07前,正用光纤测试仪对准一根蓝色线缆。他听见脚步声,没回头,只抬手示意右侧:“主控台,密码是你报告末页的日期。”
林砚走过去。键盘冰凉。她输入屏幕亮起,弹出命令行界面。光标闪烁,等待指令。
“他们把用户授权日志和实际数据调用日志,存在不同数据库。”陈屿终于转身,t恤领口沾着一点灰,“授权日志在A库,显示99.7%用户‘主动勾选’;真实调用日志在b库,显示100%设备通讯录被读取——包括那些在授权页停留不足0.8秒就退出的用户。”
林砚调出b库实时流。数据瀑布般倾泻而下,每一行都标注着设备Id、调用时间、接口名称、返回字段。她快速筛选“contacts_read”,结果令人心悸:过去24小时,该接口被触发1,287,436次,其中83.6%发生在用户安装App后首分钟内,早于任何授权弹窗出现。
“他们用安卓系统的‘前台服务’漏洞。”陈屿递来一副降噪耳机,“戴上。听这个。”
音频响起。先是系统提示音:“检测到新应用安装,是否启用无障碍服务?”紧接着是机械女声:“为保障您的借贷体验,本应用需开启无障碍权限以优化操作流畅度。”——语速比正常快1.3倍,且混入了0.8hz的次声波频段,会轻微干扰前额叶判断力。
林砚摘下耳机,看向陈屿:“你做过声学分析?”
“业余爱好。”他嘴角微扬,又迅速压平,“我姑妈住院后,我自学了信号处理。发现他们所有诱导性语音,都嵌套了亚赫兹频段调制。不是违法,是钻了《电信条例》里‘语音内容合规’的定义空白。”
林砚没笑。她打开终端,输入一串指令。屏幕分割为两栏:左栏是融易通最新版ApK反编译代码,右栏是她自建的合规校验模型。光标在“Androidmanifest.xml”文件上悬停,她点开“”这一行。
“权限声明本身合法。”她声音很轻,“但他们在oncreate方法里,用反射机制绕过系统授权弹窗,直接调用contactscontract.contacts.coNtENt_URI。这是教科书级的规避。”
陈屿点头:“所以你们的处罚依据,不能只写‘违规读取通讯录’,得写‘以技术手段实质性架空用户授权机制’。”
林砚忽然问:“你为什么帮我?”
机房灯光在他瞳孔里缩成两点冷星。他沉默几秒,从口袋掏出一张折叠的医院缴费单,展开一角——“神经内科·认知障碍评估”,费用栏写着“¥2,800”,支付方式是“融易通信用付”。
“他们在我姑妈确诊当天,给她推送了‘银龄专享贷’,额度三万,年化利率29.8%。”他声音很稳,“审批通过后,自动扣除了这笔评估费。理由是‘预存健康管理服务金’。”
林砚看着那张单据,没接话。她调出融易通的用户协议pdF,快速检索“健康管理服务”。在第47页脚注里,找到一行小字:“本服务包含但不限于:认知能力动态监测、用药提醒、紧急联系人网络构建——相关数据将用于优化授信模型。”
她截屏,存档,命名:“证据链-0723-融易通-健康贷陷阱”。
就在这时,主控台警报突响。红光急促闪烁,屏幕弹出提示:“检测到外部Ip异常扫描,来源:112.64.18.203(市监局内网代理池)”。
陈屿脸色一变:“有人盯上这儿了。”
林砚却伸手,将终端切换至远程镜像模式,把当前所有操作画面,实时同步至她办公电脑的加密分区。然后,她拔下U盘,插入自己手机otG接口,对着Rack-07机柜顶部的摄像头,拍下三张照片:一张是机柜铭牌(含序列号),一张是正在运行的“织网者V3.2”进程列表,一张是陈屿站在机柜前的侧影——他抬手扶眼镜的动作,恰好框住了身后闪烁的“contacts_read”实时计数器。
“走。”她收起手机,声音冷静如常。
两人从货运电梯离开。电梯下行时,林砚忽然开口:“明天上午九点,数字治理科召开‘融易通’专项核查通报会。你作为技术协查员,列席。”
陈屿一怔:“协查员?我没编制。”
“临时聘任。”她看着不断跳动的楼层数字,“依据《金融监管辅助人员管理办法》第十二条:具备特殊技术专长且提供关键证据者,可经督导组批准,行使有限核查权。聘书,我今早签好了。”
电梯“叮”一声停在负一层。门开,冷风灌入。林砚迈步而出,高跟鞋敲击水泥地,声声清晰。陈屿跟在她半步之后,忽然说:“林科,你们监管系统,真能拦住这些App吗?”
林砚没回头,只将手伸进风衣口袋,摸到一枚硬质徽章——那是她入职时发的“数字监管先锋”纪念章,背面刻着一行小字:“红线之内,寸土不让。”
“不是拦住。”她声音融进夜雨,“是让每条红线,都长出自己的神经末梢。”
——
通报会设在监管局七楼多功能厅。长桌铺着深蓝丝绒,中央立着“融易通专项核查通报会”亚克力牌。林砚坐在主位,左侧是省局督导组组长赵明远,右侧空着——那是留给陈屿的位置。
九点整,融易通法务总监周维带着三人团队入场。周维四十出头,西装笔挺,腕上江诗丹顿折射着顶灯光芒。他落座时,公文包搁在膝上,拉链半开,露出一角烫金名片盒。
林砚没寒暄。她点开投影,第一张ppt只有两行字:
【违规事实】
? 以技术手段规避《个人信息保护法》第二十三条之授权同意要求;
? 将医疗健康数据与信贷风控模型强制绑定,违反《互联网金融个人信息安全规范》第5.2.4条。
周维笑容未变:“林科,这些指控需要确凿证据链。比如‘规避授权’,我们所有弹窗均符合工信部《App用户权益保护测评规范》。”
“那就看证据。”林砚示意同事。大屏切换,播放一段17秒视频:手机屏幕录屏,展示安装“融易通”后,系统自动弹出无障碍服务请求,用户手指尚未触屏,页面已跳转至“欢迎使用”,同时后台日志显示“contacts_read: SUccESS”。
“这是第三方检测机构出具的渗透测试报告。”林砚推过一份蓝色封皮文件,“附录三,第87页,视频原始哈希值已上链存证。”
周维指尖一顿。他身后的年轻律师迅速翻动文件,眉头越锁越紧。
第二张ppt亮起:一张医院缴费单高清图,红圈标出“融易通信用付”扣款项,旁边并列着融易通用户协议第47页脚注截图。
“将认知障碍评估包装为‘健康管理服务’,再以此为由扣取费用,构成《金融消费者权益保护实施办法》第二十八条所指‘隐瞒重要信息,误导消费者作出错误意思表示’。”林砚语速平稳,“更严重的是,贵司在未获患者本人明确授权情况下,将其诊断数据用于风控模型训练——这已涉嫌侵犯人格权。”
周维终于放下公文包。他身体微微前倾,声音仍带着职业性的温和:“林科,金融创新必然伴随试错。我们愿意整改,也已准备了三套优化方案……”
“整改?”林砚打断他,调出第三张ppt。画面是一张拓扑图,中央是“织网者V3.2”引擎,向外辐射出十六条彩色连线,分别指向“融易通”“速贷宝”“金链快借”等21个App图标,每条线上标注着相同的数据接口名:“/api/v3/social_graph/enhance”。
“这不是一家公司的违规。”她目光扫过周维骤然绷紧的下颌线,“是二十一款App,共用同一套规避授权、伪造社交关系、劫持健康数据的底层引擎。你们管它叫‘织网者’,我们更愿称之为‘捕网者’——它不织信用之网,只织控制之网。”
会场死寂。督导组组长赵明远轻轻放下保温杯,杯底与桌面碰撞出清脆一声。
周维沉默良久,忽然笑了:“林科,您知道为什么‘织网者’能存活三年吗?因为它解决了一个真实痛点:传统风控模型对小微企业、自由职业者、老年群体的授信失败率高达68%。而我们的社交图谱+健康数据交叉验证,把通过率提到了81%。”
“所以您用老人的病历,去换年轻人的贷款通过率?”林砚声音未提高,却让整个房间温度骤降,“周总,金融的温度,不该建立在他人病历的冰冷之上。”
这时,会议室门被推开。陈屿走了进来。他今天穿了件深灰色衬衫,头发梳得整齐,手里拿着一台银色笔记本电脑。他径直走向林砚指定的位置,坐下,打开电脑,屏幕朝向长桌——上面正运行着一个三维可视化程序:无数光点代表用户,线条代表数据流向,而所有线条最终汇聚向境外服务器Ip,节点上跳动着实时更新的数字:当前在线用户数、通讯录读取量、健康数据上传量……
“这是‘织网者’的真实数据脉络。”陈屿开口,声音清晰平稳,“过去72小时,它从中国境内采集了470万份通讯录、128万份体检报告、93万份用药记录。其中,65岁以上用户占比31%,而这些人中,有27%被系统标记为‘高风险失能倾向’——该标签直接导致其子女的信贷申请被拒绝。”
周维的脸彻底失去血色。
林砚站起身,从文件夹抽出一份红头文件:“根据《金融领域数据安全管理办法》第四章第二十条,现对融易通公司作出如下处理决定:
一、立即停止‘织网者V3.2’引擎全部数据采集与模型训练功能;
二、七日内向全体用户发送《数据使用情况说明函》,并提供一键删除历史数据通道;
三、处以违法所得三倍罚款,计人民币贰仟叁佰捌拾壹万元;
四、暂停其互联网小额贷款业务备案资格十二个月。”
她停顿一秒,目光如刃:“另,依据《行政处罚法》第三十二条,鉴于当事人主动提供关键证据、配合调查,且部分违规行为系历史遗留问题,本机关决定,对直接责任人员免予从业禁止处罚。”
周维猛地抬头,难以置信。
林砚却看向陈屿:“陈工,您提供的技术证据,已形成完整闭环。根据《金融监管协作激励办法》,您将获得专项奖励,并纳入我市数字金融安全专家库。”
陈屿合上电脑,点点头,没说话。
散会后,林砚留在空荡的会议室。窗外雨停了,云层裂开一道缝隙,漏下一束斜阳,正落在长桌中央那枚“数字监管先锋”徽章上。她拿起徽章,用指腹摩挲背面那行小字。
手机震动。是陈屿发来的消息:“林科,我姑妈今天出院了。医生说,认知训练配合家庭支持,进展比预期好。”
她回:“恭喜。”
对方很快又发来一张照片:阳光透过病房窗户,洒在床头柜上。柜子摆着一盆绿萝,叶片舒展,旁边放着一本摊开的书——《智能手机安全使用指南(老年版)》,书页折角处,用铅笔写着一行小字:“第12页:如何关闭App的通讯录权限。”
林砚盯着那行字看了很久。然后,她打开工作文档,新建一页,标题命名为《App金融信贷违规治理长效化路径研究(草案)》,在开头写下第一句话:
“真正的惩戒,不是让违规者停下脚步,而是让守规者看清前路。”
——
三个月后,“清源行动”成果发布会。
聚光灯下,林砚站在讲台中央。台下坐满媒体、金融机构代表、消协负责人。大屏播放着一段短视频:一位白发老太太在社区课堂上,用平板电脑演示如何查看App权限设置;一名外卖骑手笑着展示手机里新增的“信贷服务透明度评分”;一群大学生围着展板,讨论“数据信托”模型的设计图……
“本次行动累计处置违规App 137款,推动21家机构完成算法伦理审查,建成全国首个‘信贷类App合规代码库’。”林砚声音沉静,“但我们更珍视的成果,是用户开始习惯在点击‘同意’前,先问一句:‘它想拿走我的什么?’”
发布会结束,人群渐散。林砚收拾资料时,陈屿走过来,递给她一个牛皮纸袋。
“什么?”她问。
“融易通整改后的源码审计报告。”他顿了顿,“还有……我姑妈写的感谢信。”
林砚打开信封。信纸是淡蓝色的,字迹歪斜却认真:“林科同志:谢谢您帮我关掉那个偷听我电话的‘小耳朵’。现在我每天教隔壁王奶奶用手机,我们俩组了个‘银龄监督队’,专门举报乱要权限的App。附上我们画的‘防骗三字经’,请您指导。”
信纸背面,是两行稚拙的铅笔字:
防骗三字经
点同意,先看清;
要权限,问原因;
不明白,找林科!
林砚喉头微热。她将信纸仔细折好,放进随身的硬壳笔记本里——就夹在那页“数据不是流水线上的零件”旁边。
走出大厅,初夏的阳光明亮而不灼人。陈屿并肩而行,没说话,只是把车钥匙在指尖转了个圈。
“下周,‘织网者’替代方案‘青藤计划’要上线测试。”他说,“开源框架,所有风控逻辑可审计,用户能实时查看自己的数据被谁用了、为什么用。”
林砚望着前方梧桐树影斑驳的路面,忽然问:“如果有一天,所有App都合规了,你还来监管局吗?”
陈屿侧过脸。阳光落在他睫毛上,投下细密的影。“来。”他答得干脆,“不过下次,我想申请当你的副手。”
林砚没看他,只将笔记本抱得更紧了些。封皮上,“数字监管先锋”的徽章在光下泛着温润的哑光。
风过树梢,送来新叶的清气。远处,城市天际线在澄澈的蓝天下起伏,无数窗口映着光,像无数双刚刚学会辨认真相的眼睛。
(全文完)