金斯顿市的凌晨三点十七分,马库斯·科尔探长在警用无线电刺耳的电流声中醒来。他没有立即接听,而是盯着天花板上的水渍看了整整十秒——那块水渍的形状像一张摊开的阿瓦隆联邦地图,西海岸的位置已经发霉。这是他干了二十二年重案组养成的习惯:在任何灾难降临之前,先给自己十秒钟的沉默。
电话那头是值班警长哈洛伦颤抖的声音:“科尔,你得来一趟东区,翠鸟公寓。气体泄漏……至少十几个人死了。”
“什么气体?”
“消防队还在判断。但整栋楼都是黄绿色的雾,就像……就像硫磺燃烧的颜色。”
科尔挂断电话,穿上那件袖口已经磨得起毛的灰色风衣。他看了一眼床头柜上妻子的相片,她已经去世六年,死于一场至今没有定论的肇事逃逸。他有时候觉得,自己之所以还在干这份工作,不是因为正义感,而是因为他无法忍受任何没有答案的问题。
翠鸟公寓位于金斯顿东区最边缘的街区,紧挨着奥克塔维亚水厂的三号蓄水池。科尔在凌晨四点零二分到达时,整条街道已经被封锁。空气中弥漫着一股甜腻而刺鼻的气味,像是漂白剂混合了腐烂的花朵。消防队员戴着全面罩呼吸器在警戒线内穿梭,他们的强光手电在黄绿色的雾气中切开一道道光柱,仿佛某种诡异的舞台灯光。
公寓是一栋六层老式砖楼,共二十四个单元。现在,它安静得像一座陵墓。
哈洛伦警长递给他一个N95口罩,科尔摆了摆手。“如果这东西能穿透整栋楼,这层布挡不住什么。”他径直走向消防指挥官,一个满脸疲惫的中年男人,胸前名牌上写着“斯特恩”。
“气体成分确定了吗?”
斯特恩摘下呼吸面罩,脸上是被橡胶勒出的深红印子。“初步检测是氯气,高纯度氯气。不是工业泄漏那种稀释过的,是几乎达到化学试剂级别的浓度。这东西顺着水管系统涌上来的,每一层的卫生间、厨房水槽、地漏都在往外冒气。住户们在睡梦中吸入,大部分死于急性肺水肿。”
“从水管系统?”科尔的眉头拧了起来。“氯气不会凭空出现在自来水里。”
“所以才奇怪。”斯特恩压低声音,“水厂的常规消毒用的是次氯酸钠,浓度远不足以产生致命气体。除非有人往管道里注入了某种东西,让它和原有化学物质发生反应。或者……”他停顿了一下,“或者有人直接往供水管网末端注入了液态氯。”
科尔的目光越过他,望向街道尽头那座巨大的灰色厂房——奥克塔维亚水厂。它的轮廓在晨曦前的黑暗中若隐若现,几盏钠灯在顶部发出昏黄的光。
“我需要进楼。”
“绝对不行,现在内部残留浓度还很高——”
“给我一个呼吸器。”
科尔最终得以进入时,黄绿色的雾已经散去大半,但刺鼻的气味依然浓烈。他沿着楼梯一层一层往上走,每一步都踩在湿漉漉的地面上——那是消防队喷洒的水雾和泄漏气体凝结的混合液体。墙壁上的墙纸已经变色,从原来的米黄色变成了病态的灰绿色,那是氯气漂白后的痕迹。
在三楼304单元门口,他的脚步停住了。
门半开着,一名老妇人蜷缩在浴室地板上,身体呈现出窒息死亡的典型姿势:双手蜷在胸前,膝盖弯曲,嘴部微张。她显然是在察觉到气味后试图关闭水源,但已经太迟了。科尔蹲下来,注意到她的手边有一只被拧开的水龙头,还在缓慢地滴着水。
然后他看到了那只手——那只手紧紧攥着某个东西。
他戴上橡胶手套,小心地掰开老妇人僵硬的手指。掌心是一个破碎的白色塑料圆盘,边缘已经烧灼变形,但中央还能辨认出一个模糊的标识:奥克塔维亚水务公司的六角形logo,以及一串残存的数字编码。那是一只智能水表传感器外壳的残片,通常安装在水管入户处,用于实时监测水量和水质。
但它不应该出现在住户的掌心里。更不应该在被捏碎的状态下,散发出一种微弱的焦糊气味——那是电路短路的残留。
科尔将残片装进证物袋,站起身,沿着走廊继续向前。他在四楼、五楼和六楼各抽查了几间单元,发现一个共同点:每个单元的智能水表传感器都出现了不同程度的损坏。有些是外壳破裂,有些是电路板烧毁,还有一只已经完全融化,在墙上留下一滩灰色的塑料残渣。
这不可能是一次工业意外。
他走下楼梯时,斯特恩正在门口等着。“我们又发现了新情况,”消防指挥官的声音变得更加紧张,“水厂中控室的记录显示,凌晨两点三十七分,三号蓄水池的加氯计量泵突然以最大功率运行了整整四分钟。然后在大约两点五十分,东区管网末端的压力传感器检测到异常回水压力——有人把液态氯通过消防栓接口逆向注入了支线管道。”
“逆向注入?”科尔重复了这个词。“这需要专业设备和知识。”
“更需要一个能进入水厂内部控制系统的人。”斯特恩看着他,“物理层面的破坏好防范,但如果是有人入侵了SCADA系统——就是那个负责整个城市供水自动化调度的工业控制系统——他可以在千里之外打开任何一个阀门,调节任何一个化学品的剂量。”
科尔走出公寓楼,清晨的第一缕阳光刚刚刺破云层,照在奥克塔维亚水厂灰色的混凝土外墙上。他从口袋里摸出一包皱巴巴的香烟,抽出一支却没点着。
“SCADA系统有网络隔离吗?”他问。
“理论上和公共互联网是物理隔离的。但……”斯特恩没有说下去。
“但总有人会开一扇后门。”
科尔把香烟放回口袋,拨通了一个号码。电话响了七声才接通,对面传来一个含糊不清的女声。
“罗西,抱歉吵醒你。”
“科尔,现在是凌晨五点十四分。”
“我知道。我需要你查一个人——约恩·墨菲。几年前应该向水务监管局提交过一份关于奥克塔维亚水厂安全漏洞的举报材料。我需要那份举报的全文,还有墨菲目前的联系方式。”
伊莎贝拉·罗西沉默了几秒钟。科尔能听到她在那边敲击键盘的声音。“约恩·墨菲,奥克塔维亚水务公司前高级工程师,三年前因‘严重危害公共秩序’被解雇,之后向联邦基础设施安全委员会提交了一份长达九十七页的举报文件,指控水厂的工业控制系统存在至少十二个可被远程利用的致命漏洞。”
“他现在在哪儿?”
“他死了。”罗西的声音变得很轻,“提交举报后的第四个月,墨菲死于一场车祸。官方结论是对方司机疲劳驾驶。案件没有深入调查。”
科尔把手机从耳边移开,望向远处的水厂。那些黄色的钠灯正在晨光中逐一熄灭,像是一只只闭上的眼睛。他脑海中浮现出那只被老妇人捏碎的白色传感器外壳,浮现出十七个在睡梦中被黄绿色气体扼杀的生命,浮现出一个举报者未及说完的话。
“罗西,”他说,“我需要你调取墨菲车祸案的全部卷宗。另外,查一下翠鸟公寓所有十七名死者的背景。我要知道他们和墨菲、和水厂之间,是否存在任何联系。”
“你认为这不是随机攻击?”
科尔没有回答。他盯着水厂的轮廓,突然意识到一个令人脊背发凉的细节:翠鸟公寓位于东区管网的最末端,而如果攻击者想要测试某种远程投毒方法的致死效果,这里是最理想的第一站。
更可怕的是,如果这只智能水表传感器不是被气体破坏,而是被一股主动发出的攻击指令烧毁——那么它碎裂在老妇人手中的瞬间,凶手或许正坐在某块屏幕后面,通过一个匿名账户,静静地读取回传数据。
远处传来救护车最后的鸣笛声。黄绿色的雾已经彻底消散,但金斯顿东区的空气里,漂白剂的气味依然顽固地附着在每一块砖石上。
科尔将那包香烟重新揣进口袋,走向自己的车。他发动引擎时,收音机自动打开,正在播放一首二十年前的摇滚老歌,歌词唱的是关于一个从不露脸的复仇之神。他伸手关掉了广播。
在方向盘前静坐了一分钟后,科尔打开手机,翻到一个很少联系的号码。
“哈洛伦,帮我查一下,整个金斯顿市,还有多少栋建筑和翠鸟公寓一样,直接挂在某个水厂支线管网的最末端。”
“你是说……”
“我是说,如果他还没结束。”
电话挂断。发动机的震动通过方向盘传到他的掌心,像一种轻微的、不间断的预警。
晨光已经完全照亮了奥克塔维亚水厂的顶棚,而那些熄灭的钠灯之下,通往中控室的铁门上,一个微小的指示灯正在以人眼难以察觉的频率闪烁——那是内部局域网与外网之间的某个隐匿端口,此刻正保持着一种近乎温柔的低速心跳。


暂无评论,来抢沙发吧!