8. 镜像陷阱

沿海公路在车灯照射下像一条被剖开的灰色蛇腹。艾拉把车速压在限速边缘,右手握方向盘,左手反复摩挲着外套口袋里那张记忆卡。塑料外壳已经被她的体温焐热了,边缘硌着指腹,像一个沉默的倒计时。

从沉默角开回诺瓦市区需要三十五分钟。她在脑子里把这三十五分钟拆成了三个部分。第一部分,她要在进入市区之前听完索菲·伊达尔戈的录音——不是摘要,不是丹尼尔的转述,是索菲死前亲耳听到的最后一通电话的全部内容。第二部分,她要在到家之前制定出完整的行动方案——加布里埃尔·莫里斯不是一个普通的嫌疑人,他是卡尔索合众国最擅长利用程序漏洞的刑事辩护律师,任何搜查、扣押、逮捕行动中的微小瑕疵都会被他变成脱罪的武器。第三部分,她要进门。

她把记忆卡插进车载播放器,按下播放键。

先是一段杂音——风声、衣服摩擦声、一个年轻女人急促的呼吸声。然后响起手机拨号的按键音,三声,然后是等待音。一声。两声。三声。电话接通。

“心桥安全顾问办公室,我是凯恩。”一个男人的声音。

艾拉的手指在方向盘上收紧。

那不是加布里埃尔的声音。但她认得这个音色——是西风·凯恩。是沉默角防波堤上的那个男人。是丹尼尔·瓦茨。丹尼尔在电话里用的是加布里埃尔的声音模式——还是加布里埃尔在电话里用的是丹尼尔的声音模式?这两个人共享着同样的语速、同样的措辞习惯、同样的句末下沉音调。

“索菲·伊达尔戈女士吗?感谢您配合我们的安全核查。根据心桥用户协议修订条款,我们需要对近期受到骚扰投诉的匹配用户进行例行验证。您的账号被系统随机抽中。验证过程大约需要五分钟,请确保您处于一个私密的环境中。”

索菲的声音传来,带着一丝疲惫的信任:“我在家。可以开始了。”

“首先确认您的身份。请提供您的出生日期和匹配编号。”

索菲报出了自己的出生日期和编号。然后是几个简单的问题——注册时的邮箱地址、最近一次登录的时间、是否收到过可疑链接。所有问题都是标准的安全核查问题模板。丹尼尔把整套流程设计得天衣无缝。他不是在即兴表演。他是在执行一份脚本——一份被反复打磨、反复测试、反复在猎物身上验证过的脚本。

“最后一个步骤,”录音里的丹尼尔说,“为了验证您当前的登录环境与账号注册环境一致,我们需要您授权一次远程屏幕共享。您会收到一条来自心桥官方服务器的验证链接,点击后系统会自动校验您的设备指纹。整个过程不超过九十秒。”

索菲同意了。

九十秒内,丹尼尔通过远程屏幕共享获取了索菲的设备识别码、IP地址、以及她手机里存储的全部联系人列表。这些信息足够他在警局系统的待注销权限端口里锁定她的数字生活范围,也足够他伪造一份事故报告把她从所有社交媒体上抹去而不触发任何自动报警。接下来的通话录音持续了大约二十秒——索菲还没意识到对方会直接挂断,她的最后一句话是:“完成了。谢谢你们这么用心……”

电话在她说出“用心”两个字的中途被切断。

录音文件在切断点之后还有一段长达四十秒的空白,然后是一声极轻的碰撞声——麦克风被震了一下的声音——之后是一个男人低沉而平缓的自语声,几乎被背景里的纸张翻页声掩埋。艾拉把音量调高到刺耳的程度,然后她听到了那段话。

“洛马克斯诉奥尔蒂斯-马克斯。驳回理由中包含未能陈述主张,无论同时是否有其他驳回理由,计为一次。检方的证据链在第五个环节上依赖了从内部系统调取的数据——如果他们没有在驳回期限内重新提交证据,他们就失去了这一振。琳达,帮我把这份动议在明天下午之前送到州最高法院的立案处。”

