林默的手指悬在键盘上方三秒,指节因用力微微发白。
手机在裤袋里的震动像根细针,扎得他后颈发紧——那条“需要帮忙”的陌生短信还躺在未读栏里,发信号码被掩码成乱码,和白裙姑娘收到的如出一辙。
“水温98度。”周晓冉突然说。
他正用棉签清理键盘缝里的咖啡粉,金属镊子在台灯下泛着冷光,“你写东西时总爱喝烫嘴的茶,王婶泡的那种。”
林默喉结动了动。
王婶的茶梗总浮在杯口,像老槐树的枝桠。
系统判定她独居老人“最优养老路径”是去郊区养老院那天,她蹲在社区公告屏前抹眼泪,公告屏上滚动着“智能化管理提升幸福指数”的标语。
他蹲下去给她递纸巾时,闻到她袖口里若有若无的茉莉花茶香。
“开始吧。”周晓冉推过一杯刚泡好的茶,杯壁上的水珠顺着他指节往下淌,“我黑了三个学校的服务器做中转,加密协议是去年黑客大赛的冠军方案,除非他们派国家级团队……”他突然噤声,因为林默已经敲下第一行字。
“我们总在等系统说‘你该这样’。”
屏幕蓝光漫过林默的睫毛。
他想起奶茶店老板娘的丈夫被系统判定“最优就业路径”去了外省,她守着空荡荡的店铺,把两人的结婚照藏在收银台最底层;想起直播姑娘举着手机问“可我们明明……”,弹幕刷着“系统不会错”刷到她镜头模糊;想起那个举着游戏手柄跑过路灯的男孩,系统说“游戏从业者失业率87%,建议转金融”。
“但系统没算过。”林默的手指越敲越快,茶雾模糊了眼镜片,“没算过老槐树影子落在哪块青石板上,王婶会坐在那等孙子;没算过凌晨三点的粥铺,老板会多给值夜班的姑娘加勺糖;没算过有人宁肯住破出租屋,也要守着楼下那只瘸腿橘猫——”
“停。”周晓冉突然按住他手背。
电脑右下角弹出红色警告,“种子文件被触发了。”他快速切换界面,监控屏上的绿色光点像活了似的,从上海跳到成都,再炸成武汉、西安的星群,“他们在抢着下载,论坛已经吵翻了,有人说这是病毒,有人说……”他突然笑出声,推眼镜的动作带歪了镜框,“有人说这是‘被系统吞掉的心跳声’。”
林默凑过去。
某技术论坛的匿名帖被顶到首页,标题是《这段代码在反编译路径系统推荐逻辑?
》,楼下回复像滚雪球:“楼主试试第17行,那串乱码看着像哈希值!”“我用大学实验室的服务器跑了,输出结果是‘人性权重0.03%’??”“靠,我邻居被系统安排去当保安,可他明明考了教师资格证……”
“该见一见这些人了。”林默关掉文档,茶已经凉透,杯底沉着几片没泡开的茶梗,“但得小心。”
周晓冉调出暗网地图,鼠标在几个高亮节点上点了点:“成都的‘0和1’,武汉的‘小数点’,还有……”他突然放大一个灰色标识,“北京的‘老周’,三年前参与过路径系统早期算法设计,后来被踢出局,最近在论坛里发过《推荐逻辑的三个致命漏洞》。”
“今晚十点,加密会议。”林默扯了扯皱巴巴的领口,这是他翻出的唯一一件没起球的衬衫,“我用‘匿名开发者’的身份。”
“变声器调好了,”周晓冉递过一个拇指大小的设备,金属外壳还带着他掌心的温度,“网络节点走了十二层代理,他们查不到Ip。对了——”他指了指林默手机,“刚才那条短信的发送端,和白裙姑娘收到的‘老地方’是同一个服务器。”
电脑屏幕突然亮起幽蓝的光。
林默深吸一口气,点击进入会议界面。
六个像素化的头像依次亮起,最右边那个标着“老周”的头像,背景是堆得齐腰高的纸质文件,其中一张飘进镜头——《路径系统情感权重参数表(内部版)》。
“各位。”林默压着变声器,声音比平时低了八度,“我们都知道系统漏算了什么。但漏算的部分……”他停顿两秒,看着“老周”的像素头微微前倾,“能成为漏洞吗?”
“当然。”左边第三个头像突然开口,是个年轻女孩的声音,背景有地铁报站声,“我黑过区政务系统,他们的‘路径反馈窗口’每天零点清空数据,所有‘不合理诉求’连存档都不留。”
“不止。”老周的声音带着沙沙的电流声,他伸手捡起一张文件,纸页摩擦声清晰得像在耳边,“早期设计时,我们想给‘情感联结’留5%的权重,能让独居老人的养老路径优先考虑社区互助,让异地夫妻的就业推荐重叠……但上线前被砍到0.03%。”他的手指关节抵着桌面,指节泛白,“他们说‘数据不会说谎’,可数据……”
“数据不会递纸巾。”林默脱口而出。
会议里突然安静。
六个像素头同时晃动,地铁报站声、键盘敲击声、远处狗吠声像被按了暂停键。
老周的像素头突然放大,他摘下眼镜擦了擦,再戴上时,镜片后的眼睛亮得惊人:“你……见过王婶?”
林默的心跳漏了一拍。
手机在裤袋里震动,这次是周晓冉发来的消息:“老周的Ip定位到朝阳区老槐树社区——和王婶同社区。”
“我们都见过。”林默按住手机,指腹隔着布料压着王婶的照片,“所以我有个想法。”他看着老周的手指无意识地敲着《参数表》,看着年轻女孩在地铁玻璃上哈出白雾写“反抗”,看着所有像素头都微微前倾,“如果我们能让‘路径反馈系统’……”
“叮——”
会议界面突然弹出红色警告,六个像素头同时暗了三个。
周晓冉的声音从耳麦里炸响:“他们在追踪!快断联!”
林默猛地点击退出键。
屏幕黑掉前的最后一秒,他看见老周在对话框里飞速输入:“明晚十点,老槐树底下——”
手机在掌心震动。
这次是白裙姑娘的消息,附带一张照片:老槐树下的石凳,凳面刻着模糊的“默”字,是他初中时和王婶孙子刻的。
窗外起风了。
林默走到窗边,路灯下那个举游戏手柄的男孩又跑过,这次他背上多了张纸条,被风吹得翻卷——上面是他刚写的宣言里的一句话:“被系统吞掉的,我们自己捡回来。”
“需要回老槐树吗?”周晓冉收拾着设备,键盘缝里的咖啡粉被他用胶带粘得干干净净,“老周可能知道更多内部信息,白裙姑娘……”
“明晚十点。”林默把手机壳里的照片摆正,王婶的笑在塑料膜下清晰了些,“去看看,系统漏算的5%,到底藏在哪。”
他转身时,电脑屏幕自动亮起,暗网论坛的新帖标题在闪烁:《“匿名开发者”提出关键问题:路径反馈系统的漏洞能否成为突破口?
》
月光漫过键盘,照见他刚敲下的最后一行字:“我们要的不是推翻系统,是让系统学会——”
学会看见,那些被数据吞掉的,人心本来的样子。
当加密会议界面的像素头像重新亮起时,林默的喉结动了动。
他能听见自己太阳穴突突跳动的声音——刚才被切断的对话像根刺扎在神经里,老周那句“明晚老槐树”还在手机备忘录里发烫,此刻却必须先把浮在喉咙口的计划吐出来。
“我有个具体方案。”他压低变声器的声音,指节无意识地摩挲着手机壳边缘的裂纹——那是上周替王婶修老花镜时撞在桌角留下的。
六个像素头像同时晃动,老周的背景里传来纸张窸窣声,年轻女孩的地铁报站声突然变远,应该是她把手机贴紧了耳朵。
“路径反馈系统每天零点清空数据。”林默盯着屏幕上跳动的字符计数,那是周晓冉实时标注的会议安全剩余时间,“但清空前,系统会生成一份‘异常反馈日志’,通过内部接口传给算法部门。如果我们能在日志生成前,往反馈窗口里植入……”他顿了顿,想起昨晚蹲在奶茶店后巷,用偷连的wi-Fi翻阅了二十份系统运维手册,“植入一个‘自由路径模拟器’。”
“模拟器?”老周的声音突然提高,纸张哗啦作响,“你是说让居民输入他们的需求,模拟器用系统底层算法反向推算未被推荐的路径?”
年轻女孩的背景中传来急促的键盘敲击声:“我现在用区政务系统测试!输入‘想留在本地当老师’,系统原本的路径是‘建议转岗保安’,模拟器……”她倒吸一口气,“输出了三个选项!公立学校代课、教育机构辅导、自考编制——虽然概率只有12%,但确实存在!”
“但权限呢?”左边第二个头像开口,是个带方言尾音的男声,背景中有机器轰鸣声,“政务终端有三重验证,我们无法入侵。”
林默从口袋里掏出皱巴巴的薄荷糖纸——那是王婶塞给他的,说“年轻人熬夜要提神”。
他捏着糖纸边缘,触感就像王婶布满皱纹的手背:“不需要入侵。上周我帮社区修打印机,发现反馈窗口的输入框支持htmL注入。只要在居民提交反馈时,同步发送一段脚本……”
周晓冉的声音突然从耳机里炸开,带着电流杂音:“检测到三级警报!系统防火墙正在扫描会议节点,他们定位了成都和武汉的代理!”
林默的瞳孔急剧收缩。
他看到年轻女孩的像素头像猛地一晃,地铁报站声变成了刺耳的蜂鸣声;老周的背景中,堆积如山的文件被撞得四处乱飞,一张《参数表》飘到镜头前,“情感权重0.03%”的红章格外刺眼。
“听我说!”林默的手指重重地敲在桌子边缘,变声器都无法掩盖声音的颤抖,“模拟器代码我会上传到暗网‘小数点’服务器,武汉的朋友负责植入社区终端,北京的老周……”他盯着老周像素头像后面摇曳的老槐树叶的影子,“你帮我获取反馈窗口的实时接口地址。”
“收到。”老周的声音突然镇定下来,纸张翻动声中夹杂着打火机的轻响,“我这就翻出当年的运维日志,接口地址应该在……”
“林默!”周晓冉的尖叫穿透耳机,“西安节点被攻破了!他们最多还有三十秒就能定位主服务器!”
林默的手指在键盘上飞舞,将压缩包拖进传输框。
蓝色进度条跳到99%时,他按下发送键,屏幕右下角弹出“传输完成”的提示。
“真正的选择,不是被安排的,而是被争取的。”他对着麦克风说完最后一句话,猛地切断会议。
电脑屏幕瞬间变黑,只有电源灯还在疯狂闪烁,就像王婶家那盏总是闪烁的旧台灯。
“走!”周晓冉扯下耳机,键盘被他推得滑出半尺,“去我租的仓库,那里有离线服务器。”他抓起背包时,金属镊子“当啷”一声掉在地上——那是他刚清理完键盘的工具,现在还沾着咖啡渣。
林默弯腰捡起镊子,指腹拂过冰冷的金属,突然想起王婶总是说“旧物要收好,说不定哪天就用得上”。
他把镊子放进裤兜,跟着周晓冉冲进夜色。
当仓库的铁皮门在身后重重关上时,凌晨两点的风灌进领口。
周晓冉的笔记本电脑已经亮起,蓝色的光让他眼下的黑眼圈更加明显:“模拟器需要挂载到二十七个社区终端,我黑了三个快递员的账号,用运货车的移动网络作为跳板……”
“先挂载老槐树社区。”林默扯下变声器,声音沙哑得像砂纸,“王婶的反馈窗口,我要第一个测试。”
键盘敲击声在空旷的仓库里回荡。
林默盯着屏幕上跳动的Ip地址,数到第七个“老槐树社区政务终端”时,红色提示突然弹出:“挂载成功!”
他掏出手机,打开与王婶的聊天窗口——最后一条消息是三天前,“小默,我孙子说要从外地回来看我,系统却让我去养老院,你说这事儿……”
手指在发送键上悬停了三秒,他输入:“王婶,试试在反馈窗口输入‘想等孙子回家’。”
按下发送键的瞬间,仓库的应急灯突然亮起。
周晓冉猛地抬头,监控屏幕上的绿色