弗兰克回到自己的事务所时,已经过了午夜。
说是事务所,其实就是一栋老旧商业楼三层的两间办公室,门上贴着私家侦探执照和一张褪色的警局合影。他已经八年没有换过那张照片,不是因为念旧,而是因为懒得换——说到底,这些年来找他办案的人,很少有功夫注意墙上挂了什么。
他把万斯的笔记本电脑放在桌上,打开台灯。停电还没有波及到这个街区,但窗外的城市有一半已经沉入黑暗。从弗兰克的位置看出去,南城区方向像被人用墨汁泼过一样,只剩下寥寥几点应急灯在闪烁。
笔记本电脑开机需要密码。
弗兰克尝试了几个可能的组合。万斯的生日,不行。他的社保号后四位,不行。他的电工执照编号,也不行。他靠在椅背上想了想,然后输入了一个单词:Hephaestus。
屏幕解锁了。
桌面很干净,只有三个文件夹,分别命名为工作、仲裁和往事。弗兰克先点开了仲裁文件夹。里面密密麻麻地塞满了文件扫描件——顶点信用的信用卡合同、仲裁通知书、利率调整记录、以及万斯写给仲裁庭的手写信件草稿。
有一封信的草稿引起了弗兰克的注意。那是万斯写给仲裁员的,但没有完成,只写了一半就中断了。信的内容和其他文件不一样,不是申诉银行的利息过高,而是在试图解释某件事:
“尊敬的仲裁员,我知道这听起来像是在为自己的过去开脱,但1994年发生的事情,并不像格雷家族所认为的那样。我当时的证词——”
信就断在这里。在信纸扫描件的边缘,万斯用铅笔写了一个名字和一个地址。名字是莉迪亚·格雷,地址是城南鲑鱼溪路的一栋公寓。
弗兰克盯着这个名字看了很久。马尔科姆·格雷的妻子,或者说,遗孀。
他关掉仲裁文件夹,打开了那个命名为往事的文件夹。
里面只有一个子文件夹,名称是1994年10月。点开后是二十三张扫描件——全部是当年的内部备忘录、会议记录和报纸剪报。弗兰克按照时间顺序一张张看下去,逐渐拼凑出了那一年秋天发生了什么。
1994年,艾恩伍德市电力公司启动了一项大规模的自动化改造计划,要将老旧的模拟控制系统替换为计算机化的数字控制系统。项目由一家名为新纪元系统集成的外包公司承包,负责人是一个名叫马尔科姆·格雷的年轻工程师。当时二十五岁的格雷刚从麻省理工学院毕业,带着满腔的理想主义回到家乡,想要亲手建设一套更安全、更高效的电力调度系统。
但项目进行到一半时,电力公司内部出现了强烈的反对声音。以老电工为代表的工会成员认为新系统不安全,会让黑客有机可乘。西奥多·万斯是反对者中最坚决的一个。他在一次内部听证会上作证说,格雷的系统存在致命的安全漏洞——任何掌握特定协议的人都可以通过拨号连接远程进入调度中心的内网。
格雷激烈反驳,声称这些指控都是外行人的杞人忧天。双方在公司内部势如水火。最终,电力公司管理层在工会的压力下,终止了与新纪元系统的合作,以项目能力不足为由解雇了马尔科姆·格雷。
两周后,格雷在城东大桥上跳了下去。他留下的遗书中提到了万斯的名字,说这个电工的指控毁掉了他的职业生涯和名誉。
但这不是故事的结局。
弗兰克翻到最后一张扫描件,那是一份1995年2月的内部备忘录,由艾恩伍德市电力公司的安全部门发给所有参与过自动化项目听证会的员工。备忘录里警告说,经独立安全审计公司核查,马尔科姆·格雷设计的新系统中,确实存在他本人声称不存在的安全漏洞。更糟糕的是,这套系统的核心代码在格雷被解雇后神秘失窃,至今下落不明。
备忘录的最后一句话被万斯用红笔圈了出来:“任何掌握该系统源代码的人,理论上都可以通过未加密的远程端口,对配电网的任意节点实施未经授权的控制。”
弗兰克读到这里时,手指不自觉地抖了一下。
西奥多·万斯当年的证词是对的。马尔科姆·格雷的系统确实有漏洞,而且这种漏洞被证明是致命级别的。但万斯没有因此获得任何平反,格雷也没有活到真相大白的那一天。所有人都在这场混战中输掉了某样东西——格雷输掉了生命,万斯输掉了一个年轻人的信任,而那套消失的源代码,像一颗被遗忘的定时炸弹一样沉入了数字世界的某个角落。
直到现在,有人找到了它。
弗兰克点开工作文件夹。里面是一系列技术文档和图表,有些是万斯自己写的,有些是从网上下载的。他翻到最后几页,发现了一个名为监控日志的文本文件。
打开文件后,弗兰克看到了一长串日期和时间,以及对应的网络连接记录。万斯在过去三个月里,一直在用某种自制的网络嗅探器监测枫树街一带的电力线路通信。他记录下了数十次异常连接——有人在深夜时段通过远程端口接入他所在街区的配电变压器,每次连接持续不到三分钟,但频率越来越高。
最后一条记录的时间戳,是万斯死亡前两个小时。
弗兰克把这条记录的详细信息放大来看。连接的源地址被加密了,但万斯在备注栏里写了一个单词和一个问号:先知?
他拿起手机想给艾琳打电话,然后想起移动网络还没有恢复。他把手机扔在桌上,揉了揉太阳穴。事情的发展速度比他预想的要快得多。二十四小时前,他还在调查一桩看似简单的意外死亡。现在,他面对的是一个跨越近三十年的幽灵、一套消失又重现的危险代码,以及一个用整个城市的基础设施当武器的连环杀手。
他需要找到莉迪亚·格雷。
弗兰克从椅子上站起来,走到窗边。透过雨痕交错的玻璃,他可以看到远处南城区残余的火光已经完全熄灭了,取而代之的是工程抢修车的蓝色警示灯。城市正在试图修复自己被撕开的伤口,但弗兰克有一种强烈的直觉——这一切还远没有结束。
变电站爆炸不是高潮,而是序幕。
他在窗边站了几分钟,然后回到桌前,打开浏览器,进入了那个他在警局时期就知道但从来不愿光顾的地方——暗网。
在那个被层层加密的网络深处,存在一个名叫影子正义的匿名论坛。弗兰克听过太多关于这个论坛的传闻。有人说它最初是一群法律系学生创建的学术讨论组,后来被激进分子劫持,变成了一个私刑者的聚集地。也有人说它本身就是某种地下仲裁机构的线上入口,专门处理那些在正规司法系统中无法得到公正判决的冤案。
弗兰克花了将近一个小时才找到一个有效的入口链接。论坛的界面极其简洁,黑色背景上只有纯白文字,没有任何图形和广告。顶部是一行用斜体字写的标语:“当法律闭上眼睛,正义只能在阴影中寻找眼睛。”
论坛分为多个版块。弗兰克快速浏览了版块列表。大部分是常见的讨论区——法律漏洞讨论、消费者维权、反金融垄断。但有一个版块的名称让他的目光停了下来。
“审判记录”。
这个版块需要特定的邀请码才能进入。但在可以公开浏览的标题列表中,弗兰克看到了一个发布于三天前的帖子,标题是:“结案:西奥多·W的仲裁”。
他点击标题,帖子的内容只有一张图片——一个被划掉的名字。西奥多·万斯的名字,用一支红色钢笔勾画出一条贯穿字母的对角线。名字上方盖着一个图章,图案是一把燃烧的天平。
帖子下面没有任何评论,只有一串弗兰克看不懂的加密字符。但他注意到了发帖人的ID:先知。
和万斯日志里写的名字一模一样。
弗兰克尝试追踪先知的发帖记录。在影子正义论坛的公开版块中,这个ID在过去半年里发布了超过四十个帖子,全部集中在审判记录版块。每一篇帖子都遵循同样的格式——一个被划掉的名字、一张燃烧天平图章、一串加密字符。弗兰克翻到最早的一篇帖子,发布于今年三月。
那个被划掉的名字,叫作康拉德·斯特林。
弗兰克不认识斯特林,但他认识斯特林背后的公司。此人是顶点信用银行的高级副总裁,负责消费者信用卡业务。他在六个月前被报失踪,警方调查了三个月后宣布结案,理由是未发现任何犯罪证据。
弗兰克在搜索引擎里输入康拉德·斯特林的名字。结果第一条是一则今年四月的新闻短讯:“顶点信用银行副总裁康拉德·斯特林在家中因智能家居系统故障意外身亡,法医排除他杀可能。”
智能家居系统故障。
弗兰克盯着这几个字,脑海里浮现出西奥多·万斯浴室里那台被改装过的热水器,以及变电站里被篡改了保护阈值的继电器。三桩事件,同样的手法。用机器杀人。让系统失控变成武器。让犯罪现场没有任何凶手的物理痕迹。
而那个自称先知的刽子手,在论坛上公开记录着每一次处决,像是一个猎人炫耀自己的猎物清单。
弗兰克在网站后台的某个角落里找到了一个不起眼的私信图标。他没有犹豫,点开对话框,输入了一行字:
“我知道你在看。你想要什么?”
一分钟后,屏幕刷新。私信状态变成已读。
然后弗兰克听到了外面走廊里电梯的机械运转声。这栋楼里只有他的事务所在夜间还有人,而电梯在这个时候启动只有一个可能——有人正在上到三楼来。
电梯在三楼停了下来。门打开的声音在空旷的走廊里显得格外清晰,像是一声鼓点。然后是脚步声,缓慢而均匀,正在朝弗兰克办公室的方向靠近。
脚步在门外停住了。
台灯的灯泡在这时忽然闪烁了一下。弗兰克下意识地伸手摸向抽屉里的配枪,目光紧盯着门上蒙着磨砂玻璃的影子。那个人影站在门外,一动不动。
敲门声没有响起。取而代之的,是门缝下面塞进来的一张纸条。
弗兰克等了五秒钟。然后他猛地拉开门,举枪对准走廊。
走廊空无一人。只有电梯门正在缓缓合上,缝隙里透出一丝冰冷的白光。
他低头捡起那张纸条。上面只有一行打印的字:
“来鲑鱼溪路。莉迪亚·格雷的故事值得一听。但当心——你已经进入了审判名单,卡弗先生。”


暂无评论,来抢沙发吧!