第十五个口罩

招魂者 · 2026/5/14

第十五个口罩

陈屿从梦中醒来时,嘴里还残留着一种奇怪的味道——像铜板被含到发烫后留下的金属涩味。

他舔了舔嘴唇,坐起来,窗外的城市正经历一场不合时宜的雾。不是那种北方城市干燥的雾霾,而是湿漉漉的、带着水汽的浓雾,像是有人在天上倒下了一整片海洋。五月的杭州不该有这种雾。他的手机屏幕亮着,上面是昨晚没关掉的终端界面,绿色的代码行在雾气中反射出荧荧的光。

他是一家名叫”天衡信用”的数据分析师。说白了,就是给每个公民打分的人。

天衡信用不是什么大公司,在这座城市里甚至排不进前十。但它的母公司——宸宇集团——是华东地区最大的金融科技集团之一。宸宇做的东西很多,从支付网关到区块链存证,从保险精算到信贷评估,几乎每一条和数字沾边的产品线都有它的影子。天衡只是其中一个小小的节点,负责维护一套叫”衡度”的信用评分系统。

“衡度”的用户不多,大约覆盖了杭州及周边城市的三百万人口。它的算法并不复杂——至少在陈屿看来不复杂——主要根据用户的消费记录、还款历史、社交关系和公共行为数据来计算一个0到1000之间的分数。分数越高,信用越好,能获得的贷款额度越高,利率越低。分数低的人,别说贷款,连租房子都会遇到困难。

这套东西在2020年代中期已经是行业标配了。每个城市都有自己的评分系统,有的城市有三四个互相竞争的产品,有的城市只有一家独大。杭州是个混战之地,各大平台打得头破血流,天衡能在夹缝中生存下来,靠的就是宸宇集团提供的底层数据优势。

陈屿每天的工作就是监控”衡度”的数据异常。大部分异常都是小事——某个用户的数据源出了问题,某个接口返回了错误格式的数据,某个爬虫被目标网站封了。偶尔会有一些有意思的异常,比如某个用户的分数在短时间内剧烈波动,或者某个区域的整体分数突然升高或降低。

但昨天的那个异常不一样。

他拿起手机,重新看了一遍昨晚的记录。晚上十一点三十七分,系统监测到一笔异常的资金流。不是大额转账,不是洗钱,不是任何常见的金融异常模式。而是一笔笔极其微小、极其规律的转账,每笔金额都是6.66元,从三万个不同的账户同时流向同一个目标。

6.66。

这个数字让陈屿觉得不安。不是因为它不吉利,而是因为它太刻意了。在数据的世界里,刻意就意味着人为,人为就意味着有人在操纵什么。

他穿好衣服,走进卫生间。镜子里是一张二十七岁的脸,眼下的黑眼圈已经很深了,头发乱糟糟地支棱着,像一只受惊的刺猬。他挤了牙膏,刷了牙,那股金属味终于被薄荷覆盖了。

出门前,他戴上了口罩。

这是他从疫情年代保留下来的习惯。不是为了防病毒,而是因为一个更私密的原因——他不擅长控制自己的表情。在办公室里,当同事们讨论某个算法调整会导致多少人的信用分数下降时,他的嘴角会不自觉地抽动。当领导在会议上说”信用分数不是道德评价,只是一个风险指标”时,他的眉头会皱起来。口罩是一面盾牌,帮他挡住那些不必要的暴露。

他的抽屉里有十五个口罩。每天换一个,两周一个循环。今天是第十五个。

他不知道为什么会在意这种小事。也许是因为在他的世界里,一切都是可以量化的——信用分数、贷款利率、风险系数、违约概率。但这些口罩是他唯一无法量化、也不愿量化的东西。

它们只是口罩。十五个。轮换着戴。仅此而已。

天衡信用的办公室在城西的一栋写字楼里,二十三楼。陈屿到的时候,办公室里只有前台的灯亮着。他刷了工卡,走进自己的工位,打开了电脑。

昨天的异常日志还挂在他的监控面板上。三万笔6.66元的转账,从凌晨两点十三分开始,到两点十四分结束,前后不到一分钟。目标账户是一个叫”余集”的个体工商户,注册地址在西湖区文三路的一栋老写字楼里,经营范围写的是”企业管理咨询”。

陈屿调出了”余集”的信用档案。分数很高,897分,在”衡度”的体系里属于”极优”级别。注册时间是三个月前,几乎没有经营数据,没有纳税记录,没有员工社保缴纳记录。唯一的资金往来就是昨晚那三万笔6.66元的转账——总计约二十万元。

然后,在今天凌晨三点,这笔钱被全部转出,流向了一个海外的数字货币钱包。

陈屿靠在椅背上,盯着屏幕上的数据流。在他六年的数据分析生涯中,他见过各种各样的异常——刷单、套现、虚假交易、地下钱庄。但这种模式他是第一次见。三万个账户,每个账户只转出6.66元,加起来不过二十万,对于一个精心设计的资金操作来说,这个金额太小了。不值得。

除非目的不是钱。

他开始逐个检查那三万个账户。大多数是普通人的账户——快递员、外卖骑手、小超市老板、退休教师、大学生。信用分数分布在400到800之间,没有明显的聚集特征。他们之间唯一的共同点是:都在过去一个月内下载了一个叫”鱼跃”的APP。