那是加布里埃尔的声音。不是丹尼尔模仿的加布里埃尔。是加布里埃尔本人。他的语调从容、专业、带着庭审前一贯的专注。背景音里有咖啡机运作的低鸣声和律所秘书琳达打字机键盘的敲击声。他在录音里的时间戳与索菲被杀的时间重合。他不是在现场,而是在他的律所办公室里,通过一个被授权使用的远程权限节点,同时处理两件事——为他的当事人起草一份排除证据的动议,以及,挂断一个即将被他的盟友杀害的女人的最后一通求救电话。

盟友。这个词像一颗生锈的铁钉扎进艾拉的认知系统。加布里埃尔和丹尼尔之间不是对立的敌人——他们是共同作案者。他们共享同一个系统后门,共享同一套受害者筛选流程,但各自执行着不同的职能。丹尼尔负责设计、接触、实施,加布里埃尔负责伪装成安全顾问拨出最后一通电话,确保目标在信任崩溃前交出全部设备权限,然后在目标从世界上消失之后利用自身的法律专业为实施者构筑牢不可破的程序防火墙。

这就是为什么蓝眼睛的作案手法在侧写画像上会分裂成两个彼此矛盾的轮廓——一个拥有医学背景和实操经验,一个具备法学素养和语言控制力。不是一个人兼具两种特质,而是两个人在合体作案。

这就是为什么她在沉默角听丹尼尔控诉“你丈夫利用我留下的漏洞让连环袭击犯获释”时,总觉得有个逻辑缺口没有被填平。丹尼尔的控诉从来不是控诉——那是他最后一次欺骗,是他为加布里埃尔·莫里斯铺设的终极掩护。他用自己的死吸引她全神贯注于那张记忆卡上已经过时的录音证据,让她误以为加布里埃尔是被他的系统漏洞所牵连的无辜者或是冷血的利用者,而忽略了一个真正可怕的真相——他们不是利用与被利用的关系,他们是平等的共犯。丹尼尔用自戕来为她指向一条看似合理的叙事路径,而在这条叙事路径的终点,索菲的完整录音会证明她的丈夫是连环袭击犯的帮凶,是程序正义的背叛者,是司法系统的蛀虫。但她不会因此把他列为蓝眼睛的同谋——因为她听到了录音里加布里埃尔在做的事,他是在办公室里挂断一个诈骗电话,而不是在手术室里把针管插进克洛伊·郑的肋间。

这就是丹尼尔为她设计的陷阱。他用全部真实的证据构建了一个结论——加布里埃尔是坏人,但不是连环杀手。当她在法庭上把这些证据呈堂时,加布里埃尔的律师会轻松地证明录音里只有他挂断诈骗电话的行为,没有任何直接证据将他与谋杀现场关联。他的职业生涯会受到打击,但他的手铐会打开。而丹尼尔·瓦茨——一个已经葬身海底的死人——则会把蓝眼睛的所有谋杀罪责带着沉入沉默角黑色的潮水中。没有人会再往下追查,真正的蓝眼睛共犯将永远逍遥法外。

但丹尼尔犯了一个错误。一个致命的错误。他在木屋地下室里对她说了一句真话——他故意把地下室窗户的合页保留生锈状态,因为她不是第一个闯入者。她只是第一个活着离开的闯入者。之前的闯入者是谁?谁会在连环杀手的地下室里留下闯入痕迹却从未被报案?

除非那个人也是警察。除非丹尼尔·瓦茨生前最后一次打开的权限日志里,记录着另一个警徽编号曾经访问过NE-227节点。

艾拉把车停在离家还有三个街区的一处公共停车场。熄火,关灯,在黑暗中坐了整整五分钟。然后她用加密通道给夏琳发了一条消息:“不要申请针对加布里埃尔的搜查令。他在沉默角之前就知道我全部的调查方向。丹尼尔是共犯,不是从犯。蓝眼睛有两个。不要申请搜查令,否则加布里埃尔会在你拿到法官签字之前就销毁证据。给我一小时。”

她关掉手机,拔出手枪枪膛检查弹药,然后把枪插回腋下枪套。她下车,在凌晨的湿冷空气中步行穿过三个街区,走向那栋她住了八年的房子。客厅的落地灯还亮着,窗帘没有拉,从外面可以看到沙发的靠背和一盏孤零零的阅读灯。加布里埃尔坐在沙发上,背对窗户,肩背轮廓安静地落在灯光里。他面前的茶几上放着两只碗、两双筷子、还有一锅被重新加热的炖菜。

