15. 独自追凶

电梯在三十七层停下来,门滑开,走廊里一片漆黑。

不是电源被切断的那种黑暗——走廊尽头的安全出口指示灯还亮着,惨绿色的光像一只独眼在远处闪烁。但所有的办公室门都关着,所有的工位屏幕都黑着,所有的日光灯管都沉默着。数据架构部在莫洛伊被带走之后就已经被清空了,现在整层楼像一个被抽空了内脏的胸腔,只剩下肋骨般的隔断墙在黑暗中排列。

“玛雅最后的信号是从哪发出的?”艾琳问。

凯伦打开手机上的定位共享——伊娃在楼下传给她的数据。信号源不是莫洛伊的办公室,而是走廊中部一个没有门牌的房间。那个房间凯伦之前经过很多次,每次她都以为那是设备间或清洁工具储藏室。它太不起眼了,不起眼到任何人都会忽略它。

她们走到那扇门前。门上没有把手,只有一个刷卡感应器,但感应器已经被撬开了,里面的线路暴露在外,红蓝黄三色线被重新接过——有人用物理方式绕过了门禁系统。接线的手法很新,铜丝切口还闪着金属光泽。

凯伦推开门。

房间里没有窗户,只有一盏应急灯亮在天花板上。灯光照在一排金属文件柜上,照在一张简易办公桌上,照在桌上那台还在运转的笔记本电脑上,最后照在地板上的一个人影上。

玛雅·林德奎斯特坐在地上,背靠着文件柜,腿上放着她的平板电脑。她的眼睛睁着,呼吸很浅,额头上有一道还在渗血的伤口。但她活着。

“玛雅!”艾琳蹲下来扶住她的肩膀。

玛雅的目光慢慢聚焦在凯伦脸上,然后她说了一句让整个房间的空气都凝固了的话。

“这不是设备间。这是塞巴斯蒂安·韦斯特的私人实验室。克罗斯从来没有把它列入大楼的平面图。它不存在于任何官方记录里。”

凯伦抬起头,环顾四周。金属文件柜里塞满了纸质档案,有些纸张从半开的抽屉里溢出来,上面密密麻麻写满了数学公式和代码注释。墙上贴着的不是公司宣传海报,而是手绘的神经网络结构图,那些墨水的颜色已经褪得很厉害,但每一笔都画得极其认真,像一个工匠在石板上凿刻经文。角落里放着一把旧椅子,椅背上搭着一件已经发硬的实验服,胸口口袋上绣着一个名字——塞巴斯蒂安。

“莫林不知道这个房间的存在。”玛雅吃力地坐直身体,每说一句话都要停一下换气。“莫林以为塞巴斯蒂安只是一个被解除合同的离职同事。他不知道塞巴斯蒂安离开公司后,克罗斯把他藏在这里——藏在公司大楼内部——让他继续工作。塞巴斯蒂安在这里待了三年。从他的死亡证明签发日期算起,他在这里待到生命的最后一天。他从来没有离开过纽拉科技。他只是从组织结构图上消失了。”

凯伦走到书桌前,看着那台笔记本电脑。屏幕保护程序还在运行——一行行代码在黑暗中缓缓飘移,像深海水母的荧光触手。她碰了一下键盘,屏幕立刻亮了起来,显示出一个简洁的登录界面。用户名栏已经被填好了——“塞巴斯蒂安·韦斯特”。密码栏是空的。

“你是怎么找到这里的?”艾琳问玛雅。

“伯格曼死前给我的最后一份文件,不是预警系统的偏差数据。那只是表面。真正的文件是一份人员名单——纽拉科技在项目转为内部开发后从公开记录中抹掉的所有研究人员。名单上有三个名字。前两个都活着,住在其他城市,我联系上了他们。他们对预警系统后来的发展毫不知情。但第三个——塞巴斯蒂安·韦斯特——他的死亡证明有疑点。”

玛雅从平板上调出一份扫描文件。那是一张死亡证明的复印件,纽维斯特市卫生局签发,日期是三年前十月十七日。死因:心力衰竭。证明下方有医生签名和医院印章。