“鱼跃”是一个新上线的社交借贷平台,主打”零门槛借钱,信用即额度”。陈屿听过这个名字,在地铁广告上见过——一个年轻人笑着举起手机,背景是一片金色的麦田,标语写着”鱼跃龙门,信用自由”。典型的互联网金融话术。

他下载了”鱼跃”,注册了一个测试账号。注册过程极其简单——手机号、身份证号、人脸识别,三步完成。然后是一个用户协议,密密麻麻的四千多字,他快速扫了一遍,在第四十七条发现了这样一句话:

“用户授权平台在必要时以其名义进行小额资金操作,用于信用评估和风险管理目的。”

他读了两遍。

这句话翻译成人话就是:平台可以替你花钱。

或者更准确地说:平台可以替你转账。

陈屿感到后背一阵发凉。他想起那三万个账户,三万个普通人,他们在注册”鱼跃”的时候,大概没有一个人读到了第四十七条。他们只是想借一笔钱,付房租,买手机,或者给家里寄一些回去。他们点了”同意”,然后他们的账户就变成了别人的工具。

但他还是没有理解为什么是6.66元。如果是洗钱,金额太小;如果是测试,为什么要统一金额?除非这个数字本身有某种含义。

他从口袋里掏出口罩,换上今天的——第十五个。口罩是浅灰色的,和之前十四个一模一样,但他总觉得每一个都有微妙的不同。也许是弹性,也许是耳带的长度,也许是布料的纹理。他说不清。

他把口罩戴上,走进会议室,拨通了主管的电话。

主管叫方达,四十出头,头发已经白了一半,但精力充沛得像个二十岁的年轻人。他在天衡干了八年,从基层分析师一路升到风控部门的主管,靠的就是两个字:靠谱。

“你说三万个账户?“方达坐在对面,手里的咖啡杯冒着热气,“你确定不是爬虫的问题?”

“我验证过了,转账记录是真实的,银行接口的数据可以交叉验证。“陈屿把打印出来的报告推过去,“每个账户的授权都来自’鱼跃’APP的用户协议第四十七条。这些用户授权了平台代为操作,但授权范围被滥用了。”

方达翻着报告,眉头越皱越紧。“这个’鱼跃’是谁做的?”

“我查了,注册主体是一家叫’澜海科技’的公司,注册地在深圳,法人代表叫吴萍,持股比例百分之百。但澜海科技背后的实际控制人是——“陈屿停顿了一下,“宸宇集团。”

方达的手停在了半空中。

“你确定?”

“澜海科技的注册地址和宸宇旗下的另外三家公司相同,都在深圳前海的同一栋楼里。而且,‘鱼跃’的用户数据最终流入的数据仓库,和’衡度’共享同一个底层存储集群。”

会议室里安静了几秒钟。方达放下报告,看着窗外。雾还没散,远处的西湖被白茫茫的一片遮住了,看不见水,也看不见山。

“你知道这意味着什么吗?“方达的声音压得很低。

“意味着宸宇在用’鱼跃’收集用户数据,然后用这些用户的账户做资金搬运。具体目的是什么,我还不清楚。但有一点可以确认——这些用户不知道自己的账户被用过。”

“如果这件事是真的,“方达把报告推回来,“不是我们这个级别能处理的事情。”

陈屿沉默了。

“你先别动,我来协调。“方达站起来,把报告折好塞进口袋,“这件事到此为止,你继续做日常监控就好。”

陈屿看着方达走出会议室的背影,注意到他的脚步比平时快了一些。门关上的时候,他听到了方达在走廊里打电话的声音,但听不清内容。

他坐在会议室里,戴着第十五个口罩,盯着桌面上自己的倒影。模糊的、扭曲的、被日光灯照得发白的脸。

他知道自己不会”到此为止”。

接下来的三天,陈屿一边做日常监控,一边秘密追踪”鱼跃”的数据流向。

他发现了一个模式。每隔三天,“鱼跃”就会在凌晨进行一次小额转账操作,金额固定为某个特定数字。第一次是3.14,第二次是2.71,第三次是1.41。每一次都涉及不同的账户群体,人数从几千到几万不等,但资金最终都流向了同一个海外数字货币钱包。

3.14,2.71,1.41。

圆周率,自然对数的底,根号2。

这些数字的数学含义让陈屿倒吸一口凉气。如果这不是巧合,那么6.66也不是巧合。他在脑海中快速计算——黄金比例的前四位是1.618,斐波那契数列的前几个数是1、1、2、3、5、8、13……这些都不等于6.66。

但6.66可以倒过来读:9.99。

或者换一种方式:6.66 × 1.5 = 9.99。

他不确定自己在过度解读还是真的发现了什么。但他的直觉告诉他,这些数字是某种编码。

第四天晚上,他在家加班到深夜,终于找到了线索。他在”鱼跃”的后台数据库中发现了一个隐藏的API接口,这个接口不在任何文档中,也没有在代码仓库的提交记录里出现过。它的功能很简单:接收一个数字,返回一串加密的文本。

他试着用6.66调用这个接口,返回了一串Base64编码的字符串。解码后,他得到了一句话:

“龙王庙第三根柱子。”

他的手开始发抖。

龙王庙。他小时候跟着外婆去过那个地方。在西湖边的北山路上,一座不起眼的小庙,藏在梧桐树的阴影里。外婆说那座庙很灵,每年春天都要去拜一拜。他记得庙里有四根柱子,漆着朱红色的漆,其中第三根柱子上有一个小小的凹痕,像是被什么东西磕过的。