艾拉停在门口,看着这一幕。她的心脏跳得平稳而缓慢,像沉默角退潮时的浪。

她用钥匙打开门。

加布里埃尔转过头,对她笑了一下。“正好。炖菜刚热好。你去哪里了,这么晚?”

“沉默角。”她说,脱下外套挂在衣架上,转过身来,看着他的眼睛。

他的表情没有变化。一丝都没有。“沉默角?那种地方晚上很危险。”

“我知道。”

她走到他身边,在沙发上坐下来。茶几上的炖菜冒着热气,是她最喜欢的番茄牛腩。她拿起筷子,夹起一块牛肉,放在嘴里,咀嚼,吞咽。然后她把筷子放下,把那张记忆卡从口袋拿出来,放在茶几上的两只碗之间。

加布里埃尔的目光落在记忆卡上,蓝色的瞳孔在阅读灯的暖光里看不出任何波动。“这是什么?”

“索菲·伊达尔戈手机里的最后一段录音。她在死前接到了一个自称心桥安全顾问的电话。对方用安全核查流程骗取了她的设备权限,然后用远程屏幕共享获取了她的全部个人信息。挂断电话后四十分钟,她被琥珀酰胆碱注射,尸体被塞进一辆即将报废的旧车后备箱。”

她停下来,用勺子舀了一勺汤,喝下去。咸了。他今天多加了一勺盐。

“录音的背景音里有你的声音。”她说,声音和喝汤的动作一样平静,“你在跟琳达讨论洛马克斯诉奥尔蒂斯-马克斯案的适用前景。你让琳达把动议送到州最高法院立案处。索菲被杀的时候,你在加班。但不是一个人加班——你和琳达在律所,给丹尼尔·瓦茨放哨。”

加布里埃尔把筷子放下。他做这个动作的时候手指非常稳。然后他用餐巾擦拭了一下嘴角,向后靠进沙发,隔着茶几上一锅正在冷却的炖菜,对上她的目光。

“你今天晚上去了沉默角。”他说。这次不是问句,是陈述句。

“我见到他了。丹尼尔·瓦茨。他在我面前把一支琥珀酰胆碱推进了自己的前臂,然后跳进了防波堤尽头的海水里。他生前做的最后一件事是告诉我说——你就是和他一起策划所有事情的人。”艾拉直视着他的眼睛,那双眼她曾以为自己最熟悉不过,“他还说你在利用他的系统漏洞来掩盖你的作案时间线。”

加布里埃尔沉默了几秒钟,然后伸手拿起那张记忆卡,在指尖转了转。

“丹尼尔·瓦茨是系统管理员。他有权限伪造任何电子证据的时间戳、IP日志、甚至录音文件的声纹特征。你拿回来的这张记忆卡上面的所有内容,在他自杀之后都会变成‘无法被交叉验证的孤证’。你知道这意味着什么——它在法庭上连作为旁证的价值都没有。任何一位法官都会在初步审查阶段把它排除,就像我在连环袭击案里排除检方物证一样。”

他顿了一下,把记忆卡放回茶几上。

“所以你现在有两个选择。第一个选择是拿着这张记忆卡去奥尔特加面前递交针对丹尼尔·瓦茨的结案报告——蓝眼睛已经死了,物证链条完整闭合,你是侦破全州最大连环杀人案的英雄警探。第二个选择是提交这张记忆卡并同时指控我。在没有直接物证、没有目击证人、没有交叉验证数据支持的情况下,把我告上法庭。我的律师——我将从费尔港聘请全国最好的刑辩律师——会让你的证词看起来像一个因婚姻破裂而对丈夫进行恶意报复的女人的怨恨宣泄。你要选择哪个?”

他的声音温和、理智、条理清晰,和他每次帮她分析她遇到的案件困境时一模一样。这是一个在她每一次办案遇到困扰时都会耐心听她倾诉、帮她分析案件疑点的男人。