“我昨天去了一趟那家医院,”玛雅说,“纽维斯特慈善医院。我找到了当年签字的值班医生。他已经退休了,住在郊区。我给他看了死亡证明。他看着那张纸看了很久,然后说——‘这不是我签的。我的签名是斜体,这个签名是正体。’”

凯伦接过平板,盯着那两份签名对比。医生的真实签名笔迹向左倾斜,线条流畅但有明显的个人习惯断点。死亡证明上的签名虽然外形相似,但笔迹过于规整,断点的位置完全不对。

“有人伪造了死亡证明,”她说,“塞巴斯蒂安·韦斯特可能根本没有死在那一天。他可能被克罗斯藏在这里继续工作,直到他的身体真的撑不住了——或者直到他被用完了。”

“他被用完了。”玛雅的声音变得极低。“我在这间办公室的纸本记录里找到了一份医疗废物处置单。日期是三年前的十二月四日——比死亡证明上的日期晚了将近两个月。处置单上列出的物品包括静脉输液管、氧气面罩、以及一份标着‘生物危害’的密封袋。袋子里的内容没有写。但处置单的接收方是一具遗体——送往纽维斯特大学医学院解剖实验室。接收人签名是一个缩写——D.K.。”

多米尼克·克罗斯。

凯伦站在这间没有任何窗户的房间里,感到墙上的神经网络图似乎在应急灯的微光中活了过来,那些褪色的墨迹像一张正在收拢的网。她忽然理解了塞巴斯蒂安留下的自动修复程序为什么设计得那么精密——那不是一个学者在闲暇时间写的抗议程序。那是一个人被囚禁在玻璃牢笼里,用自己的最后一点生命力量,用他对这个系统底层架构的完整知识,写的遗嘱。他知道自己会死在这里。他知道克罗斯会用他的大脑,然后把他的身体像医疗废物一样处理掉。但他知道一件事克罗斯不知道——他比这个星球上任何人都更了解预警系统的底层架构,因为他在这个没有窗户的房间里,独自一人,维护了它三年。

“他在这里做了什么?”艾琳的声音在黑暗中响起,像是在问一堵沉默的墙。

“他做了克罗斯永远做不了的事。”玛雅用手背擦掉额头上的血,靠文件柜更紧了一些。“预警系统商业化之后,核心算法的维护需要真人专家持续介入。深度神经网络不是写好了就可以永远运行的。它会漂移,会产生工程师称为‘概念漂移’的错误,会因为训练数据的变化而偏离原始设计目标。需要有人不断地校准它,修正它,把它从错误的方向拉回来。克罗斯当然可以雇佣新的工程师,但没有人比塞巴斯蒂安更了解最初的设计——因为算法是他和莫林一起写的。克罗斯把他藏在这里,让他以幽灵的身份维护着整座大厦。”

“而塞巴斯蒂安在维护系统的同时,写了自己的代码。”凯伦看着墙上那些手绘的神经网络图,其中一张图的左下角有一行用铅笔写的极小的字——“免疫协议。每日校验。如果有人试图从训练集中删除特定个体,自动恢复。目的:不让任何人从数据中消失。”

她认识这段描述。这就是莫林在录音里提到的那段无法溯源的指令。但莫林只发现了代码本身。莫林没有发现塞巴斯蒂安。这个男人在临死前用最后两个月完成的最后一件事,不是修复错误,不是优化参数,而是给自己的生命——以及所有被克罗斯从训练集中删除的名字——上了一道永远拆不掉的锁。而莫林直到死都不知道,他一直在和一个幽灵并肩作战。

“克罗斯知不知道?”艾琳问,“他知不知道塞巴斯蒂安在系统里藏了自动修复程序?”

玛雅摇了摇头。“如果他知道,他不会让莫林把代码的痕迹留在3.7版本的日志里。莫林不会有机会发现编号偏移。克罗斯用塞巴斯蒂安的大脑来维护系统,但他不审查塞巴斯蒂安的每一行代码。他认为不需要——因为他控制着塞巴斯蒂安的氧气,控制着塞巴斯蒂安的静脉注射,控制着塞巴斯蒂安的死亡证明。他以为这些恐惧足够让一个人在临死前安分守己。”

她的声音断了一下,然后变得更坚定。

“他错了。”