他当时以为是时间留下的痕迹。现在他不确定了。

他又用3.14调用接口,得到了另一句话:“老陈茶叶店。”

2.71:“涌金门。”

1.41:“断桥北。”

这些全是杭州的地名。不是什么秘密基地的坐标,不是什么地下交易的暗号,而是——他突然意识到了什么——这些全部是杭州古地图上的标记点。

他打开电脑上的杭州历史地图数据库,把这几个地点标出来。龙王庙、老陈茶叶店、涌金门、断桥北——它们在地图上形成了一个不规则的五边形,而五边形的中心,恰好是西湖。

或者更准确地说,是湖心亭。

他的心跳加速了。湖心亭,西湖中央的一座小岛,上面有一块著名的石碑,刻着”虫二”两个字。据说这是乾隆皇帝的御笔,“虫二”是”风月”二字去掉边框后的写法,取”风月无边”之意。

陈屿闭上眼睛,深呼吸。他觉得自己像是在追一只兔子,追着追着,兔子钻进了一个洞,洞越走越深,越来越窄,而他不确定洞的尽头是仙境还是深渊。

他给方达发了一条消息:“有新发现,明天当面说。”

方达没有回复。

第二天早上,陈屿到公司的时候,方达不在。工位上空空的,咖啡杯也不在。他去问行政,行政说方达请了事假,什么时候回来不知道。

他给方达打电话,关机。发微信,没有回应。

一种不好的预感涌上来。

他打开”衡度”的后台,查了一下方达的信用分数。823分,和上周一样。但他注意到,在方达的信用档案里多了一条新记录——昨晚十一点,有一笔五万元的贷款从”鱼跃”平台发放,贷款人是方达。

方达没有用过”鱼跃”。

陈屿立刻调出了方达的账户详情。贷款申请的时间是昨晚十一点零二分,正好是陈屿给他发消息之后两分钟。申请材料里有一份人脸识别的认证记录,认证结果是”通过”。

但方达的手机在昨晚十一点关机了。

这意味着人脸识别不是方达本人操作的。

陈屿的脑子飞速运转。如果”鱼跃”可以伪造人脸识别——不,不是伪造,是绕过。如果”鱼跃”根本不需要真人的人脸,只需要一张照片就够了……宸宇集团的数据仓库里有全杭州三百万人的身份证照片,包括方达的。

他在五分钟之内完成了完整的推理链:

宸宇集团通过”鱼跃”APP收集用户数据和个人信息,包括人脸数据。然后利用这些数据,在用户不知情的情况下,以用户的名义进行资金操作——贷款、转账、提现。这些资金最终流入海外数字货币钱包,完成了洗钱或者资金转移。

但6.66和那些数学常数呢?“龙王庙第三根柱子”呢?

他突然意识到,那些可能只是一个测试。一个技术团队在测试数据传输通道时留下的调试标记。真正的资金流藏在那些”测试”的后面——每天数以百万计的正常交易中,混入了数以万计的微小异常,每一个异常都小到不足以触发任何风控规则。

他曾经以为自己的工作是有意义的——监控异常,保护系统的公正性。但现在他意识到,制造异常的人和维护系统的人,坐在同一栋楼里,领着同一个集团的工资。

而方达,大概就是在昨晚意识到了这件事,然后被”处理”了。不是被消失了——那太戏剧化——而是被栽了一笔来路不明的贷款。等这笔贷款进入征信系统,方达的信用分数就会暴跌,他的生活会被拖入泥潭。这就是数字时代的惩罚:不需要暴力,不需要威胁,只需要改一个数字。

陈屿坐在工位上,周围同事们正在正常地工作。有人在调试模型,有人在写周报,有人在讨论午饭吃什么。一切看起来都很正常,正常得像一面墙。

他的手机震动了一下。一条来自未知号码的短信:

“陈屿,数据的事我知道了。我们聊聊?明天中午,湖心亭。——一个朋友”

湖心亭。

陈屿盯着这条短信看了很久。湖心亭——他昨晚在地图上标出的五边形的中心点。巧合?

他不相信巧合。

第二天中午,他请了半天假,坐公交到断桥,然后沿白堤走到了中山码头。码头上有几条小船,是那种手划的木船,船夫穿着蓝色的马甲,在阳光下打瞌睡。

“去湖心亭。“陈屿说。

船夫抬起头,看了他一眼。“今天雾大,湖心亭可能看不到。”

确实,湖面上弥漫着一层薄雾,不像前几天那么浓,但也足以让远处的景物变得模糊。陈屿上了船,船夫开始划桨,水声在雾中显得格外清晰。

“你是来看’虫二’的吧?“船夫问。

“算是吧。”

“那块碑啊,“船夫不紧不慢地说,“我划了二十年船,每次经过都看一眼。两个越看越觉得不像字,倒像是两个虫子在石头上爬。”

陈屿没有说话。他在想那个API接口返回的信息。“龙王庙第三根柱子”、“老陈茶叶店”、“涌金门”、“断桥北”——如果这些地点和那些数学常数有关,那么它们可能构成了某种密钥。而湖心亭的”虫二”可能是解开这个密钥的关键。