现在这个男人正在用同样的方式分析她的谋杀证据——冷静而逻辑严密地告诉她,她的收网行动在程序层面形同虚设。

艾拉看着他,看了很久。然后她从碗边拿起一张餐巾纸,缓缓擦拭自己手背上刚才被烫到的地方——她在进门后下意识碰了一下炖锅边缘,现在那里已经开始泛红,但完全不疼。她已经感觉不到任何疼痛了。

“你从什么时候开始的?”她问。她不再按捺自己的嗓音——它来自她做警探培训时练习过无数次的专业审讯低频,“从你第一次接触丹尼尔·瓦茨的权限后门开始,还是更早?”

加布里埃尔没有回答。他的嘴唇动了动,似乎想说什么,但最终什么也没说。他只是垂下眼睛,看着茶几上的记忆卡,看着冷却的炖菜表面正在凝固的一层油膜。

“你在维罗纳对我说过一句话。”艾拉说,“你说‘不管发生什么,你永远是我最珍视的人’。我当时以为那是一个警告。现在我知道那是一个测试——你在看我会不会在你面前退缩。”她把餐巾纸揉成一团,丢在茶几上。“我退缩了。那是我这辈子犯的最后一个错误。”

她站起来,走到玄关,从外套内侧口袋里拿出那部预付费手机——诺拉的手机。她打开屏幕,翻到西风·凯恩的对话框。最后一条消息是丹尼尔在沉默角发来的:“诺拉,后天见。沉默角。晚上十点。你会来吗?”她打出最后一条回复,发送,然后把手机屏幕转向加布里埃尔。

他看到了那条消息。只有两个字——“晚安。”——和一个句号。

但发送时间戳让他脸上的从容首次出现了细微的裂痕。时间戳是今天晚上十点四十一分。丹尼尔已经死了七分钟。她是在丹尼尔死后七分钟,用丹尼尔的账号向丹尼尔的账号说了一句晚安。这是一个信号——一个告诉加布里埃尔她已经掌握了西风账号密码、已经彻底接管了蓝眼睛数字身份的信号。也是她向他发出的反杀宣言。

“你没有证据可以把我钉死。”加布里埃尔的声音少了几分从容,多了一层极薄的、几乎不可察觉的紧张。

“我不需要证据。”艾拉说。她拿起外套,走向门口。她的声音从门廊传回来,“我只需要你在接下来每一个无法入眠的凌晨,都不确定我是不是还站在你的枕边。我只需要你用全部法律技巧为自己辩护并洗脱罪名之后,仍然无法确定这次系统入侵的证据排除会不会是你对自己打的最后一记三振出局。你已经失去了丹尼尔这个共犯——他现在长眠在沉默角海底。你只剩下你自己,还有我。”

她推开门,踏上台阶。诺瓦市的天空是深灰色的,头顶有一两颗暗淡的星在云层间出没。她走进夏琳的车,夏琳已经在车里等了很久。她看到艾拉空手走过来,没有问任何一句话,只是发动引擎。

轿车驶离艾拉生活了八年的房子时,她透过后窗凝视它最后一眼。客厅落地灯仍然亮着。窗帘没有拉。加布里埃尔的侧影还坐在沙发上,保持着刚才面对她的姿势,一动不动。桌上那锅炖菜还在散发热气,但她知道它很快就会变凉。

“我现在需要的不只是证据,”她把头转回来,对夏琳说,“我要他在法庭上亲自援引洛马克斯案的判决,然后发现自己援引的这个判例反过来把他的一切后手都框进了三振出局。我要他最后失败的根由,就是他这辈子最引以为傲的法律武器。”

夏琳从方向盘上抬起一只手,用力握住她的手。没有说任何话。

她们都知道加布里埃尔不会等天亮再出手。他会在太阳升起之前启动他所掌握的全部程序工具来抹除残余的数字足迹。但艾拉已经无所谓了——她已经找到了那条可以绕过所有法律防火墙的路径,那条路径不需要记忆卡的可采性,不需要搜查令的合法性,不需要任何物证。它只需要加布里埃尔用自己的法律知识在法庭上多走半步。

那半步,就是她用八年的沉默铺成的陷阱。

本章评论(0)

暂无评论,来抢沙发吧!

我来评论

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