邦考试委员会库房在案发后第七天依然贴着封条。封条是邦警察总部技术处贴的,上面盖着红色印章,标注日期为二月十八日。但茜拉注意到封条边缘有一处不起眼的撕裂——有人在这七天里撕开过封条,又小心地贴了回去。撕裂处的胶水痕迹是新的,在紫外手电筒的照射下发出浅蓝色的荧光。
她撕开封条,推开了库房的门。
里面和她第一次进入时的布局几乎一模一样。密集架依然整齐排列,通风管道依然发出低沉的嗡鸣,地面上那个白色轮廓线已经被踩得模糊不清,但依然能看出一个人蜷缩的形状。茜拉不是一个人来的。她身后跟着一个穿着连帽衫的年轻人,手里拎着一个沉重的金属工具箱。年轻人叫阿扬,是邦警察总部技术处的实习生,今年二十二岁,入职刚满三个月。他是苏里亚亲自招进来的——苏里亚大概没想到,自己招进来的这个沉默寡言、戴着厚框眼镜、看起来永远不会违抗命令的年轻人,在三个月里逐渐发现自己的直属上司和档案科里那些被“归档”的悬案之间,存在着某种令人不安的关联。
“你确定要做这个?”阿扬把工具箱放在地上,掀开盖子。里面整齐地码着卷尺、激光测距仪、高亮手电筒、几卷不同颜色的荧光胶带和一台便携式三维扫描仪,“如果被发现了,我连实习期都过不了。”
“如果成功了,你以后不需要靠实习期来证明自己的能力。”茜拉从背包里取出阿迪蒂的日记,翻到第六本中间的一页。那一页上画着一张库房的平面草图,是阿迪蒂用钢笔手绘的,比例粗糙但细节惊人——每一排密集架的编号、每一盏灯的开关位置、消防柜和通风窗的相对距离,全部标注得清清楚楚。草图的右下角写了一行小字:“如果有一天我需要从这里逃出去,我只有三条路线。正门有监控,消防通道没有灯,通风管道太窄。但如果有人在正门外挡住出口,而消防通道的门被人从外面锁死——那么这里就变成了一个密室。一个完美的密室。只需要一把钥匙卡,和三十秒钟的时间。”
“她画这张图的时候已经预见到自己可能会死在库房里。”茜拉说,把日记递给阿扬看。
阿扬盯着那张草图看了很久,然后抬起头环顾整个库房。“她说密室只需要一把钥匙卡和三十秒钟。但我们知道——门禁记录显示没有任何人进出。如果凶手是通过正门进入的,门禁系统一定会留下记录。除非——”
“除非门禁记录本身被修改过。”茜拉走到库房正门口,蹲下来检查门框上的读卡器。那是一台老式的磁条读卡器,型号在考委会大楼里用了至少十五年,外壳的塑料已经泛黄。她用螺丝刀拆开读卡器的面板,露出里面的电路板。电路板上的灰尘分布均匀,但有一小块区域的灰尘比其他地方薄——大约是指甲盖大小的一小片,在靠近数据接口的位置。
“有人在这个接口上插过外接设备。”阿扬凑过来,用手电筒照着那一小片区域,“这种老式读卡器的数据接口是标准的三针串口。如果外接一个微型控制器,就可以在本地篡改门禁记录,而不需要进入服务器后台。篡改完之后拔掉控制器,物理痕迹几乎为零——除了这片被蹭掉的灰尘。”
“需要什么技术水平?”
“中等。任何在物证保管科或者技术处工作过两年以上的人都具备这个能力。”阿扬从工具箱里取出一个黑色的小盒子,接在读卡器的数据接口上。盒子上有一块小型液晶屏幕,屏幕亮起来的时候显示出一行绿色的字符:“发现已删除记录。恢复中。”
屏幕上开始滚动出现一串串时间戳和工号。这些都是过去三十天内通过这个读卡器进入库房的人员记录。大部分记录都平淡无奇——阿迪蒂每天早晚各一次,清洁工每周三次,考委会后勤处每周一次例行检查。但滚到二月十七日那一天的时候,屏幕上的数据忽然出现了异常。
“晚上九点四十八分,工号MH-2047,阿迪蒂·夏尔玛,进入。晚上九点五十二分,工号——”阿扬停下来,把屏幕凑近眼睛,好像不敢相信自己看到的东西,“工号MH-0000,进入。”
幽灵编号。
不是答题卡上的幽灵编号,是门禁记录里的幽灵编号。MH-0000——这个在所有官方档案中都不存在的工号,在二月十七日晚上九点五十二分刷开了库房的电子门锁。四分钟之后,即晚上九点五十六分,同一条工号再次刷开了门锁——离开。而在这四分钟里,阿迪蒂的记录始终显示为“在库房内”。两个人,一个用真实身份,一个用幽灵身份,同时在库房里待了四分钟。然后幽灵离开,阿迪蒂永远留在了里面。
“这组恢复数据能导出吗?”茜拉问。
“能。但它是本地存储的缓存数据,不是服务器端的正式记录。在法律上,缓存数据的可采信度比服务器日志低。如果要作为呈堂证供,我们需要证明缓存数据没有被篡改过。”阿扬一边导出数据一边说,“不过——如果有人能同时在服务器端删除正式记录、在本地清除缓存痕迹,那他一定没料到这个读卡器里的存储芯片是独立于主板之外的。老式设备的好处——备份永远藏在最不起眼的地方。”
“就像库马尔在物证保管科留了十九年的弹道报告。”
阿扬的动作停顿了一秒。“库马尔?”
“以后再告诉你。”茜拉站起来,从口袋里拿出一卷荧光胶带,“现在我们开始重演。”
她按照阿迪蒂日记中的平面草图,用绿色胶带在地面上标出了三条可能的逃生路线。第一条是正门——正对走廊,上方有监控探头。第二条是消防通道——在库房最深处,门后面是一条没有灯的狭窄楼梯。第三条是通风管道——入口在消防柜上方,截面只有二十乘二十厘米,成年人不可能通过。
然后她用红色胶带标出了阿迪蒂尸体被发现的位置——密集架第十三排和第十四排之间,距离正门大约十二米,距离消防通道大约八米。
“假设你是阿迪蒂。”茜拉对阿扬说,“你通过某种方式得知自己收集的舞弊证据已经被内部安全组的人交给了梅塔。你知道自己的计划暴露了。但你还不知道出卖你的人是谁。你打电话约一个你最信任的人在库房见面——这个人的名字是你花了三年时间才敢信任的,因为他曾经在茶馆里对你说过‘我会帮你脱离系统’。你站在这个位置等他。”
她指了指绿色胶带标记的正门入口内侧。
“晚上九点四十八分,你刷卡进入。四分钟之后,九点五十二分,那个人用幽灵编号打开了门。他不是从正门进来的——正门有监控,他不可能用自己的工号刷卡。他用的是侧门。侧门的链条锁对他来说是形同虚设,因为他在考委会工作了足够久,知道每一扇没有门禁的门该怎么打开。”
阿扬站在正门入口处,手里拿着激光测距仪。
“他和阿迪蒂面对面站着。距离大约是——”他按下测距按钮,红色光点落在白色轮廓线的位置,“一点五米。一个足够近的距离,近到可以低声交谈,也近到可以突然发力用刀刃刺入对方的胸腔。”
“阿迪蒂的伤口角度是下斜的。”茜拉蹲在白色轮廓线旁边,用手指比划着法医报告里描述的角度,“从左侧第三四肋骨间刺入,向下倾斜约三十度。这个角度说明凶手比阿迪蒂高。阿迪蒂身高一米六二。苏里亚身高——”
“一米八五。”阿扬的声音忽然变得很轻。
茜拉站起来,让阿扬站到白色轮廓线的位置扮演阿迪蒂,她自己站到正门入口扮演苏里亚。她往前走了一步,右手虚握成拳模拟持刀,朝着阿扬左侧胸腔的方向做了一个下刺的动作。她的身高是一米六八,刺击角度偏高。如果是一个一米八五的人来做同样的动作,角度刚好是下斜三十度。
“但这不能解释密室。”阿扬说,“苏里亚用幽灵编号进入库房,刺了阿迪蒂一刀,然后用幽灵编号离开。门禁记录被他事后删除了。但密室是怎么形成的?库房的门是自动锁——从外面关上需要刷卡,从里面打开需要按墙上的开关。如果阿迪蒂被刺后还活着,她为什么不按开关开门求救?”
茜拉走到墙边,看着那个门控开关。开关是按压式的,位置在距离地面约一米二的位置。一个被刺中心脏的人,如果还有意识,理论上可以爬过去按下开关。
“因为开关被人用胶带固定在了‘关闭’位置。”阿扬忽然开口。他正蹲在开关旁边,用手电筒照着开关的侧面。开关底座的塑料边缘有一小片残留的胶痕,已经干透了,但在紫外灯的照射下呈现出和周围塑料不同的荧光反应。“有人用透明胶带把开关按下去粘住了。胶带后来被撕掉了,但胶痕留了下来。”
“这意味着——”茜拉站直身体,脑子里飞速地拼合着碎片,“凶手不仅在门禁系统里植入了幽灵编号,在刺伤阿迪蒂之后用胶带固定了门控开关,然后走出库房,让门自动锁上。阿迪蒂被刺后还有意识,她试图爬过去按开关,但开关被胶带固定住了,按不动。她爬到了开关旁边——这就是为什么她的尸体被发现时距离门这么近。她差一点就够到了。差一点。”
阿扬沉默了很久。他看着自己的手指在开关边缘揭下来的那一小片胶痕,然后又看了看地面上那两条用绿色和红色胶带标出的路线。
“她死的时候,离开关不到一米。”
“对。”茜拉从白色轮廓线的位置走回正门口,脚步很慢,每一步都在丈量这段距离。从阿迪蒂倒下的地方到门控开关,大约八步。一个被刺穿心脏的人,在失血性休克到来之前还有大约三十秒到一分钟的意识。这段时间足够爬八步。但如果开关被固定了,八步和一公里没有区别。
阿扬从工具箱底部取出一个沉甸甸的证物袋。里面是法医在现场勘查时从阿迪蒂指甲缝里提取的微量物证——几根透明胶带的纤维。当时法医在报告里写道:“指甲缝中检出微量透明胶带纤维,可能来源于办公用品,与案件关联性待查。”这份报告被归入了“无关联物证”档案,没有人跟进过。
“关联性不是待查。是没人想查。”茜拉接过证物袋,放在阿迪蒂日记旁边。现在库房地面上摆着四样东西——阿迪蒂画着逃生路线的平面草图、门控开关上残留的胶痕、指甲缝里提取的胶带纤维、以及读卡器里恢复的幽灵编号进出记录。四样东西串联起来,拼出了一幅完整的密室制造流程图。
但这还不够。这些物证只能证明密室是如何制造的,不能证明制造密室的人是谁。幽灵编号MH-0000不属于任何真实存在的工号。胶带上提取不到指纹——所有考委会的清洁工都戴橡胶手套。读卡器上的外接设备已经被拆走,无法追踪。
“我们需要的是——能证明凶手身份的物证。”阿扬说。
茜拉没有回答。她从背包里取出一个透明的证物袋,袋子里装着一粒扣子。米色的,塑料质地,边缘有磨损的痕迹。扣眼上还残留着几根断裂的深蓝色线头。
这是维卡斯在拘留室里从口袋里掏出来的那颗扣子。阿迪蒂尸体被发现时,身上那件米色长衫的领口处,第二颗扣子不翼而飞。
“这颗扣子是维卡斯从自己的口袋里发现的。他不知道自己什么时候拿到了它——他那晚的记忆是断裂的。但库马尔在死前告诉我,阿迪蒂临终时手里攥着女儿的半张照片。库马尔掰开她的手指,取走了照片。照片上没有扣子。”茜拉把证物袋举到灯光下,“那这颗扣子是怎么跑到维卡斯口袋里的?”
阿扬接过证物袋,仔细观察扣子上的线头。线头的断面在显微镜下呈现出的不是被拉扯断裂的锯齿状,而是被切割的平滑断面。
“这些线头是被刀割断的,不是扯断的。如果维卡斯在抱着阿迪蒂的时候不小心扯掉了她的扣子,线头断面应该是参差不齐的。平滑断面说明——扣子是被同一把刀割下来的。”
茜拉的脑子里闪过一丝光亮。“苏里亚刺她的时候,刀刃割断了缝扣子的线。扣子掉在地上。维卡斯离开之前踩到了扣子,或者在黑暗里不小心把它踢到了角落里,后来被他自己踩到鞋底,带出了库房。直到他在拘留室里脱鞋的时候才发现。”
这意味着——如果能在扣子表面或者线头上提取到任何与苏里亚相关的微量物证,比如他制服上的纤维、他手套上的化学残留,甚至是在刀刃上残留的金属微粒——这颗扣子就会成为连接苏里亚和凶杀现场的决定性物证。
阿扬小心翼翼地把扣子放进便携式三维扫描仪里,开始建模。扫描仪的屏幕上缓缓构建出扣子的三维模型,每一道磨损的纹路、每一个针脚的压痕,都在高精度扫描下显露出前所未见的细节。
“扣子正面有一处极微量的金属残留。”阿扬放大扫描图像,指着扣子边缘一个几乎肉眼看不见的小点,“成分分析显示是——不锈钢,牌号420J2。这种钢材通常用来制造中等品质的刀片。市面上的裁纸刀大多用更便宜的钢材,用420J2钢制刀片的一般是——战术折刀。”
苏里亚配发的警用装备中,恰好有一把制式战术折刀。刀片材质:420J2不锈钢。
茜拉站直身体。她的膝盖因为长时间蹲在地上而发出轻微的咔哒声,但她没有感觉到疼痛。她感觉到的是另一种东西——一种从脊椎底部往上升的、像电流一样的震颤。
“阿扬,扣子的扫描数据备份三份。一份给我,一份上传加密云端,第三份——”她停顿了一下,“第三份寄给你的父母。告诉他们这是你的毕业设计作业,不要打开,妥善保管。”
阿扬的瞳孔微微放大。“你觉得会有人来找我?”
“我不知道。”茜拉把扣子收好,装回证物袋,放进自己贴身口袋里,“但苏里亚用了二十年时间,把所有可能暴露他的人一个接一个地‘归档’掉。我父亲、阿迪蒂、库马尔。现在你帮我恢复了幽灵编号的门禁记录。你上了同一份名单。”
阿扬沉默片刻,然后弯下腰,从工具箱底层翻出一个U盘,插进电脑里开始疯狂地拷贝数据。他的手指在键盘上发抖,但敲击的节奏很快,快到像是在和时间赛跑。
“我在技术处这三个月,偷偷备份了很多东西。”他说,眼睛没有离开屏幕,“每一次苏里亚让我从服务器上删除一份文件,我都会在删除前做一个本地副本。我当时不知道自己为什么要这么做。现在知道了。”
他把U盘拔下来,放在茜拉手心里。
“这里面是过去三年邦警察总部内部调查组被‘归档’的全部悬案材料。包括你父亲那桩案子的补充调查报告——一份从未被写入正式档案的报告。报告里提到,开枪打死哈什·帕特尔的子弹,和十九年后刺入阿迪蒂·夏尔玛胸腔的刀刃,材质出自同一家军工厂。苏里亚没有换过他的配枪和配刀。他不换,是因为他从不认为这些东西有一天会被拿来当成指控他的证据。二十年的傲慢,终于留下了痕迹。”
茜拉握紧U盘,感觉到它微小的重量在掌心里发烫。
库房外面的走廊里忽然传来脚步声。不是胶底鞋踩在水磨石地面上的闷响,是皮鞋后跟的敲击声——清脆、有节奏、毫不掩饰。茜拉和阿扬同时关掉了手电筒。库房陷入一片彻底的黑暗,只有门缝下方漏进来一条细长的走廊灯光。脚步声越来越近,在库房门外停住了。
然后,门把手开始转动。


暂无评论,来抢沙发吧!