船在雾中行驶了大约十分钟,湖心亭的轮廓慢慢浮现出来。一个小岛,上面有一座亭子,亭子旁边是那块著名的石碑。岛上没有其他游客——可能是因为雾的缘故。

陈屿下了船,走上小岛。石碑就在眼前,上面的”虫二”两个字在雾中显得格外清晰。他蹲下来,仔细看了看碑的底座。石头上有些青苔,他伸手拨开——

底座的侧面有一个不起眼的方形凹槽,大约指甲盖大小。凹槽里有金属的触感,像是某种接口。

他的心跳又开始加速了。这不可能是一个清代石碑上应该有的东西。这是一个NFC芯片的接触点。

他掏出手机,打开NFC功能,把手机贴在凹槽上。

屏幕上跳出了一个网页——没有URL,只有一页纯文本。文本的内容是一份文件,标题写着:

“天衡信用评分算法修正方案——宸宇集团内部文件——机密”

他快速浏览了文件的内容。这是一份关于”衡度”信用评分系统的算法调整方案,日期是三个月前,也就是”鱼跃”APP上线的时间。方案的核心内容是:通过修改”衡度”的评分权重参数,将特定人群的信用分数系统性地上调或下调。

哪些人群?文件里列了一张表:

——年龄18-25岁、月收入低于5000元的用户:分数下调15-25分。 ——年龄25-35岁、有房贷的用户:分数上调10-20分。 ——年龄40岁以上、无稳定收入的用户:分数下调30-40分。 ——社交关系网络中信用分数低于500的用户占比超过40%的:分数额外下调20分。

每一项调整都精确到了小数点后两位。每一个数字背后都是活生生的人——年轻的打工者被进一步压低信用,中年有产者被进一步抬高,老年人和边缘人群被系统性地排斥。

这不是风险评估,这是社会分层。

陈屿的手在发抖。他把网页截图保存,然后又拍了石碑的照片。他意识到,这份文件是有人故意放在这里的——NFC芯片嵌入了一块清代石碑的底座,用最古老的方式藏最危险的秘密。这只可能是一个内鬼的手笔。

他站起身,环顾四周。雾更浓了,湖面看不到边际,他好像站在世界的尽头。

“看完了?”

一个声音从背后传来。陈屿猛地转身,看到一个穿着深色风衣的中年女人站在亭子的另一侧。她大约四五十岁,头发剪得很短,脸上有一道不易察觉的疤,从左耳延伸到下颌。

“你是谁?“陈屿的声音有些沙哑。

“我叫吴萍。“她说。

澜海科技的法人代表。

吴萍请他在亭子里的石凳上坐下。雾气把整个湖心亭包裹成一个小小的孤岛,外面的世界完全消失了。

“你的分析能力不错,“吴萍说,语气平静得像在讨论天气,“但你的行动轨迹太明显了。你在后台查了我的API接口,用了公司的内网IP。宸宇的安全团队在第二天就知道了。”

陈屿的胃一紧。“方达怎么样了?”

“方达没事,只是被’劝退’了。他拿了三个月的赔偿金,昨天已经飞回老家了。他的信用分数会被慢慢恢复——公司不需要他当反面教材,只需要他消失。”

“而你发那条短信给我——”

“是为了在你被’处理’之前,让你看到真相。“吴萍从口袋里掏出一个U盘,“这里有你需要的一切——宸宇集团的资金流向、算法操纵的证据、‘鱼跃’APP的完整用户数据滥用记录。还有一份内部分析报告,是关于’衡度’的信用评分调整对杭州各收入群体的影响。”

陈屿没有伸手。“你为什么要做这些?你是澜海科技的法人。”

吴萍沉默了一会儿。雾中传来远处船桨的声音,若有若无。

“我原来是宸宇的数据架构师,“她终于开口,“‘鱼跃’是我设计的。三年前,宸宇的董事会决定做一个社交借贷平台,目的不是赚钱,而是收集数据。我当时觉得这只是一次常规的产品开发,就做了。后来我发现——”

她停下来,深吸了一口气。

“我发现他们要的不只是数据。他们要的是控制。通过信用评分来决定一个人能住在哪里、能做什么工作、能过什么样的生活。这不是金融科技,这是——”

“数字种姓。“陈屿接了上去。

吴萍看了他一眼,目光中有一丝意外。“你知道这个词?”

“我猜的。”

“差不多。“吴萍把U盘放在石凳上,“我在石碑里藏芯片,用数学常数当地址编码,是因为宸宇的监控系统覆盖了所有数字通信渠道。邮件、即时通讯、云存储——全部在他们的视野之内。只有物理世界的东西,才能逃过他们的眼睛。”

“所以你选了湖心亭。”

“虫二。风月无边。边界之外的东西。“吴萍嘴角微微上扬,但那不是笑,更像是一种自嘲,“我知道这听起来很荒唐——用一个清代皇帝的文字游戏来对抗一个二十一世纪的数据帝国。但有时候,最古老的方法就是最安全的方法。”

陈屿拿起U盘,握在手心里。它很轻,不到十克,但它的重量足以改变很多事情。

“你打算怎么做?“吴萍问。

“我不知道。“陈屿说。这是实话。

“我给你一个建议,“吴萍站起来,拍了拍风衣上的水汽,“不要去找媒体。宸宇在杭州的关系网比你想的大得多。不要去找监管部门,他们的系统中也有宸宇的’技术顾问’。”

“那我找谁?”