房间里沉默了几秒钟。应急灯的微光在塞巴斯蒂安留下的一张手绘图上轻轻晃动。那张图画的是预警系统的完整架构,每一层、每一个模块、每一条数据流都用铅笔标注得清清楚楚。在图的右下角,有他画的一个小小的、被圈起来的符号——不是数学符号,不是代码标记。是一个人的侧脸轮廓,戴着眼镜,眼镜片的反光遮住了眼睛。旁边只有两个字——“证人”。

凯伦转身面对那台笔记本电脑。登录界面上,光标还在密码栏里闪烁。她不知道密码。但她知道塞巴斯蒂安不会设置一个只有自己知道的密码。他不是在保守秘密。他是在等一个能走到这个房间里的人。

她输入了“辩护人”。

密码错误。

她想了想,然后删掉,重新输入——“自动修复”。

密码错误。剩余尝试次数:1。

艾琳和玛雅都看着她。凯伦的手指悬在键盘上方,然后她忽然想起了一件事。莫林在信里的那句话——“密码是,当你准备好面对真相时输入你自己的名字。”那是莫林的风格。但塞巴斯蒂安是另一个人。塞巴斯蒂安在墙上画神经网络图。塞巴斯蒂安在代码里埋了一个永远不会停止的真相保护程序。塞巴斯蒂安在这间没有窗户的房间里独自待了三年,他的同事以为他死了,他的研究成果被克罗斯窃取,他的名字从历史上被抹去——但在每一张手绘图的角落,他画了一个戴眼镜的人,旁边写着“证人”。

证人不是塞巴斯蒂安自己。证人是那个总有一天会走进这个房间的人。

凯伦输入了“证人”。

屏幕黑了一下,然后亮起。桌面出现了——不是一个标准的操作系统桌面,而是一个极简的界面,只包含三个图标。第一个图标标注着“完整训练数据集(含豁免名单对照表)”。第二个标注着“免疫协议·自动修复程序·完整源代码”。第三个标注着“塞巴斯蒂安·韦斯特·最后陈述”。

凯伦双击了第三个图标。

一个视频文件打开了。画面很暗,只有一盏台灯照亮一个男人的脸。他大约四十岁,瘦削,戴着一副和墙上那张手绘图里一模一样的眼镜。他的头发已经花白了,但眼睛仍然亮着一种凯伦无法定义的光芒。那不是希望,不是绝望,而是一种被磨砺到极致之后的平静。

“如果你在看这段视频,”他说,声音沙哑但清晰,“说明你已经找到了这个房间。我不知道你是谁,不知道你花了多长时间,不知道克罗斯是否还在大楼里。但你已经知道了编号偏移的存在。你已经知道了豁免名单。你已经知道了系统在一开始就被动了手脚。”

他停顿了一下,摘下眼镜擦了擦。

“我不想成为受害者。我不想用这个词。这三年里我每一周都在写代码。克罗斯以为我在维护他出售给政府的预警系统。我也确实在维护。但同时,我在系统最底层插入了三道不可删除的日志记录程序。第一道记录编号偏移量。第二道记录每一次豁免名单被手动修改的时间戳和操作者IP。第三道——第三道记录多米尼克·克罗斯的每一次登录。包括他的生物特征。包括他的声音验证。包括他在系统里做过的每一个操作。”

“这三道日志不保存在纽拉科技的服务器里。它们实时发送到一个完全独立的加密节点上。这个节点不在任何数据中心里。它就在这里——”

视频里的塞巴斯蒂安弯下腰,从画面下方拿起一个小型设备。那是一个比手掌略大的黑色金属盒子,没有任何标识,只有一个接口和一个按钮。

“——在这个快闪存储器里。存储量不大,但它不需要大。它只存文本日志。十二年的文本日志。多米尼克·克罗斯在预警系统里说的每一句话,敲的每一个命令,删的每一个文件。全在这里。法院可能无法用它定罪,因为它的证据链不完整。但它不需要在法院里使用。它需要在另一个地方使用。”

他把金属盒子放回桌面,然后看着镜头,用一种几乎像是微笑的表情说出了最后一句话。

“它需要在广场上使用。”

