那天之后,林砚把U盘插进加密终端,熬了两个通宵。她发现“信易通”并非孤例——它使用的底层风控引擎,代码签名与“融易通”“速贷宝”高度同源,核心模块名为“织网者V3.2”。更关键的是,该引擎在调用通讯录时,会同步向境外云服务器发送加密哈希值,用于比对全球社交关系图谱数据库。
她将报告命名为《关于信贷类App跨平台数据协同违规的初步研判》,提交前,在末页加了一行小字:“建议启动穿透式监管:不查合同条款,查代码逻辑;不验用户授权,验数据流向。”
报告石沉大海。直到上月,省局空降督导组,点名要求重审“织网者”系列引擎。
——
晚上九点五十分,林砚站在融易通大厦b座地下二层机房外。金属门禁面板幽幽泛光,她没刷卡,只将手机靠近感应区——屏幕上跳出一行字:“临时白名单已激活,有效期至23:59。”
门无声滑开。
冷气裹挟着臭氧味扑面而来。一排排黑色机柜如沉默的墓碑,指示灯在幽暗中规律明灭,像无数只半睁的眼睛。陈屿站在最内侧的Rack-07前,正用光纤测试仪对准一根蓝色线缆。他听见脚步声,没回头,只抬手示意右侧:“主控台,密码是你报告末页的日期。”
林砚走过去。键盘冰凉。她输入屏幕亮起,弹出命令行界面。光标闪烁,等待指令。
“他们把用户授权日志和实际数据调用日志,存在不同数据库。”陈屿终于转身,t恤领口沾着一点灰,“授权日志在A库,显示99.7%用户‘主动勾选’;真实调用日志在b库,显示100%设备通讯录被读取——包括那些在授权页停留不足0.8秒就退出的用户。”
林砚调出b库实时流。数据瀑布般倾泻而下,每一行都标注着设备Id、调用时间、接口名称、返回字段。她快速筛选“tacts_read”,结果令人心悸:过去24小时,该接口被触发1,287,436次,其中83.6%发生在用户安装App后首分钟内,早于任何授权弹窗出现。
“他们用安卓系统的‘前台服务’漏洞。”陈屿递来一副降噪耳机,“戴上。听这个。”
音频响起。先是系统提示音:“检测到新应用安装,是否启用无障碍服务?”紧接着是机械女声:“为保障您的借贷体验,本应用需开启无障碍权限以优化操作流畅度。”——语速比正常快1.3倍,且混入了0.8hz的次声波频段,会轻微干扰前额叶判断力。
林砚摘下耳机,看向陈屿:“你做过声学分析?”
“业余爱好。”他嘴角微扬,又迅速压平,“我姑妈住院后,我自学了信号处理。发现他们所有诱导性语音,都嵌套了亚赫兹频段调制。不是违法,是钻了《电信条例》里‘语音内容合规’的定义空白。”
林砚没笑。她打开终端,输入一串指令。屏幕分割为两栏:左栏是融易通最新版ApK反编译代码,右栏是她自建的合规校验模型。光标在“Androidma.xml”文件上悬停,她点开“”这一行。
“权限声明本身合法。”她声音很轻,“但他们在oe方法里,用反射机制绕过系统授权弹窗,直接调用tactstract.tacts.tENt_URI。这是教科书级的规避。”
陈屿点头:“所以你们的处罚依据,不能只写‘违规读取通讯录’,得写‘以技术手段实质性架空用户授权机制’。”
林砚忽然问:“你为什么帮我?”
机房灯光在他瞳孔里缩成两点冷星。他沉默几秒,从口袋掏出一张折叠的医院缴费单,展开一角——“神经内科·认知障碍评估”,费用栏写着“¥2,800”,支付方式是“融易通信用付”。
“他们在我姑妈确诊当天,给她推送了‘银龄专享贷’,额度三万,年化利率29.8%。”他声音很稳,“审批通过后,自动扣除了这笔评估费。理由是‘预存健康管理服务金’。”
林砚看着那张单据,没接话。她调出融易通的用户协议pdF,快速检索“健康管理服务”。在第47页脚注里,找到一行小字:“本服务包含但不限于:认知能力动态监测、用药提醒、紧急联系人网络构建——相关数据将用于优化授信模型。”
她截屏,存档,命名:“证据链-0723-融易通-健康贷陷阱”。
就在这时,主控台警报突响。红光急促闪烁,屏幕弹出提示:“检测到外部Ip异常扫描,来源:112.64.18.203(市监局内网代理池)”。
陈屿脸色一变:“有人盯上这儿了。”
林砚却伸手,将终端切换至