“找那些被系统伤害过的人。“吴萍说,“三百万用户的信用分数被操纵了。他们不知道发生了什么,但他们感受到了结果——更高的利率、更低的额度、更少的选择。你不需要说服他们相信你,你只需要让他们相信自己的感受。”

吴萍说完,转身走向雾中。她的身影很快被水汽吞没,像一滴墨落入水中,无声地消散。

陈屿独自坐在湖心亭里,手里攥着那个U盘。雾越来越浓,连石碑上的”虫二”都开始模糊了。他想起了外婆说过的一句话:“西湖的雾啊,不是遮住你的眼睛,是让你闭上眼睛,用别的看。”

别的什么?他不知道。

但他知道一件事:他不能假装什么都没发生。

回到公司后,陈屿发现自己的工位已经被清理了。

不是被人翻过的那种混乱——是干净到可怕的整洁。键盘摆在正中间,显示器关着,椅子推回桌子下面,连他放在笔筒里的三支笔都被重新排列过了。他的笔记本电脑不见了,桌上多了一张纸条:

“请到人事部办理离职手续。——行政部”

他站在工位前,口罩下面的嘴抿成了一条线。旁边一个同事偷偷看了他一眼,又迅速移开目光。空气里弥漫着一种他太熟悉的味道——恐惧的味道。

他没有去人事部。他走出了公司大门,站在街上,抬头看着二十三楼的窗户。雾还没有散,那些窗户看起来像是一排排灰色的眼睛,冷漠地俯视着街道上的行人。

他掏出手机,打开银行APP,查了一下自己的信用分数。

742分。上周还是761分。

分数在下降。

他打开”衡度”的后台——他的权限还没有被注销——查了自己的档案。最新的变动记录是:社交关系网络分析更新,关联用户”方达”信用评分下降,导致网络风险系数上升,分数下调19分。

方达的分数下降牵连了他。这就是”衡度”算法的精妙之处——它不只评价你,它评价你的所有关系。你的朋友、你的同事、你的家人,他们的信用分数会影响你的分数。这意味着”信用”变成了一种传染性的东西,一种可以通过社交网络传播的”疾病”。

陈屿突然明白了宸宇集团的真正目的。不是为了洗钱,不是为了卖数据,甚至不是为了控制个人。而是为了建立一套完整的社会控制系统——通过信用分数的传染机制,让每个人不仅要管理自己的行为,还要监督身边所有人的行为。你的朋友如果信用分数低,你也会受到牵连,所以你会主动远离那些”低分”的人。

这就是数字种姓的终极形态:不是靠法律强制,不是靠道德教化,而是靠每个人的自利本能。当”靠近低分者会降低自己的分数”成为现实,社会就会自动完成分层——高分者和高分者聚在一起,低分者被推向边缘,中间是一道看不见但坚不可摧的数字围墙。

他开始走。没有方向,只是走。穿过雾气弥漫的街道,路过那些熟悉的商店和写字楼。每走一步,他都在想那些数字——742、761、823、897——这些冰冷的数字背后,是三百万人的人生。

他的手机又震动了。这次不是短信,是一个推送通知。来自”鱼跃”APP——他注册的那个测试账号:

“恭喜您!您的借款申请已通过审核。额度:50000元。利率:年化18.9%。点击立即到账。”

他从来没有申请过借款。

陈屿花了两天时间读完U盘里的所有文件。

吴萍收集的证据比他想象的更全面。除了”衡度”的算法操纵方案和”鱼跃”的数据滥用记录,还有宸宇集团高层的内部通信记录、资金流向分析,以及一份长达八十页的社会影响评估报告。

报告中有一组数据让他久久无法移开视线:

在”衡度”调整算法后的三个月里,杭州市18-25岁低收入群体的平均信用分数下降了22分,导致这个群体的平均贷款利率上升了1.7个百分点。以这个群体中常见的5万元三年期贷款计算,每个人平均多付的利息约为2500元。

三百万用户中,这个群体大约有45万人。

2500元乘以45万——11.25亿元。

这不是洗钱。这是一种更隐秘的财富转移。通过压低低收入群体的信用分数,提高他们的借贷成本,把他们的钱一点一点地转移到那些信用分数被抬高的人群——也就是那些已经有房有车、有稳定收入的人——手中。

从穷人手里拿钱,给富人让利。只不过这次不是通过税收、不是通过通胀、不是通过任何传统手段,而是通过一个看起来中立、客观、科学的”信用评分”系统。

算法的暴力。看不见的暴力。最有效的暴力。

他同时还发现了一些让他更不安的东西。在宸宇的内部通信中,有一段对话是这样的:

“杭州试点效果如何?” “非常理想。低收入群体分数已稳定下调,高价值客户满意度提升。建议下半年推广到南京和苏州。” “监管那边呢?” “已经沟通过了。省里的态度是’技术创新优先,风险可控即可’。” “媒体?” “不需要特别处理。目前没有记者注意到信用评分的具体参数变化。即使注意到了,也可以用’模型优化’来解释。”

读到这里,陈屿想起了吴萍的话:“不要找媒体。不要找监管部门。”

她是对的。

那么,找谁?

他想起吴萍说的:“找那些被系统伤害过的人。”

他打开了”衡度”的用户社区论坛。这是一个允许用户讨论信用分数相关话题的平台,虽然每条帖子都要经过审核,但总有一些人在上面抱怨——分数为什么突然降了、贷款为什么被拒了、利率为什么比上个月高了。

