第十三段文本的出现,像一颗投入静水中的石子,激起的涟漪远比李铎预想的要大。
第二天一早,他召集了专案组剩下的几名核心成员——老方、小赵、小周,还有技术科的两名网络取证专家——在市局的小会议室里开了一个紧急碰头会。会议室的门从里面锁了,窗帘拉得严严实实,白板上贴满了打印出来的服务器日志、文本对比分析和时间线图表。小赵把那第十三段文本的完整内容投在了大屏幕上,每一个字都在惨白的背景光里显得格外刺目。
“这段文本的植入时间,是苏九思被捕之后的第四天。”小赵站在屏幕旁边,用激光笔指着时间戳那一栏,“具体时间是凌晨三点十二分,植入方式是通过游戏后台的一个老旧的维护端口。这个端口在游戏正式上线之后按理说应该被关闭的,但它没有被关闭——有人刻意保留了它,并且用它绕过了所有的安全审计系统。”
老方皱着眉头,粗壮的手指在桌面上敲着节奏,像一台缓慢运转的引擎在预热。“苏九思在审讯里有没有提到过这个维护端口?”
“没有。”李铎站起来,走到白板前面,“苏九思供述的所有技术细节,都围绕着他自己的代理服务器和虚拟号段展开。他对游戏后台的维护端口只字未提。两个可能:要么他不知道这个端口的存在,要么他知道,但他故意隐瞒。但考虑到他被捕之后这个端口仍然被使用,我觉得第一种可能性更大——这个端口不属于他的计划范围。”
“那属于谁的?”老方问。
会议室里安静了几秒。李铎拿起记号笔,在白板上苏九思的名字旁边画了一个新的圆圈,打了一个问号。“苏九思的猎物名单上有十二个人。他的代码文件里有十二段自定义文本。但这段第十三段文本不在他的名单上,不在他的文件里,甚至不在他的供述范围之内。这段文本的语气、措辞、修辞习惯,都跟苏九思的其他文本不一样。它不是在命令,不是在测试,不是在瓦解——它是在告别。一个人在跟未来某个不确定的接收者告别。所以我初步判断,这段文本的植入者不是苏九思本人,而是另一个跟苏九思有密切关联、并且具备高度技术能力的人。”
小周举起手,像个在课堂上提问的学生:“会不会是苏眠?她以前帮苏九思润色过文案。”
李铎摇了摇头。“苏眠的文字风格我太熟悉了。她的学术论文、她的邮件、她帮苏九思润色的那段招募令,都有一个共同的特点——她喜欢用问句,喜欢在陈述句的末尾留一个开放性的余地。但这段文本里没有一个问号。它从头到尾都是陈述句,每一句都是笃定的,毫不犹豫的。这不是苏眠写的。”
“而且,”小赵补充道,“这段文本的植入需要直接操作游戏后台的维护端口,这个端口需要特定的管理员权限和一套不同于普通后台的登录凭证。苏眠的计算机水平达不到这个层级。她是历史学者,不是程序员。”
老方站起来,走到白板前面,从李铎手里接过记号笔,在问号的圆圈外面又画了一个更大的圈。“所以我们现在要找的人,具备以下特征:第一,跟苏九思有密切关联,了解他的作案计划和心理动机;第二,具备高度的网络技术水平,能够操作游戏后台的维护端口;第三,在苏九思被捕之后仍然保持自由行动的能力;第四——也是最重要的一点——这个人对苏九思的‘仪式’有认同感,甚至愿意在他被捕之后继续替他完成未竟的事情。”
李铎的手机在桌上震了一下。他低头看了一眼,是小赵发来的一份加密文件,标题是“苏九思离职前三个月通讯记录深度分析”。他点开文件,快速浏览了一遍,目光在某一页上忽然停住了。那是一份苏九思在网络安全公司工作期间的内部邮件记录,发件人是苏九思,收件人是一个他在之前的调查中没有见过的名字——程远。
邮件的日期是苏九思离职前两周,正文很短,只有三行字:“程哥,你上次说的那个端口的事情,我考虑了很久。我想把它用在游戏里,不是为了钱,是为了别的东西。如果哪天我不在了,你帮我把那扇门留着。”
苏九思在被公司开除之前,就已经在策划这一切。而他把“那扇门”——那个维护端口——交给了这个叫程远的人。程远是他公司的同事、是他的技术伙伴、是他在整个计划中预留的一道后手。如果苏九思出事了,程远会替他把最后一封信发出去。那封“致未来的你”——不是留给苏眠的,不是留给警方的,而是留给整个游戏世界里所有可能读到它的人。一份凶手与凶手之间的接力棒,一封寄给未来的遗书,一个永远无法被彻底关闭的端口。
他把手机递给老方,老方看完之后脸色铁青,把手机还给李铎,说了两个字:“抓人。”
对程远的抓捕行动定在当天下午。技术科通过邮件IP和手机号定位,锁定了程远的住址——城南一栋老旧居民楼的顶层,离苏九思曾经工作过的那家网络安全公司只有三站地铁的距离。李铎带着小周和两名便衣刑警敲开那扇门的时候,程远正坐在电脑前面,屏幕上开着三个窗口:一个是《铁壁》的游戏后台管理系统,一个是一行行正在滚动的代码日志,还有一个是苏九思在看守所里的在押人员信息查询页面。
程远看起来三十岁出头,戴着一副金属框眼镜,穿着一件洗得有些褪色的灰色卫衣,桌上放着一碗吃了一半的泡面,面汤已经凝了一层白色的油脂。他看到李铎亮出警官证的时候,没有慌张,没有抵抗,甚至没有站起来。他只是把双手从键盘上拿开,放在膝盖上,然后长长地吐了一口气,像是终于等到了某个他早就知道会来的时刻。
“我知道你们会找到我。”程远说,声音很平静,带着一种技术人员特有的、跟情绪保持着距离的冷静,“苏九思被抓的那天,我就在等你们敲门。你们比我预想的慢了几天。”
李铎示意小周去封存电脑,自己拉了一把椅子,在程远对面坐了下来。“程远,你跟苏九思是什么关系?”
“同事。朋友。也许是他唯一信得过的人。”程远摘下眼镜,用卫衣的下摆擦了擦镜片,又重新戴上,每一个动作都做得不紧不慢,“我们在同一家网络安全公司共事了两年。他负责渗透测试,我负责漏洞修复。他是最优秀的攻击者,我是最擅长修补漏洞的人。我们配合得非常好——他找到漏洞,我把它堵上,然后他再找下一个。但后来我们都发现,真正需要修补的漏洞不在系统里。在人身上。”
“苏九思把他的计划告诉你了?”
“一部分。”程远说,“他没有告诉我他要杀人。他只跟我说,他在做一个‘社会心理学实验’,需要在《铁壁》的后台留一个隐蔽的维护端口,用来植入一些自定义文本。他问我能不帮他保留那个端口。我答应了。我当时不知道他会用那个端口去做什么——发布招募令、设置自动回复、在草稿箱里埋下那封遗书。但我知道,不管他在做什么,他一定有自己的理由。”
“什么理由?”
程远沉默了一会儿,然后低下头,看着自己放在膝盖上的双手。他的手指修长,指节分明,指甲修剪得很整齐,是一双典型的程序员的手。当这双手不在键盘上的时候,它们看起来有些无所适从,像是在寻找某种可以抓住的东西。
“苏九思曾经跟我说过一句话。他说,他这辈子最怕的事情,不是死,而是没有人记得他。他怕自己像历史上那些被张煦砍头的蕃部盗马者一样,死了之后连个名字都留不下来。他说他要做一件事,让所有人记住他。哪怕是恐惧,哪怕是憎恨,也比被遗忘要好得多。我当时觉得他只是说说。没有人会真的为了被记住而去杀人。但我错了。”
李铎看着程远,眼前这个人不是凶手,不是从犯,不是传统意义上的同谋。他只是一个打开了门的人。他不知道门后面有什么,但他在打开门的那一刻,已经选择了不去追问。而苏九思利用了这种选择。他用友情、信任和共同的职业默契作为筹码,换取了程远的沉默和技术支持。这是一场以信任为诱饵的交易,而程远在不知不觉中被卷入了最深的那一层。
“苏九思被捕之后,你为什么要植入那段第十三段文本?”
程远抬起眼睛看着李铎,目光里有一种让人说不清楚的复杂——不是悔恨,不是挑衅,而是一种近乎虔诚的平静。“因为那是他留给这个世界的最后一段话。他把它发给我,加密存储在一个我们共同维护的私人服务器上。文件设置了定时发送,触发条件是他的在押状态持续超过七十二个小时。他在被捕之前就预设了这一切。我收到文件的时候,他已经在看守所里了。我可以选择删除它,当什么都没发生。但我没有。因为我知道,如果我不帮他发出去,他就真的什么都没有留下了。”
审讯室里,程远把所有的事情都交代了。从苏九思第一次找到他,提出要在《铁壁》后台留一个后门,到他最后一次收到那封加密邮件,再到他凌晨三点坐在电脑前,犹豫了整整四十分钟,最终按下了发送键。他的供述冷静、完整、不带任何推卸责任的辩解,跟技术证据完全吻合,每一个时间点都对得上,每一个技术细节都经得起推敲。他说完之后,沉默了几秒钟,然后主动问了一个让李铎有些意外的问题。
“苏九思会被判死刑吗?”
“我不知道。那是法院的事。”李铎回答。
“如果他判了死刑,那段第十三段文本就是他最后的东西了。”程远说,声音里终于出现了一丝细微的颤抖,像是冰川深处传来的一声冰裂,“我知道听起来很荒谬——但我觉得,我应该帮他留下来。不是为了他,是为了那些被他杀死的人。让所有人知道,这个人为什么会变成这样。不是天生的,不是基因里带的。是被一点一点压出来的。”
审讯结束之后,李铎把程远供述中跟第十三段文本相关的部分整理成一份补充材料,递交给了检察院。老方签字的时候,叹了口气,把老花镜摘下来搁在文件上,说了句:“一个苏九思还不够,又多了一个程远。这些搞技术的,到底是太聪明还是太傻?”
李铎没有回答。他想起程远在审讯室里的那句话——“真正需要修补的漏洞不在系统里,在人身上。”程远在技术上找不到这个漏洞的补丁,于是用了最笨的方法——试图用一段文本来填补它。但文字不是补丁。文字只是一面镜子,映照出裂痕的形状,却无法将它修复。
回到家的时候,已经是深夜了。
苏眠还没有睡。她坐在餐桌前,面前摊着一堆从单位搬回来的东西——古籍影印本、校勘笔记、论文草稿,还有那份她在地方志办公室工作时帮《铁壁》游戏整理的唐代文献索引。她在整理这些东西,不是漫无目的地翻看,而是在做某种李铎不太确定但大致能理解的分类和归档。也许是在跟自己过去的那些岁月做一个清算——哪些是真的学术研究,哪些在不知不觉间成为了苏九思的帮凶。
“程远被抓了。”李铎在她对面坐下来。
“我知道。新闻上看到了。”苏眠把一份影印本合上,放在左手边的那一摞上,然后抬起头看着他,“他说了什么?”
“他说苏九思最怕的不是死,是被人遗忘。”
苏眠沉默了很久。她的手指停在一本翻开的古籍上,指尖轻轻划过纸面上那些竖排的繁体字,一个字一个字地移动,像是在读一段她读过无数遍的句子,但此刻每一个字都忽然有了不同的重量。然后她开口了,声音很轻,像是在对自己说话。
“其实小九小时候画画画得很好。他画过一棵老槐树,就是护城河边那棵。画得特别认真,每一片叶子都用不同的绿色涂了好几层。他把那幅画送给了我,说——‘姐,等我长大了,我要画一幅更大的,挂在我们家门口,让所有人都看到。’后来他把那些画全烧了。我爸出事之后,他就再也没有画过任何东西。他觉得他不配留下任何东西。所以他后来做的一切——那些代码、那些文本、那些游戏里的仪式——都是他在用另一种方式画画。画一幅他以为能让所有人记住他的东西。只不过颜料不是水彩,是别人的血。”
李铎从餐桌对面伸过手去,把苏眠放在书页上的手轻轻握住。她没有抽回去,只是翻过手掌,跟他十指交扣。她的手还是凉的,但不再像之前那样冰冷僵硬,而是有了一种细微的、在缓慢回暖的温度。
“明天我去单位递交最后一份材料。”李铎说,“然后我的假期就正式开始了。一个月。你想去哪里?”
“东受降城。”苏眠说。
李铎愣了一下。“那里现在是案发现场,拉了警戒带,你去干什么?”
“不是现在。等案子彻底结束之后。”苏眠看着他的眼睛,目光平静,但平静下面有一层很深的、不易察觉的东西,“我想去那里看一看那些枯井。不是看案发现场,是看那片土地。我想站在那个城门口,看看张煦站过的地方,看看那些被处决的人跪过的地方。我想知道,在一千二百年前的那个冬天,那些被绑在城下的人,他们在最后一刻看到的是什么。他们有没有想过,有人会记住他们。”
窗外,护城河的方向传来一阵夜鸟的叫声,短促而清亮,划过寂静的夜空,然后消失了。苏眠低下头,把脸埋在他肩膀和脖子之间的那个凹陷里——那个她从恋爱时代就习惯待的位置。李铎揽住她的肩,感觉到她的睫毛在自己颈窝里轻轻扇动,像蝴蝶翅膀触碰花瓣。他们维持这个姿势坐了很久,久到餐桌上的茶杯里最后一丝热气都散尽了。
第二天一早,李铎去了市局,把最后一批补充材料亲手交给了案件交接的检察官。走出市局大门的时候,他的手机震了。是小赵发来的一条消息,只有一句话,但每一个字都像是被仔细称量过才放出来的。
“李队,程远的电脑里恢复了一个被删除的定时发送脚本,发送对象不是苏九思的私人服务器,是一个外部的匿名邮箱。发送时间设定在一年后的今天。”
李铎的手指停在屏幕上,嘴角抿成了一条直线。一年后的今天。第十三段文本不是最后一封。还有第十四封。它已经在某个服务器上,安静地倒数着三百六十五天的计时器,等待在未来的某一天抵达某个未知的收件箱。他不知道那封信会是什么内容。他只知道,苏九思在设计这套程序的时候,大概跟程远说了这样一句话:“有些东西,不能一次说完。要说给未来的自己,说给未来还能记得我的人。”
而那些人,也许此刻还不认识苏九思。一年以后,当他们收到那封从过去寄来的邮件时,会有什么反应?恐惧?好奇?还是某种病态的崇拜?李铎不知道答案。但他知道,苏九思用十三段文本和一套精心设计的定时发送系统,把自己的阴影投射到了未来。即使他的肉体被法律终结,他的文字仍会在某个深夜的收件箱里悄然复活。
他把手机揣进兜里,抬头看了一眼冬日的天空。太阳正从云层后面缓慢地移出来,把光打在对面那栋老建筑的砖墙上,把每一道裂缝和每一块凸起的砖角都照得清清楚楚。他忽然想起苏九思在审讯室里说过的那句话——“信任是世界上最危险的东西。它不会保护你,它只会让你死得毫无防备。”苏九思错了。信任不是武器,不是盔甲,更不是工具。信任只是一种选择。你选择相信一个人,不是因为你了解他的一切,而是因为你在了解了他最坏的那一面之后,仍然决定留下来。
他把外套拉链拉到最高,迈步走进了晨光里。脚下的人行道上残留着昨夜未化的碎雪,踩上去发出细碎的嘎吱声,像某种古老的计时器仍在缓慢而固执地走着。


暂无评论,来抢沙发吧!