视频结束。屏幕恢复成桌面。凯伦、艾琳和玛雅同时把目光转向这个房间的角落。在那把旧椅子下面,在塞巴斯蒂安的实验服下面,有一个小型的防火保险箱。保险箱没有密码,只用一个老式的机械锁锁着。锁孔里已经插着一把钥匙。凯伦走过去,蹲下,转动钥匙。锁舌弹开,箱门打开。里面是那个黑色金属盒子,完好无损,接口处还贴着一张手写的标签——“广场屏幕·紧急广播协议·直接接入。不需要密码。不需要授权。只需要按下一个按钮。”

凯伦把金属盒子捧在手里。它很轻,比手机还轻,但此刻它比这栋大楼里任何一台服务器都更沉重。它里面装的是多米尼克·克罗斯十二年来的全部数字足迹——不是猜测,不是推论,不是编号偏移的间接证据。是他亲自键入的每一个命令。是他删除每一笔训练数据时留下的时间戳。是他从训练集中移除自己和他的七十五个同伙时留下的操作记录。

“莫林在信里说,”艾琳轻声说,“克罗斯的对照表存在一个永不联网的设备里,在他触手可及的地方。我们一直以为那是克罗斯自己保管的设备。但从一开始,保管设备的人就不是克罗斯。是塞巴斯蒂安。”

凯伦把金属盒子装进大衣内侧口袋。她站起来,最后看了一眼墙上那些手绘的神经网络图。那个戴眼镜的侧脸轮廓仍然在右下角静静地注视着整个房间。在她身后,应急灯的绿光在无声地闪烁。在她前面,门外的走廊仍然是漆黑的。但在这间被从建筑平面图上永久删除的房间里,一个死了三年的男人刚刚说出了最后一句证词。

“我们现在有两个选择。”凯伦的声音在狭小的房间里显得异常清晰。“第一选择——拿着这个盒子从消防通道出去,到广场上,用莉迪亚的广播协议把克罗斯十二年的操作日志公之于众。风险是克罗斯的行动组可能已经在外面等着了。第二选择——带着盒子去顶层套房,在克罗斯面前按下播放键。让他亲眼看着自己的每一个命令被他自己设计的系统投影在广场屏幕上。”

“第二选择,”玛雅说,同时挣扎着站起来,“他需要亲眼看到。这是他实验的最后一个变量——他自己的反应。一个好的实验者,应该在实验结束时亲自观察数据。”

“他会杀了我们。”艾琳的声音非常平静,像在陈述天气预报。

“他当然可以,”凯伦说,“但他不会在广场屏幕上同步播放自己处决三个证人时这么做。那会毁了他的实验数据。正义猎犬从来不在公众眼前杀人。他们总是藏在暗处,用面具,用变声器,用狙击步枪。因为克罗斯需要公众恐惧的是一个看不见的组织,不是一个具体的人。如果他亲自对我们动手,实验就失败了——因为恐惧有了形状。”

她把金属盒子在口袋里按紧,然后推开三十七层的门,重新走进黑暗的走廊。艾琳和玛雅跟在她身后。她们没有走向消防通道,而是走向电梯,走向那个通往顶层的按钮。

走廊尽头,安全出口指示灯仍然亮着惨绿色的光。而在那束光的边缘,凯伦看到地上多了一样东西——一部手机。不是玛雅的手机,不是艾琳的手机。是一部陌生的手机,屏幕亮着,显示着一行刚收到的短信。

她捡起手机。短信的发件人被加密了,内容只有四个字——

“欢迎上楼。——D.K.”

电梯门在她们面前滑开,像一道被提前安排好的邀请。凯伦走进去,按下了顶层的按钮。电梯开始向上攀升。数字在屏幕上跳动。窗外,纽维斯特的灰色天空正在被即将到来的傍晚染成铁锈的颜色。联邦司法广场的屏幕还在倒计时。一小时二十一分钟。

三个名字仍然在那里。三个红叉仍然在它们旁边。而那栋玻璃方尖碑的顶层套房里,多米尼克·克罗斯正站在落地窗前,手中端着一杯冷掉的咖啡,等着他最后一个实验对象走进门来。

本章评论(0)

暂无评论,来抢沙发吧!

我来评论

您的邮箱地址不会被公开。 必填项已用 * 标注