他花了整整一个晚上阅读这些帖子。大部分抱怨都是碎片化的——一个人只知道自己遇到了问题,不知道其他人也遇到了同样的问题。但如果把这些碎片拼在一起,一个清晰的模式就浮现出来了。

他开始给这些用户发私信。不是群发,而是一条一条地写,每一条都针对对方的具体情况:

“你好,我注意到你的信用分数在三个月前有一轮异常下调。这可能不是你个人的问题,而是评分系统的参数被人为调整了。我手里有一些数据可以证明这一点。如果你愿意了解详情,我们可以聊聊。”

第一天,他发了三十条私信。收到五条回复。

第二天,发了五十条。收到十二条回复。

第三天,发了八十条。收到二十九条回复。

到第一周结束时,他已经和超过一百个人建立了联系。

这些人里面有快递员、外卖骑手、小超市的老板、刚毕业的大学生、打工的单亲妈妈、退休的工厂工人。他们的故事各不相同,但有一个共同的痛点:他们的信用分数在不告知原因的情况下被降低了,而降低的后果是实实在在的——更高的贷款利率、更难租到的房子、被拒绝的信用卡申请。

一个叫李慧的女人给他留下了深刻印象。她三十四岁,离异,带着一个六岁的女儿在杭州打工。她做两份工作——白天在一家服装店当导购,晚上在一家餐厅当收银员。月收入加起来大约八千块。

三个月前,她的信用分数从685降到了621。她不知道原因。她没有逾期还款,没有新增负债,甚至没有改变任何消费习惯。但分数就是降了。

后果呢?她的房租从每月2800涨到了3500——房东查了她的信用分数,觉得她”风险较高”,要求更高的押金和月租。她原本可以用来给女儿报舞蹈课的钱,现在变成了额外的房租。

“我不明白,“她在私信里写,“我什么都没有做错,为什么分数会降?”

陈屿看着这条消息,口罩底下的嘴唇紧紧抿着。他很想告诉她真相——你的分数被人为压低了,因为你是算法定义的”低收入群体”,压低你的分数可以让系统从你身上赚到更多的利息。但这些话说出来有什么用?她能怎么办?起诉一个评分系统?告一个看不见的算法?

他发现自己陷入了一个困境:证据在手,真相在握,但找不到一个有效的出口。媒体不敢报,监管不愿管,司法系统面对算法黑箱无能为力。他可以把证据发到网上,但宸宇的法务团队会在几个小时内以”商业秘密”为由要求删帖,而他本人会面临违反保密协议的法律追诉。

吴萍在湖心亭说”找那些被系统伤害过的人”,但她没有告诉他找到之后该怎么办。

也许她自己也不知道。

又过了三天,他收到了一条来自陌生号码的微信好友请求。验证信息只有四个字:“虫二之人。”

他通过了请求。对方发来一段语音,是一个年轻男人的声音:“陈屿,我是’鱼跃’的前端开发。吴萍让我联系你。我有一些东西要给你——关于宸宇的服务器日志。“

十一

这个人叫赵翔,二十六岁,是”鱼跃”APP最初开发团队的核心成员。他在三个月前辞职了,原因和吴萍类似——他发现自己写的代码被用于他从未想象过的目的。

他们约在城北的一家老式茶馆见面。茶馆在一条拆迁了一半的巷子里,门面很小,里面的椅子都有些摇晃,墙上挂着一幅退色的山水画。老板是一个七十多岁的老太太,给他们泡了一壶龙井,然后就回里屋看电视去了。

赵翔比陈屿想象中更年轻。瘦瘦高高的,戴着一副黑框眼镜,手指上有长期敲键盘留下的薄茧。他看起来很紧张,不断回头看门口。

“吴萍被盯上了,“赵翔说,声音压得很低,“宸宇的安全团队已经锁定了她的活动范围。她随时可能被’处理’——比方达更严重的那种。”

“什么意思?”

“他们会在她的名下制造一笔更大的虚假贷款,然后报警说她涉嫌诈骗。刑事指控,不是民事纠纷。”

陈屿沉默了。

“所以我必须快。“赵翔从背包里掏出一个硬盘,“这里有’鱼跃’过去三个月的完整服务器日志,包括所有资金操作的详细记录、用户数据的访问日志,以及API接口的调用历史。这些东西加上吴萍给你的那份证据,足够构成一条完整的证据链。”

“你要我怎么用这些?”

“我不是要你怎么用,“赵翔说,“我是告诉你,这些备份——“他敲了敲硬盘,“不止一份。吴萍在石碑里藏了一份,我在三个不同的云存储服务上各存了一份,在两个物理地点也各藏了一份。即使我或者吴萍出事了,证据也不会消失。”

“你想让我分发它们。”

“我想让你做一个决定。“赵翔看着他,“你可以把所有的东西交给一个可信的独立调查记者——不是杭州本地的,是北京或者广州的,离宸宇的势力范围够远的。你可以把它们加密后放到暗网上,让任何感兴趣的人下载。你甚至可以直接发给每一个受害用户,让他们知道自己被系统性地伤害了。”

“然后呢?”

“然后——“赵翔犹豫了一下,“然后我不知道。也许什么都不会改变,也许会有一场舆论风暴然后被平息,也许……也许会有人站出来做点什么。我只是一个程序员,我不知道社会该怎么运转。但我知道一件事——真相不应该被藏在一块石碑里。”

