电缆井里的黑暗不是绝对的。每隔十几秒,头顶的通风管道接口处会漏下一缕灰白色的晨光,在布满灰尘的金属壁上投出一道倾斜的光柱,然后迅速消失。雷恩在狭窄的通道中向前爬行,手掌下是冰冷的钢板和多年积累的细密尘垢,膝盖每挪动一步都能听到关节发出的低沉响声。
福斯特在他前方大约三米的位置,移动硬盘用胶带固定在他工作服的内侧口袋里,每当他的身体擦过管道壁时都会发出轻微的刮擦声。科尔文在最后面,他在进入电缆井之前拉上了维护隔间的盖板,此刻正用自己的背部挡住通道入口,每隔几秒回头看一眼身后的黑暗。
通风管道在他们上方分出三个岔口。福斯特在岔口处停下来,从口袋里掏出一张被折叠成方块的纸——那是他用三十秒时间在离开前从主机房墙上撕下来的大楼管道分布图。他借着通风口漏下的微光找到了他们所在的位置,然后用手指在纸上划出一条线。
“北侧出口在这个方向。向前大约五十英尺,有一个垂直检修井,爬上去就是停车场北侧的绿化带。”他把图纸塞回口袋,“但应急小队的车辆停在停车场南侧。从北侧出去,我们需要穿过整片绿化带和一条四车道公路才能进入最近的建筑——萨克雷基金会儿童医院。”
雷恩在黑暗中思考着这个路线。萨克雷基金会儿童医院。那是希望之心计划的一部分,是薇薇安生前建立的最后一座康复中心的分支机构。在数据包公开之后,那家医院将是整个城市里对萨克雷这个名字最敏感的地点之一。
“到了医院之后呢?”
“医院的地下室有独立的网络机房,连接到奥罗拉智能的备份服务器。”福斯特说,“我在五年前帮他们设计网络架构时留了一个物理访问端口。如果我能进入那个机房,我可以用备份服务器继续监控公开数据包的状态,确认所有十七个目标节点是否都成功接收。”
“然后联系陈警官和哈里森。”雷恩说,“韦勒和帕里什的应急小队行动需要法律授权文件。如果数据包已经公开,那些授权文件的合法性将在接下来的几十分钟内被质疑。我们需要确保在他们还拥有行动能力的时候,有人知道我们在这栋楼里看到了什么。”
科尔文在后面发出了一声低沉的笑。那笑声在狭窄的管道里听起来空洞而苦涩。“你们知道最讽刺的是什么吗?我花了三年时间同时帮福斯特和阿利斯泰尔,以为自己在维持某种平衡。但平衡从来不存在。只是两边的砝码一直没被人看到。”
“现在被看到了。”福斯特头也不回地说,然后继续向前爬去。
垂直检修井在管道尽头。那是一段锈迹斑斑的铁梯,向上延伸大约二十英尺,顶端是一块圆形铸铁井盖。福斯特第一个爬上去,用手掌顶住井盖,缓慢地推开一条缝隙。冷空气从缝隙中涌入,带着外面世界特有的气味——潮湿的泥土、汽车尾气、割过的草坪。他在缝隙中观察了几秒钟,然后完全推开井盖,翻身爬了出去。
雷恩跟在后面。当他从井口探出头时,清晨的光线刺得他眯起了眼睛。萨克雷大楼在他身后矗立,玻璃幕墙上的水渍在晨光中反射出一道道不规则的亮纹,像是某种巨大的、被撕裂的银箔。绿化带的草坪上覆着一层薄薄的霜,在朝阳下泛着白色的微光。
陈警官的电话在雷恩手机恢复信号的第一秒就打了进来。她的声音因为长时间没有合眼而嘶哑,但语速快得几乎不需要换气:“你在哪里?大楼外面的所有出口都被封锁了,哈里森的人被拦在警戒线外面,说是应急管理办公室的网络安全事件管辖权限高于市警局。我联系不到你,联系不到朱利安,整个大楼的信号被屏蔽了——”
“屏蔽解除了。”雷恩打断她,“听我说。应急小队的调令来自马库斯·韦勒,授权文件可能由埃德温·帕里什法官签署。这两个人都与后门计划有直接关联。他们的目标不是调查,是删除证据。数据包已经发送,但韦勒和帕里什还不知道。他们现在在主机房里,带走了阿利斯泰尔和朱利安。”
电话那头沉默了不到一秒,然后陈警官的声音重新响起,声调变了——不再是焦虑,而是一种雷恩熟悉的、她在纵火案中做出关键判断时特有的冷静:“帕里什法官的授权在法律上依赖一个前提,即大楼内存在‘正在进行的、对城市基础设施的迫在眉睫威胁’。如果数据包已经公开,这个前提就不存在。你给我十分钟,我可以拿到数据包内容的副本,提交给联邦检察官办公室,申请紧急撤销帕里什的授权。”
“你有数据包接收权限吗?”
“没有。但我有你的书房钥匙。你的电脑设置了自动同步所有案件文件的云端备份。如果数据包被发送到了十七个目标节点,其中至少有一个——联邦司法部的服务器——会在接收后生成自动回执。我可以从回执反向追踪到数据包的内容摘要。”陈警官停顿了一秒,“前提是,你允许我进入你的书房。”
“钥匙在门廊花盆下面。第三块砖。”
陈警官挂断了电话。雷恩将手机放回口袋,转身看向儿童医院的方向。那栋建筑距离绿化带边缘只有不到三百英尺,浅蓝色的外墙上画着卡通云朵的图案,在清晨的阳光下显得与整个局势格格不入。
他们穿过公路时,福斯特突然停下脚步。他站在公路中央的双黄线上,目光固定在医院大楼的某个窗口上。那扇窗户位于三楼最左侧,窗帘拉了一半,透过玻璃可以看到一个模糊的人影——一个穿着白大褂的身影,正站在窗前低头看着手里的什么东西,也许是手机,也许是病历。
“那是医院的数据中心楼层。”福斯特说,“那间房间是服务器机房。”
“你怎么知道?”
“因为窗帘。”福斯特指着那扇窗户,“医院的标准窗帘是浅绿色。但那扇窗的窗帘是深灰色——机房专用的遮光帘。我在五年前亲自安装的。”
他们穿过医院大门时,没有任何人阻拦。候诊大厅里零星坐着几个早起挂号的患者,没有人注意到三个满身灰尘、从侧门溜进地下楼梯间的人。地下室的网络机房门上装着一把电子密码锁,福斯特输入了一串数字——薇薇安的生日,倒过来——门开了。
机房内部很小,只有两排标准机柜。福斯特迅速连接到备份服务器,屏幕亮起时,他发出了一个让雷恩意外的声音——不是松了一口气,而是困惑。
“公开数据包的传输日志显示全部十七个目标节点都已成功接收。但有一个异常——第十七个节点,标注为‘全球媒体联合通讯社’,在接收后三十秒内又向外发送了十七个新的数据请求。每个请求指向一个不同的次级目标。”
“这意味着什么?”
“意味着有人——也许是通讯社的编辑,也许是别人——在看到数据包内容后,决定继续传播。他们没有只转发给高层,他们在向下游分发。二级节点、三级节点、地方媒体、独立记者站。这不是被动接收,这是主动扩散。”
而在屏幕的另一个角落,福斯特注意到一个他之前忽略的细节。泰米斯系统的暗网论坛页面仍在运行。第五轮投票——针对莱纳斯·科尔文的投票——仍在继续。倒计时显示还有七分钟。赞成处刑的比例此刻是百分之五十一,反对是百分之四十九。票数差距不到两百票。
科尔文站在机房门口,看着屏幕上自己的名字和那个不断跳动的数字。他的笔记本电脑还在手里,外壳上的裂痕在机房灯光下格外清晰。
“七分钟。”他说,“我还有七分钟。”
雷恩看着屏幕上的投票界面。在线人数正在急剧攀升——不是几千人,而是几万人。数据包的公开显然引起了大量关注,而关注正在将更多人推向暗网论坛。每一个新登录的投票者都可能改变科尔文的命运。
就在倒计时跳到六分钟的时候,科尔文的手机响了。不是电话,是一条短信。他用手指划开屏幕,短信内容只有一行字,来自一个未显示号码的发送者:“你不该帮他们。”
科尔文抬起头,与雷恩对视了一眼。然后他做了一件让所有人都没想到的事——他把手机放在桌上,转身走向机房门口。
“我要回大楼。”他说。
“你疯了。”福斯特从键盘上抬起眼睛。
“如果我回去,我可以告诉他们主机房只有我一个人。我可以说一切都是我做的——所有的装置激活,所有的处刑序列,所有的数据包发送。我可以给他们一个他们想要的责任人,换取他们释放阿利斯泰尔和朱利安。”科尔文的声音很平静,但手指握着门框的指节已经发白,“我已经在名单上了。投票还有六分钟。与其让一群匿名的人决定我怎么死,不如我自己决定为什么而死。”
他拉开机房的门,大步走向走廊尽头的地下室出口。福斯特追到门口,但科尔文已经消失在楼梯间的阴影中。
雷恩没有追。他站在福斯特的屏幕前,看着那些不断跳动的数字和不断涌入的匿名投票者,沉默了几秒钟,然后对福斯特说了一句话:“把暗网论坛的服务器地址给我。”
“你要干什么?”
“科尔文以为选择只有两种——被投票处刑,或者回去顶罪。但还有第三种选择。阻止投票本身就是一种选择。”
福斯特的手指在键盘上停了一瞬,然后开始飞速敲击。屏幕上弹出了论坛服务器的IP地址、端口号和加密层结构。雷恩将信息转发给了陈警官,附带一条语音信息:“技术组能黑掉这个论坛吗?不是追踪,是关停。”
几秒后陈警官回信:“艾弗里说可以,但需要时间。”
“多久?”
“至少四十分钟。”
倒计时显示:五分十二秒。四十分钟太长了。科尔文等不了那么久,投票结束之前他可能已经做了无法挽回的决定。
但在福斯特的屏幕上,另一个数据流正在无声地改变形态。暗网论坛的在线用户地理分布图上,维斯特布鲁克市本地的投票者比例在过去十分钟内从百分之六十三骤降到了百分之四十一。取而代之的,是来自全国各地的、刚刚通过亲属身份验证的新增投票者——他们的投票方向与本地用户截然不同。
本地用户在投票处决科尔文。外部用户在投票反对。
雷恩盯着那个变化,突然理解了正在发生的事情。数据包的公开不仅在传播真相,还在改变投票的构成。本地用户是亲历者,他们的愤怒直接指向每一个与萨克雷相关的人——包括科尔文。但外部用户看到的是一幅更大的图景:科尔文是那个在最后一刻帮助福斯特离开的人,是那个将数据包从主机房推向全世界的人。在更大的叙事中,他是举报者,不是共犯。
投票比例在屏幕上一秒一秒地移动。百分之五十点三。百分之五十点一。四十九点八。
倒计时:三分四十四秒。
赞成和反对的数字第一次出现了反转。


暂无评论,来抢沙发吧!