名单
傍晚六点,陈平坐在老林叔家的工作台前,盯着平板电脑上十七个人的资料。
十七张照片,十七段被系统标记的人生。
最上面是个六十多岁的黑人妇女:艾达·华盛顿。慢性肺纤维化,医疗债务一万二,信用分23。照片里的她坐在轮椅上,背后是廉价公寓的灰色墙壁,脸上有一种认命的平静。
第二个是拉美裔中年男人:卡洛斯·门德斯。工地事故导致脊椎损伤,失去工作能力,三个孩子,妻子在便利店打工。医疗债务八千七,信用分19。
第三个、第四个、第五个……
每个人都有自己的病痛、债务、和在系统评估中不断下降的“价值评分”。在维塔企业的算法里,他们都被标记为“高性价比样本”——治疗成本远超预期收益,但器官和组织的研究价值可观。
“这份名单是怎么筛选出来的?”老林叔站在他身后,独眼盯着屏幕,“看起来……太精准了。”
“算法。”陈平滑动页面,调出一份他从维塔企业服务器残存数据中恢复的文件,“根据公开医疗记录、信用评分变化、家庭财务状况、甚至社交媒体情绪分析……系统会自动标记那些‘临终期可预测且无反抗能力’的个体。”
文件里有一个复杂的评分公式:
【样本价值=(器官健康指数 x 0.4)+(研究稀缺性 x 0.3)+(采集便利性 x 0.2)-(潜在风险 x 0.1)】
采集便利性,指的是“患者是否容易接受协议劝导”。
潜在风险,指的是“家属或社会关注度”。
艾达·华盛顿的采集便利性评分:9.2/10(独居,无子女,社交孤立)。
卡洛斯·门德斯的潜在风险评分:3.1/10(家庭负担重,无暇他顾)。
冰冷的数字,决定生死的公式。
“他们计划下周开始‘劝导’。”陈平关掉文件,“一旦协议签署,这些人就会被转移到所谓的‘关怀中心’,开始‘预处理’——实际上是用药物维持生命体征,同时准备器官摘除。”
老林叔沉默了很久,最后说:“你打算怎么做?一个个去警告?平娃子,这份名单上有十七个人,分布在布鲁克林六个不同的街区。你只有不到一周时间。而且就算你找到他们,他们凭什么信你?”
“那就给他们看证据。”陈平从背包里掏出那个条形码扫描器,调出在码头区拍到的模糊照片,“看这份名单本身。看维塔企业和血牙帮的交易记录。”
“交易记录?”老林叔皱眉,“你拿到了?”
“没有。”陈平说,“但我们可以伪造。”
他转向电脑,打开一个编程界面。这是老林叔教他的基础数据伪造工具——原本是用来测试扫描器功能的,但现在有了别的用途。
“维塔企业的内部交易记录都有固定格式。”陈平调出昨晚从数据流中记忆的模板,“日期、样本编号、分级、价格、经手人……如果我们能伪造一份看起来真实的交易记录,附上这份名单,发给这些人……”
“风险太大了。”老林叔摇头,“一旦被维塔企业发现你在伪造他们的文件,他们会动用一切手段让你消失。这已经不是修改条形码那种小打小闹了。”
陈平的手指停在键盘上。
他知道老林叔说得对。从修改氧气瓶条形码,到伪造企业交易记录,这是质的飞跃。前者是钻系统漏洞,后者是直接攻击系统核心。一旦被发现,后果不堪设想。
但如果不做呢?
他看着屏幕上艾达·华盛顿的照片。这个老人下周二就会接到“关怀顾问”的电话,用温柔的语气告诉她:签了这份协议,你的医疗债务可以减免,你会得到更好的照顾,你的生命会以另一种方式延续。
她会签的。因为她别无选择。
就像父亲差点签了一样。
“老林叔。”陈平转过头,“你还记得我爹说过什么吗?他说,他宁可烧成灰撒海里,也不让那些穿白大褂的畜生动他的身子。”
老人独眼闪烁:“我记得。”
“这些人……”陈平指着屏幕,“他们可能连选择烧成灰的机会都没有。系统不会给他们选择。它会包装成‘关怀’,包装成‘帮助’,包装成‘唯一出路’。然后在他们签字的瞬间,他们就不再是人,是‘可回收资源’。”
他深吸一口气:“我不能一个个去找他们。但我可以把真相扔进系统里,让它在底层炸开。让所有快被逼到绝路的人都知道——签字不是出路,是更快地进屠宰场。”
老林叔盯着他看了很久,最后叹了口气:“你需要我做什么?”
“两件事。”陈平说,“第一,帮我完善这份伪造的交易记录。要足够真,能通过初步审查。第二,我需要一个无法追踪的发送渠道。不能从我这里发出,也不能从你这里。”
“你想从哪里发?”
陈平调出另一个窗口——那是他从码头区的数据流中捕捉到的信息:
【维塔企业内部通讯节点:行政部二级服务器(IP: 172.16.8.43)】
【安全等级:中等(主要用于非敏感文件分发)】
【漏洞:每周三凌晨3-4点系统维护期间,防火墙规则临时放宽】
“从这里发。”陈平指着那个IP地址,“伪造成内部行政通知,发给名单上所有人的社区联络员——米勒那种人。让他们‘提前准备协议劝导材料’。”
老林叔的独眼睁大了:“你疯了吗?黑进维塔企业的服务器?”
“不是黑进去。”陈平说,“是利用他们的发送系统。那个服务器每天要发几百封邮件,多一封‘内部通知’不会立刻被发现。等他们发现的时候,邮件已经发出去了。”
“但你怎么——”
“明天是周三。”陈平打断他,“凌晨三点到四点,系统维护。那个时间段,很多安全检测会关闭。如果我们能在那个窗口期,把伪造的文件上传到服务器的待发送队列……”
他没说完,但老林叔懂了。
“需要物理接近。”老人说,“那个服务器在维塔企业布鲁克林分部大楼里。你需要进去。”
“我知道。”陈平调出大楼的安防图——这也是数据流提供的碎片信息,“地下一层,数据中心。门禁需要员工卡,但维护期间会有技术人员进出。而且……”
他放大地图的一个角落:“大楼后面有个老通风管道,直通地下室的设备间。管道入口在巷子里,被铁丝网封着,但铁丝网锈了。”
老林叔盯着地图,又看看陈平,最后说:“你什么时候计划的这一切?”
“从看到那份名单开始。”陈平关掉所有窗口,“老林叔,我不只是在救这十七个人。我在测试系统的反应。如果这份伪造的通知能顺利发出,如果它能引起混乱,那就说明系统有漏洞——大漏洞。我们可以用同样的方法做更多事。”
“如果失败呢?”
“那至少我试过了。”陈平站起身,“比等着系统来收我爹的器官强。”
工作台陷入沉默。窗外天色完全暗了,街灯一盏盏亮起。远处传来警笛声,忽远忽近。
“你爹知道吗?”老林叔突然问。
“不知道。”陈平说,“也不能让他知道。”
老人点点头,拉过椅子坐下:“好。我帮你。但平娃子,你听我说——这是最后一次。这次之后,无论成不成,你必须离开布鲁克林。带着你爹,走遗忘码头那条路,离开这里。”
陈平没有答应,也没有拒绝。
他只是说:“先做完这次。”
凌晨两点四十分,陈平站在维塔企业布鲁克林分部大楼后面的巷子里。
这是一栋十二层的玻璃幕墙建筑,即使在深夜,也有几层亮着灯——研发部门的人在加班。大楼正门有安保,但后巷空无一人,只有几个溢出的垃圾桶和流浪猫的影子。
陈平穿着深色连帽衫,背包里装着老林叔准备的设备:一个改装过的平板电脑(载有伪造文件和上传脚本)、信号探测器、干扰贴片、还有一套简易的攀爬工具。
他找到那个通风管道入口——在巷子尽头的墙根下,被生锈的铁丝网封着。铁丝网用四颗螺栓固定,但螺栓已经锈得差不多了。
陈平从背包里掏出扳手,开始拧。螺栓发出刺耳的摩擦声,在寂静的夜里格外清晰。他停下手,屏息倾听——没有动静。
继续。第一颗螺栓松了,第二颗,第三颗……第四颗锈死了,拧不动。
他换了个角度,用力。扳手打滑,手背撞在墙上,擦破皮。再试。螺栓终于动了,但只转了半圈,又卡住。
时间在流逝。已经两点五十二分了。
陈平咬咬牙,从背包里拿出那根生锈的铁管,插进铁丝网和墙面的缝隙,用力撬。金属变形的声音,铁丝网被撬开一个缺口,刚好够一个人钻进去。
他把工具塞回背包,俯身钻进管道。
里面一片漆黑,弥漫着灰尘和霉菌的味道。管道直径约六十厘米,勉强能爬行。陈平打开平板电脑,调出大楼结构图——老林叔根据公开资料和残存数据拼凑的。
通风管道通往地下室设备间,那里是中央空调的主机所在地。从设备间可以进入数据中心的走廊。
他打开手电筒(平板背面的LED灯),开始爬行。
管道内壁上积着厚厚的灰尘,每动一下都会扬起。陈平尽量压低身体,避免发出声音。爬了大约二十米,前面出现岔路——一条向上,一条继续向前。
结构图显示:向前是设备间,向上是办公区。
他选择向前。
又爬了十米,管道开始向下倾斜。坡度很陡,他差点滑下去,及时用手肘撑住。手肘磨破了,火辣辣地疼。
终于,前面出现了光亮——一个通风口的格栅,透出下面房间的灯光。
陈平爬到格栅边,透过缝隙往下看。
是设备间。很大,布满管道和机器。房间一角有几个机柜,闪着指示灯——那是大楼的部分网络设备。房间另一头有扇门,门上贴着“数据中心——授权人员进入”。
房间里没有人。但墙上有监控摄像头,镜头缓慢转动。
陈平看了一眼时间:三点零七分。
系统维护应该已经开始了。理论上,监控系统会进入“日志记录模式”,画面仍然录制,但安保不会实时查看——除非触发警报。
他需要先确认。
从背包里拿出信号探测器,对准下方的房间。屏幕显示:
【无线网络:VitaCorp_IT_Maintenance(开放)】
【监控系统状态:活跃(未检测到实时流传输)】
【运动传感器:2个(状态:待机)】
开放网络?这很奇怪。企业内部的维护网络通常有加密。
陈平皱眉,试探性地连接那个WiFi。不需要密码,直接连上了。他快速扫描网络内的设备,发现了几台电脑的IP,都在同一个子网里。
其中一台电脑的共享文件夹是开放的。陈平点进去,看到一堆技术文档和日志文件。最新的一份日志更新时间是……三分钟前。
有人在附近。
他立刻断开连接,关掉平板的手电筒,屏住呼吸。
几秒后,设备间的门开了。两个穿着灰色工装的技术人员走进来,手里拿着平板电脑和工具箱。
“又是空调主机报警。”一个年轻的声音抱怨,“这破机器该换了。”
“预算没批。”另一个年长些的声音说,“凑合用吧。检查完这个,三点半去数据中心重启备用服务器。”
两人走到空调主机前,开始检查。陈平躲在通风管道里,一动不动。
时间一分一秒过去。三点十九分。
技术人员还在忙碌。陈平看着平板上显示的时间,心跳加速。维护窗口只有到四点,他必须在那之前进入数据中心,上传文件。
终于,年轻技术人员说:“好了,报警解除了。走吧,去数据中心。”
两人收拾工具,走向那扇“数据中心”的门。年长的技术员刷卡,门开了,两人进去,门在身后关闭。
陈平等了十秒,确定没有其他人进来,然后开始行动。
他用工具卸下通风口的格栅——四个螺丝,这次很顺利。把格栅轻轻放在一边,他从管道里爬出来,落在设备间的地面上。
脚落地时发出轻微的声音。他立刻蹲下,看向监控摄像头——镜头还在缓慢转动,没有对准他这个方向。
他快步走到数据中心门口。门边有个刷卡器,旁边还有键盘——需要工牌和密码。
陈平从背包里拿出一个巴掌大的设备——这是老林叔临时改装的,理论上可以模拟刷卡信号,但需要知道工牌的编码。
他刚才看到技术人员用的是蓝色工牌。维塔企业的工牌编码有规律:前两位是部门代码(IT部是07),中间四位是员工编号,最后两位是校验码。
但具体编号是多少?
陈平把探测器对准刷卡器,记录下它发出的信号特征。然后,他开始尝试。
老林叔的模拟器可以生成不同的编码,逐一测试。第一次:070001——无效。第二次:070002——无效。
时间跳到三点二十七分。
第三次、第四次、第五次……都无效。
陈平额头渗出冷汗。这样试下去,可能触发警报。
他停下来,重新思考。刚才那两个技术员,看起来像是夜班维护人员。他们的工牌编号可能比较靠后。维塔企业在布鲁克林分部有几百名员工,IT部也许有几十人。
他从中间开始试:070100——无效。070200——无效。
三点三十三分。
门外突然传来脚步声。
陈平一惊,立刻躲到最近的机柜后面。设备间的门开了,又是那两个技术员——他们忘了拿工具包。
“我就说忘了什么。”年轻技术员拿起地上的工具箱,“快点,还有二十分钟要重启服务器。”
两人再次离开。
陈平从机柜后出来,心跳如鼓。时间更紧了。
他看着刷卡器,突然想起一件事——数据流里好像有关于门禁系统的信息。他闭上眼睛,集中精神,尝试主动连接。
后脑传来熟悉的抽痛,但这次他忍住了。淡蓝色的数据流在视野中浮现:
【门禁系统日志(最近24小时)】
【21:47 -卡号070415 -进入- IT部夜班维护员(杰森·米勒)】
【22:33 -卡号070415 -离开】
【03:21 -卡号070415 -进入】
【03:25 -卡号070415 -离开】
卡号070415。
就是刚才那个年轻技术员。
陈平睁开眼睛,快速在模拟器上输入这个编码,按下生成键。
模拟器发出轻微的嗡鸣,指示灯变绿。
他把设备贴近刷卡器。
“嘀——”
绿灯亮起。门锁开了。
陈平推开门,闪身进入。
数据中心比想象中小。大约一百平米,两排机柜整齐排列,发出低沉的嗡鸣声。灯光是冷白色,温度明显比外面低。
墙上有大屏幕,显示着服务器状态图。一切正常。
陈平快速找到老林叔说的那台服务器——行政部二级服务器,机柜标签上写着“Admin_Secondary”。他打开机柜门,服务器正面有一排USB接口。
他从背包里拿出那个改装过的平板,接上数据线,插入USB口。
平板屏幕亮起,开始自动运行上传脚本。进度条缓慢前进:10%...20%...
还有十九分钟维护窗口结束。
进度条到50%时,门外突然传来声音——是那两个技术员又回来了,正在门外说话。
“重启程序已经准备好了。三分钟后开始。”
“这次要多久?”
“十分钟左右。所有非核心服务会暂时中断。”
陈平心脏狂跳。如果服务器重启,他的上传会中断,文件可能损坏,甚至被发现。
进度条:65%...70%...
他盯着屏幕,手心出汗。
门外,技术员刷卡的声音传来——“嘀”。
门开了。
陈平想都没想,闪身躲到最近的机柜后面。两个技术员走进来,径直走向另一排机柜——那是主服务器。
“开始吧。”年长技术员说。
年轻技术员在控制台上操作。几秒后,房间里的灯光闪烁了一下,服务器的嗡鸣声发生了变化——频率降低,像是进入了低功耗状态。
陈平看了一眼平板:85%...90%...
快点。再快点。
“奇怪。”年轻技术员突然说,“行政部二级服务器怎么有活动指示灯在闪?这个时间段不应该有数据读写。”
陈平心脏停跳了一拍。
年长技术员走过来,看向那台服务器:“我看看。”
他走到机柜前,弯腰查看。陈平躲在机柜后面,距离他不到两米。
进度条:95%...96%...
“确实有活动。”年长技术员伸手要拔数据线——
97%...98%...
陈平从机柜后冲出来,一掌劈在技术员后颈。他没练过格斗,但用了全力。技术员闷哼一声,向前栽倒。
年轻技术员惊叫:“你是谁——”
陈平已经扑到他面前,用手肘撞向他的腹部。技术员弯腰痛呼,陈平抓住他的头发,往机柜上猛撞。
咚。技术员瘫软下去。
陈平喘着粗气,回头看平板——
100%。
【上传完成。文件已加入待发送队列,预定发送时间:06:00。】
成功了。
他拔出数据线,把平板塞回背包,看了一眼倒在地上的两个技术员——都在呼吸,只是昏过去了。
但他没有时间庆幸。服务器马上就要重启,安保系统很快会发现异常。
他冲向门口,刷卡开门,冲进设备间。没有走通风管道——太慢了。他直接跑向设备间的另一扇门,那是通往一楼走廊的。
门没锁。他推开门,外面是昏暗的走廊,两侧是办公室的门。
陈平沿着走廊奔跑,找到楼梯间,向上爬。他需要离开大楼,现在。
刚爬到二楼,整栋楼的灯光突然全部熄灭,陷入黑暗。紧接着,应急照明灯亮起,发出暗红色的光。
警报响了。
不是火警,是安全警报——刺耳的电子蜂鸣声,响彻整栋大楼。
“安全事件!所有人员留在原地!重复,所有人员留在原地!”广播里传来机械的男声。
陈平加快速度,冲向三楼的窗户——那里有个消防逃生梯,地图上标注过。
他推开窗户,冷风灌进来。消防梯锈迹斑斑,但他没有选择。他翻出窗户,踩在梯子上,开始向下爬。
梯子发出不堪重负的嘎吱声。爬到一半时,他听到楼上窗户被推开的声音,有人大喊:“在那边!”
陈平跳下最后几级梯子,落地时脚踝再次剧痛——还是码头区受伤的那只脚。他踉跄了一下,咬牙站稳,朝着巷子口狂奔。
身后传来追赶的脚步声和喊声。不止一个人。
他冲出巷子,来到大街上。凌晨的街道空无一人,只有远处偶尔驶过的车灯。
往哪跑?回家?不行,会暴露。
老林叔家?也不行。
他想起一个地方——码头区。那里地形复杂,集装箱堆得像迷宫,容易躲藏。
陈平拐进另一条巷子,抄近路往码头区跑。脚踝每跑一步都像针扎,但他不敢停。身后的脚步声时远时近,追兵没放弃。
他跑到码头区边缘,翻过铁丝网——这次找了个破损的缺口。落地时,脚踝终于撑不住了,他摔倒在地,痛得眼前发黑。
不能停。
他挣扎着爬起来,一瘸一拐地钻进集装箱堆的迷宫。
在里面转了十分钟,终于听不到追赶的声音了。他躲进两个集装箱之间的缝隙,用废木板挡住入口,然后瘫坐在地,大口喘气。
安全了。暂时。
他从背包里掏出平板,连接上老林叔设置的加密通信频道。
“老林叔。”他压低声音。
“平娃子!”老林叔的声音立刻传来,充满焦急,“你怎么样?维塔大楼那边出事了,新闻都在报‘安全漏洞’!”
“我没事。”陈平说,“文件上传成功了。预定早上六点发送。”
“你……你进去了?”
“进去了。也出来了。”陈平顿了顿,“但打昏了两个技术员。安保系统启动了。”
老林叔沉默了几秒:“他们会查。会查所有监控,会分析数据,会追踪到你。”
“我知道。”陈平说,“所以我要消失了。至少几天。”
“你爹怎么办?”
“你帮我照顾他。”陈平说,“告诉他,我找到临时工作,要外出一周。别让他担心。”
“你去哪?”
陈平看了一眼周围堆积如山的集装箱:“码头区。这里有很多废弃的集装箱,可以藏身。而且……我想查查维塔企业在这里到底存了什么。”
“太危险了。血牙帮的人可能还在找你。”
“他们也在找。”陈平说,“但这里是最好的藏身地。他们想不到我还敢回来。”
老林叔叹了口气:“需要我给你送东西吗?食物?药?”
“明天晚上。”陈平说,“码头区西侧,第三个龙门吊下面。我会在那里等你。”
“好。你小心。”
通话结束。
陈平关掉平板,在黑暗中蜷缩起来。脚踝的疼痛一阵阵袭来,手掌和手臂的擦伤也在灼烧。他检查了一下伤口——不算严重,但需要处理。
他从背包里翻出半瓶水和一块还算干净的布,简单清洗伤口,然后用布条包扎。
做完这些,他靠在冰冷的集装箱壁上,看着缝隙外渐渐泛白的天空。
凌晨四点三十七分。
距离伪造文件发送,还有一个多小时。
距离系统发现他的入侵,可能更快。
距离他被抓住……不知道。
但至少,他做了点什么。
陈平闭上眼睛,试图休息。但脑子里全是刚才数据中心的情景——那两个技术员倒地的样子,服务器闪烁的指示灯,警报的蜂鸣声。
他想起父亲说过的话:“平儿,别变成他们那样。”
他没杀人。只是打晕了。但这算不算“变成他们那样”?为了救十七个陌生人,伤害了两个无辜的技术员?
他不知道。
在这个世界里,或许根本没有干净的选择。只有不那么脏的。
远处传来货轮的汽笛声,悠长而苍凉。
陈平在疼痛和疲惫中,渐渐睡去。
梦里,他看见那十七个人收到邮件,看见他们震惊的脸,看见他们撕毁协议,看见他们……活下来了。
然后他看见米勒站在他面前,说:“你以为你在救人?你只是在加速他们的死亡。”
他惊醒了。
天已经亮了。缝隙外透进灰白的光。
陈平看了眼时间:早晨五点五十八分。
他坐起来,打开平板,连接上一个公开的邮件服务器监控页面——这是老林叔教他的,可以实时查看特定邮件的发送状态。
页面刷新。
【发送队列处理中……】
【邮件#1:发送至 ada.washington@brooklyncomm.net—状态:已发送】
【邮件#2:发送至 carlos.mendez@brooklyncomm.net—状态:已发送】
【邮件#3……】
【邮件#4……】
一封接一封,十七封邮件全部显示“已发送”。
成功了。
陈平盯着屏幕,心脏在胸腔里重重跳动。十七个警告,十七个真相炸弹,已经投进了系统的邮箱里。
接下来会发生什么?那些人会相信吗?会反抗吗?还是会把邮件当成垃圾删掉?
他不知道。
但他知道,从现在开始,维塔企业会知道——有人闯进了他们的服务器,窃取了他们的名单,还伪造了他们的内部通知。
他们会追查。会动用一切资源。
而陈平,这个信用分18、父亲病重、住在贫民窟的十七岁少年,刚刚成了他们必须找到的目标。
他关掉平板,把它塞进背包最深处,然后,他透过缝隙看向外面的世界。
晨光中的码头区,起重机缓缓转动,货船缓缓靠岸,工人们开始新一天的劳作。一切看起来那么正常。
但在那正常的表层之下,一场风暴正在酝酿。
陈平摸了摸靴筒里的美工刀,刀还在,他也还在。