陈屿端起茶杯,龙井已经凉了。他喝了一口,苦涩的味道在舌尖上蔓延。

“你知道’虫二’的真正含义吗?“他突然问。

赵翔愣了一下。“风月无边?”

“那只是表面。“陈屿放下茶杯,“虫二——把’风月’的边框去掉。边框是什么?是规则,是边界,是系统。去掉边框之后,剩下的就是赤裸裸的东西——风和月,真实的风和真实的月。吴萍把芯片藏在’虫二’的石碑里,不只是因为这里安全,而是因为她想告诉我们一件事:去掉系统的边框,你才能看到真实。”

赵翔沉默了很长时间。茶馆外面的巷子里,有人在搬家,搬动家具的声音在老墙上碰撞出沉闷的回响。

“那你打算怎么做?“赵翔问。

“我还没有想好。“陈屿说。这是实话。

但那天晚上回到家后,他坐在电脑前,打开了U盘里的那份社会影响评估报告,翻到了最后一页。最后一页上只有一行手写的批注,字迹潦草但有力:

“没有人应该被一个数字定义。”

他盯着这行字看了很久。然后他打开了邮箱,开始写信。

不是写给媒体的,不是写给监管部门的,不是写给任何机构的。

他写给那三百万人。

十二

陈屿花了整整一周时间撰写、修改、完善那封信。信的内容包括:

——宸宇集团通过”鱼跃”APP收集用户数据并滥用的完整说明。 ——“衡度”信用评分系统被人为操纵的具体证据和算法参数。 ——这些操纵对不同收入群体的具体影响,附上详细的数据分析和案例。 ——受影响用户可以采取的行动建议——如何查询自己的信用分数变动记录、如何提出异议、如何向消费者保护组织投诉。

他没有用真名。信的署名是”虫二”。

然后,他通过那一百多个和他建立联系的用户,开始扩散这封信。不是群发,而是像种子一样,一个一个地传递。每个人收到信后,可以转发给自己认识的、同样受到信用分数异常影响的人。

种子的传播速度超出他的预期。第一天,一百个人收到了信。第二天,这一百个人把它转发给了五百个人。第三天,五百变成了三千。一周之后,他的信以一种近乎有机的方式在杭州的打工者、年轻人、边缘群体之间蔓延开来,像一场无声的传染病。

与此同时,他也准备好了第二套方案。按照赵翔的建议,他把所有的证据材料加密后上传到了三个不同的云存储服务,密钥通过物理方式——写在纸上——分别寄给了五个不同城市的独立调查记者。只有当五个记者中的三个以上同时收到信件并确认后,密钥才会被公开。

这是一个笨拙的、原始的、完全依赖物理世界的传播系统。没有算法推荐,没有精准投放,没有任何数字痕迹可以被追踪。就像吴萍把芯片藏进石碑一样,他用最古老的方式对抗最先进的监控系统。

两周之后,第一个效果出现了。

一个叫”数字公义”的自媒体账号发布了一篇深度调查文章,标题是《你的信用分数,是谁在操控?——杭州”衡度”评分系统内幕》。文章没有署名,但引用了大量的内部数据和截图——正是陈屿的信中提供的那些材料。

文章在发布后六小时内被阅读了超过五十万次。宸宇集团在第八小时发布了辟谣声明,称文章内容”严重失实”,“系竞争对手恶意抹黑”。但评论区里,无数用户开始分享自己的经历——分数莫名下降、利率莫名上升、贷款莫名被拒。这些碎片化的个人故事汇聚在一起,形成了一股无法被单一声明压制的舆论洪流。

陈屿坐在家里的电脑前,看着屏幕上不断刷新的评论。他戴着第十五个口罩——不,是第一轮循环的最后一个口罩。明天他就要从第一个开始重新戴了。

他的信用分数已经降到了647。他注意到自己的银行卡被限额了,支付宝的花呗额度从一万二降到了三千。他租的房子,房东发来消息说下个月要涨房租,理由是”您的信用评分变动,需要重新评估风险”。

他正在成为自己调查的对象。

但他没有停下来。

十三

舆论持续发酵到第三周的时候,事情开始出现变化。

首先是杭州市地方金融监管局发布了一份公告,宣布对”衡度”信用评分系统启动专项检查。公告的措辞很谨慎——“关注到网络上关于某信用评分产品的讨论”,“将依法依规核实相关情况”——但它的存在本身就意味着宸宇的保护伞开始松动了。

然后是三家银行宣布暂停与天衡信用的数据合作。这不是出于正义感,而是出于风险控制的商业逻辑——如果”衡度”的数据确实被污染了,那么基于这些数据的信贷决策就可能存在合规风险。银行最怕的不是亏钱,而是被监管处罚。

宸宇集团的股价在一周内下跌了14%。

但真正让陈屿感到事情在起变化的,不是这些宏观层面的动静,而是一些微小到几乎可以忽略的事情。

有一天傍晚,他下楼买菜,在小区门口的便利店遇到了快递员老周。老周是一个四十多岁的安徽人,在杭州送了五年快递,皮肤被太阳晒得黝黑,笑起来露出一口烟渍斑斑的牙。

“你是那个写信用分数文章的人吧?“老周突然问。

陈屿的心跳漏了一拍。“什么文章?”

