蓝湖庄园泳池设备间的日志文件被完整地拷贝到了一块加密硬盘里,此刻正躺在克罗夫特办公桌上,像一颗等待拆解的地雷。
他已经盯着这些数据看了整整六个小时。从凌晨三点到早上九点,外面的天空从黑色变成灰色再变成惨白,他喝了四杯咖啡,去了两次洗手间,其余时间都坐在椅子上,一动不动地看着屏幕上那些密密麻麻的时间戳和指令行。
日志本身并不复杂。蓝湖庄园的智能管理系统使用的是市面上最常见的工业控制协议,每一个操作都会留下记录。事故发生前四十七分钟,一个拥有管理员权限的远程账户登录了系统。这个账户的用户名是“blue_lake_maintenance”,密码验证通过,双因素认证也显示为绿色——这意味着入侵者不仅掌握了用户名和密码,还拿到了那个本应只有度假村工程总监才持有的硬件认证令牌。
“他是怎么拿到令牌的?”克罗夫特自言自语道。
坐在对面办公桌后面的是技术分析组的实习生莉娜·周,一个戴着圆框眼镜、说话语速极快的华裔女孩。她是局里唯一一个愿意在周六早上陪克罗夫特加班的人,原因很简单——她觉得这个案子比她在大学里学过的任何教材都更刺激。
“两种可能。”莉娜把椅子滑过来,指着屏幕上的日志条目,“要么他物理上拿到了那个硬件令牌,要么他复制了令牌的种子码。如果是后者,他需要曾经物理接触过那个令牌至少一次,或者黑进了令牌生产商的服务器。不管是哪种方式,都说明一件事:这个人做功课。他花了大量时间研究每一个目标的每一处弱点。”
克罗夫特点点头,让她继续往下说。
“登录之后,他做的第一件事不是修改泳池参数,而是进入系统的日志模块,创建了一个隐藏的维护会话。这意味着他在执行真正的攻击之前,先给自己建立了一条不会被记录的通道。然后他用了——”她滚动屏幕,指着一行指令,“——这段代码。你看到了吗?他不是直接输入反转指令,而是先上传了一个脚本。这个脚本会在系统中潜伏,监控泳池的水流传感器数据。只有当传感器检测到有人在泳池里的时候,它才会触发反转。”
“所以他知道索恩什么时候会下水。”
“更准确地说,他不需要知道。脚本自己会判断。他在四十七分钟前就部署好了陷阱,然后退出了系统。剩下的全部交给代码自动执行。就算他当时在离蓝湖庄园三千英里以外的地方,结果也是一样的。”莉娜摘下眼镜,用衣角擦了擦镜片,重新戴上,“克罗夫特警官,我们面对的不是一个黑客。黑客入侵系统,留下痕迹,然后离开。这个人不一样。他建造的是一个能自己执行审判的机器。在法律上,我们甚至很难界定他是在什么时候‘杀人’的——是写代码的那一刻?部署代码的那一刻?还是代码自动执行的那一刻?这个问题的答案可能会影响整个案子的司法管辖权。”
克罗夫特沉默了。莉娜提出的这个问题,比他预想的更加棘手。如果凶手在部署代码的时候身在另一个国家,甚至另一个大洲,那么新维多利亚市警局是否有权追捕他?引渡条约是否适用于这种“自动化谋杀”?这是一片法律上的灰色地带,而凶手显然比任何人都更清楚这一点。
他站起来,走到白板前。白板上已经贴了三张照片:埃利奥特·布莱克伍德,马库斯·索恩,以及第三张——他刚刚加上去的——一个空白的人形轮廓,上面打着一个问号。
“名单上还有三个名字。”他指着那个问号说,“我们已经知道了布莱克伍德和索恩之间的联系。他们都是法律系统的受益人,都是利用法律漏洞逃脱罪责的人。但他们之间还有更深层的关联吗?还是说,凶手的标准仅仅是‘逃脱法律制裁’这一个条件?”
莉娜转着笔,若有所思。“布莱克伍德是政治家,索恩是律师。如果凶手的逻辑是系统性的,那么下一个目标可能来自另一个领域——比如商界?媒体?或者执法系统本身?”
这句话让克罗夫特的后背一凉。执法系统本身。如果凶手真的将矛头指向警察或者检察官,那意味着他不仅仅是在惩罚罪人,他是在攻击整个司法体系的每一个组成部分。而更让他不安的是,在内心深处,他无法百分之百地确定自己不会在某些名单里看到那些名字时感到一丝隐秘的快意。
他的手机震动了。
这一次不是短信,而是一封电子邮件。发件人地址和上次一样,来自那个加密邮件服务商。主题栏写着:“技术分析的回报。”
他点开邮件,里面又是一份PDF文件。这一次的长度是二十三页,比上次更加详细。文件的开头是一段简短的前言:“艾德里安,我知道你正在和你的团队分析泳池系统的日志。这份文件会节省你一些时间。附件中是我使用的脚本的完整源码,以及蓝湖庄园安全系统的全部漏洞列表。好好读。——NMSS。”
莉娜凑过来,看着屏幕上的文字,眼睛越睁越大。“他在给你送证据?他把自己的犯罪工具送给了调查他的警察?”
克罗夫特没有回答。他快速滚动鼠标,浏览着那份源码。代码写得很漂亮——简洁、高效、注释清晰,每一行都有明确的用途,没有一丝多余。这不是一个愤怒的黑客在泄愤时写的代码,这是一个工程师的作品。一个把谋杀当成工程项目来执行的人。
他翻到文件的最后一页。那里和上次一样,附着一行简短的信息:“下一个名字:朱利安·克罗。三天后,他会出席新维多利亚市房地产协会的年度晚宴。地点:水晶宴会中心。你知道他是谁。你知道他做了什么。我会让全城的人都看到。——NMSS。”
朱利安·克罗。
这个名字从屏幕上跳出来,像一记重拳打在克罗夫特的胸口。他就是那个行贿的人。布莱克伍德收的那十三万美元,就来自克罗的公司。布莱克伍德案发后,克罗转身做了污点证人,向联邦检察官提供了大量对布莱克伍德不利的证据,换取了自己的豁免权。他在法庭上声泪俱下地描述了布莱克伍德如何向他索贿,如何威胁他,如何操纵招标流程。陪审团相信了他。布莱克伍德的律师曾经试图攻击克罗的可信度,指出他才是整个腐败链条的始作俑者,但法官裁定这些质询与本案无关。
布莱克伍德被判有罪的那段时间,克罗在电视采访中把自己塑造成一个“被迫参与腐败的商人”,一个“在体制面前无能为力的受害者”。当最高法院推翻判决的时候,克罗又换了一张脸,表示自己“尊重司法裁决”,然后继续经营他在新维多利亚市庞大的房地产帝国。
他才是最应该站在被告席上的那个人。而他却逍遥自在地活着,准备参加房地产协会的年度晚宴,接受行业同仁的掌声和祝贺。
克罗夫特把白板上的问号撕掉,写上了“朱利安·克罗”这个名字。他的字迹很用力,马克笔在白色板面上留下了深深的印痕。
“他要公开处刑。”莉娜的声音里带着一丝颤抖,“他说‘让全城的人都看到’。这意味着下一次攻击不会发生在私人别墅或者封闭的电梯井里。它会发生在公共场所,在人群面前。他要让所有人都变成目击者。”
“这正是他的目的。”克罗夫特低声说,“布莱克伍德死在电梯里,索恩死在私人泳池里。这些死亡虽然离奇,但终究可以被归结为意外。普通人不会把它们联系起来。但如果他在一个挤满了人的宴会厅里当众杀人,那就再也无法掩盖了。他要的不是秘密的处决,而是一场公开的审判。”
“我们必须通知克罗。必须取消晚宴。必须——”
“已经来不及了。”克罗夫特打断了她,“你看看这封邮件。他是在行动开始之后才通知我的,就像前两次一样。他给我信息不是为了让我阻止他,而是为了让我知道自己永远慢了一步。这是他的游戏规则。”
莉娜张了张嘴,想反驳点什么,但最终什么都没说出来。因为她知道克罗夫特说得对。前两次,凶手都是在目标死亡之后才公布了下一个名字。这次不同了。他提前三天公布了目标,这不是粗心,而是升级。他在向克罗夫特展示自己的力量——即便你提前知道了目标,即便你调动了全部警力,你依然无法阻止我。
克罗夫特拿起座机,拨了弗罗斯特博士的号码。电话响了两声就接通了,仿佛她在等这个电话。
“你收到他的邮件了?”他问。
“收到了。”弗罗斯特的声音听起来很平静,但那种平静里有一种紧绷的东西,像是暴风雨前的寂静,“他扩大了抄送范围。不只是你和我,他还把相同的邮件发给了三家媒体的记者。就在我们说话的时候,新维多利亚邮报的编辑大概正在决定要不要把这封邮件作为头条新闻。”
克罗夫特闭上眼睛。事态已经完全超出了他的控制。一旦媒体介入,恐慌就会像病毒一样传播。每一个曾经在道德或法律的灰色地带游走的人都会开始担心自己是不是在名单上。这座城市将会陷入一场由恐惧驱动的集体自审,而凶手只需要坐在屏幕后面,看着一切按照他的剧本上演。
“弗罗斯特,你说过他是可预测的。你说只要找到他的标准,我们就能抢在他前面。你现在有什么想法?”
电话那头沉默了片刻。“朱利安·克罗是第一个与布莱克伍德和索恩不同类型的目标。前两个是法律的受益者,克罗则是法律的合作者。他背叛了布莱克伍德来保全自己。从凶手的视角来看,克罗的罪不在于他行贿,而在于他逃脱了应有的代价。这说明凶手的标准正在扩宽——从‘法律无法惩罚的人’到‘任何逃避了道德责任的人’。如果这个推断成立,那么名单上的最后两个名字可能根本不涉及犯罪,而只涉及道德上的亏欠。”
“那样的话,名单就无限长了。”
“对。”弗罗斯特的声音沉了下去,“这恰恰是让我最担心的地方。一个以道德为标准的人,永远不会缺少下一个目标。”
克罗夫特挂断电话,看着白板上朱利安·克罗的名字。他从来没有想过,有一天他会站在凶手的立场上审视一个“受害者”。但此刻,他不得不承认,当他看到克罗的名字出现在名单上的时候,他内心的第一反应不是愤怒,而是某种难以言说的认可。
他迅速把这种感觉压了下去。他是一个警察。他的职责是阻止谋杀,无论受害者是谁。但他也知道,在这座城市里,有两百六十万个人正握着手机,刷着社交媒体。当涅墨西斯的下一条信息推送到所有人屏幕上的时候,有多少人会像他一样,在心底的某个角落里,悄悄地鼓掌?
他打开电脑,开始起草一份紧急通知,发送给所有能调动的警力。三天时间,一座挤满权贵的宴会厅,一个看不见的敌人。他必须找出凶手的攻击方式——是电气系统?通风管道?还是别的什么?水晶宴会中心是一座全智能化的建筑,每一个角落都布满了传感器和执行器。在这座建筑里,凶器的可能性几乎无限多。
写完通知,他靠在椅背上,揉了揉酸涩的眼睛。窗外,新维多利亚市的天际线在正午的阳光下闪闪发光。那些玻璃幕墙反射着光线,像无数面镜子,把这座城市照得透亮。但在这些光鲜的立面背后,在那些隐藏在墙壁里的电线和管道中,一场战争正在悄然进行。
而屏幕后面的那个人,此刻大概正在喝着咖啡,看着他的代码安静地潜伏在城市的血管里,等待着下一个触发条件的到来。


暂无评论,来抢沙发吧!