老周笑了笑,从口袋里掏出手机,屏幕上是那封”虫二”署名的信。“我老婆发给我的。我看了,写得对。我的分数三个月前降了三十多分,我一直不知道为什么。现在知道了。”

“你……打算怎么办?”

“怎么办?“老周把手机收回口袋,“我能怎么办?我就是个送快递的。但我老婆把那封信发到了她的工厂群里,她工厂里有两百多个人。有一半人的分数都降了。她们现在知道原因了。”

他拍了拍陈屿的肩膀,力道很重。“谢谢你。”

陈屿站在便利店的灯光下,看着老周骑着电动车消失在暮色中。他的口罩底下的嘴角不自觉地弯了一下。

他不知道这件事最终会走向哪里。也许监管检查会不了了之,也许宸宇会找到新的方法来平息舆论,也许一切都会回到原来的轨道上。但他知道,有些东西已经改变了——至少有几十万人知道了真相,知道了他们的信用分数不是天定的,不是客观的,不是中立的。它是一个工具,可以被用来帮助他们,也可以被用来压榨他们。

知道本身,就是力量。

十四

又过了一个月。六月末的杭州终于放晴了,雾气散去,西湖露出了它本来的面目——碧绿的水,远处青黛色的山,湖心亭在阳光下像一颗翡翠。

陈屿已经不在天衡上班了。他被正式辞退,理由是”违反公司保密协议”。他没有申请劳动仲裁——他知道那没有用。他现在靠接一些自由职业的数据分析项目维生,收入比以前少了一半,但够活。

他的信用分数降到了598。

这是他人生中第一次信用分数跌破600。在”衡度”的体系里,600以下属于”高风险”等级。这意味着他几乎不可能从任何正规金融机构获得贷款,信用卡的额度会被压缩到最低,连一些共享经济服务都会拒绝他。

讽刺的是,他是一个数据分析师,他清楚地知道自己的分数为什么这么低——不是因为他的信用不好,而是因为他的社交网络中有太多”低分”的人。他联系的这一百多个人,大多数都是信用分数被压低的受害者。在”衡度”的算法看来,和这些人建立联系本身就是一种”风险”。

他在做自己认为正确的事情,而系统在惩罚他。

这是算法的公正。

他坐在湖边的长椅上,看着湖心亭。阳光在水面上跳跃,像无数细碎的金子。他摘下了口罩——今天的雾已经完全散了,空气干净而透明。

他忽然想起了那十五个口罩。从疫情年代开始,他每天都戴着口罩出门,像一个仪式。口罩保护他不被别人看到表情,但也让他看不清自己的脸。他戴了太久了,久到有时候他会忘记口罩下面的自己是什么样子。

他拿出手机,打开前置摄像头。屏幕上出现了自己的脸——没有口罩的、完全暴露的、带着黑眼圈和胡茬的脸。他看着自己的眼睛,发现那双眼睛里有一种他以前没有见过的东西。

不是勇气。勇气是瞬间的、热烈的、容易消耗的。

是平静。一种经过了恐惧、犹豫、挣扎之后,终于接受了自己选择的平静。

他关掉手机,重新戴上口罩。不是因为害怕被看到表情,而是因为——他终于意识到——这是他的选择。十五个口罩,轮换着戴。不是因为需要,而是因为他想。这是他在这套系统中唯一保留给自己的东西:一个微小的、无意义的、完全属于自己的习惯。

远处,湖心亭的轮廓在阳光下清晰可见。石碑上的”虫二”两个字此刻一定也在阳光下闪耀着。虫二。风月无边。边界之外的东西。

他知道边界之外是什么了。

是真实。

十五

七月的某一天,陈屿收到了一个包裹。寄件人是”吴萍”,但没有写地址。

包裹里有一个U盘和一张纸条。纸条上写着:

“第二轮开始了。南京。——虫二”

他把纸条翻过来,背面还有一行小字:

“P.S. 你的信用分数会在下个月恢复。不是因为我做了什么,是因为舆论压力下,宸宇不得不’调整’算法。这不是胜利,只是一个回合。战斗会持续很久。但至少现在,有人和你在同一边。”

陈屿把U盘放进口袋,走出家门。外面是杭州的夏天,热浪从地面升腾起来,空气里弥漫着桂花尚未开放时那种隐约的甜味。

他站在街头,看着来来往往的人。快递员、外卖骑手、上班族、学生、老人。每一个人的头顶上都悬浮着一个看不见的数字——信用分数。那个数字决定了他们的利率、他们的房租、他们的选择、他们的人生。

但现在,他们中的一些人知道了。

知道一个数字可以被改写,就意味着这个数字不是命运。

而那些改写数字的人,也不是神。

他深吸一口气,走进地铁站。口袋里的U盘沉甸甸的,像一个承诺。

闸机扫了他的手机,屏幕上闪过一个提示:

“您的信用分数已更新:634。”

比上个月高了三十六分。

他戴上口罩——第十五个。下一个循环的最后一个。然后他走进了地铁的深处,被人群吞没,像一滴水汇入河流。

地铁呼啸着穿过地下隧道。车窗外是无尽的黑暗,只有偶尔闪过的灯光标记着距离。

他闭上眼睛,想起外婆的话。

“西湖的雾啊,不是遮住你的眼睛,是让你闭上眼睛,用别的看。”

他用别的看了。

他看到了。

(全文完)