纪寻在凌晨四点敲开了宋砚宿舍的门。
宋砚刚从周予家回来不到两个小时。他合衣躺在床上,脑子里反复回放周予在书房里说的那句话——“你手里已经有一张网,但没有我,这张网缺了最关键的一条线。”他睡不着,干脆睁着眼盯着天花板上那盏没开的吊灯,直到走廊里响起急促的脚步声。不是走,是跑。帆布鞋踩在水磨石地面上,步子很轻但很快,像一只受了惊的猫从楼道那头蹿过来。
敲门声又急又密,指关节叩在铁皮门上,咚咚咚,咚咚咚,中间几乎没有间隔。宋砚翻身坐起来,赤脚踩在冰凉的地板上,拉开门。
纪寻站在走廊里。她裹着那件明显大一号的冲锋衣,帽子歪在一边,马尾散了半边。眼镜片上有一层薄薄的雾气,嘴唇抿得很紧,紧得发白。手里捧着笔记本电脑,电源线拖在地上。屏幕还亮着,蓝白色的光映在她脸上,把她的脸色照得更白。
“宋队。”她的声音压得很低,但语速比平时快了将近一倍,像是憋了一肚子的话不一口气说完就会炸开,“我在恢复旧硬盘的时候发现了奇怪的东西。”
“进来。”
纪寻进屋,把笔记本电脑放在桌上,掀开屏幕。她的手指在触控板上快速划了几下,调出一组文件。屏幕上的数据密密麻麻,是系统日志的原始编码,一行一行绿色的字符在黑色背景上滚动。宋砚拉了把椅子在她旁边坐下。
“我今晚本来在跑那六个法医的通话记录,跑到一半发现周予的基站数据有一个异常节点。不是通话记录,是数据流——他的系统在往外发送数据。不是发给孙胜,不是发给陆远,不是发给唐铭远。是发给一个完全不在我们监控范围内的外部节点。”纪寻敲了一下键盘,屏幕上的数据流被放大,一条一条标注出来,“这是周予系统日志的残片。我从他注销掉的那台旧电脑硬盘里挖出来的——就是他在法医科换下来的那台。硬盘被物理销毁过,但有一小部分扇区没有被完全覆盖,我在残留磁道上恢复了这些碎片。”
宋砚盯着屏幕上那些数据。是周予的系统日志。不是他熟悉的13号系统界面——13号的界面是蓝色的,数据排列方式有清晰的层级结构,每一条提示都有明确的分类标签。但周予的日志完全不同。数据结构是嵌套式的,像一个迷宫,每一条日志都指向下一条日志,每一条都有多个分支路径。措辞更冷,更精确,更像一台机器在对另一台机器说话。最让他后脊发凉的,是日志里反复出现的一个代码。这个代码不属于周予的系统。它独立于7号系统之外,以更高的权限调取7号系统的运行数据,然后把数据打包发送到那个不在监控范围内的外部节点。每一段日志的末尾都有同一行标注——“数据已同步至上层监控系统。”
有人在监控周予的系统。不是入侵,不是窃取,而是系统本身就设计了这个后门。7号系统从一开始就不是独立的。它在运行的同时被另一个更高权限的系统实时监控。周予杀了十七个人,签了十七份意外,留了十七张照片,在解剖室里对着电脑屏幕说“我要赢他”——这些,都被另一个系统看在眼里。
“也就是说——”宋砚的手指在桌沿上慢慢收紧,指节泛白,“周予上面还有人。”
“或者说,还有系统。”纪寻把冲锋衣的帽子往后一推,露出整张脸。眼睛里有血丝,眼眶泛红,但目光很锐,像一把刚开过刃的刀,“这个上层系统的权限比7号高。它能调取7号的全部运行数据——包括周予的作案记录、系统对话日志、甚至他的心理状态评估曲线。它不止在监控周予。它是在用周予做实验。”
宋砚盯着屏幕。实验。这个词他在系统里见过。系统说周予是实验组,他是对照组。但现在他知道了——实验组的白鼠在跑迷宫的时候,头顶上还有一双眼睛在看着它跑。那双眼睛不属于迷宫的设计者,属于另一个更高级别的观察者。而这个观察者,可能也有系统。风险无法评估。不是系统无法评估,是13号系统无法评估。因为他自己的系统和对方不在同一个权限层级上。13号是实验用系统,7号也是。那双眼睛的编号比他们更高。
“周予知道这件事吗?”
“不知道。”纪寻调出另一段日志碎片,日志显示9号节点在今天凌晨向7号开放了13号的部分档案,但并未同步“上层监控系统存在”这一信息。也就是说,7号系统本身的设计者从一开始就对绑定者隐瞒了后门的存在,“他在跟自己的系统对话的时候,每一句话都被同步到另一个地方。但他不知道。”
“那我的系统呢?”
纪寻的手指在键盘上敲了几下,调出另一组数据。13号系统的日志结构是封闭的,没有发现类似的后门。但纪寻在13号系统的底层代码里发现了一段被加密的代码块——不是后门,更像是一个被提前预设好的接口。它目前是休眠状态,但如果有人从外部用正确的密钥激活它,它就会变成一个和7号一样的监控后门。这段代码的开发时间早于13号系统的上线时间,这意味着它并不是后来被人塞进去的,而是出厂时就装好了。
宋砚把后脑靠在椅背上,闭上眼睛。实验组是7号,对照组是13号。但他们两个都不知道,头顶上还有一个人——或者一个系统——在看他们互相博弈。看周予在解剖台前杀了人又签了意外,看宋砚在办公室里对着二十一人名单发愣,看他们在走廊里擦肩而过各怀鬼胎,看他们坐在书房里喝酒问“你有没有做过违背良心的事”。那个人在看戏。把两个被系统绑定的人放在同一个棋盘上,一个教他杀人,一个教他破案,然后等着看谁赢。
“能追踪到那个上层监控系统的位置吗?”宋砚睁开眼。
“试过。追到第四个节点就断了。不是物理断网,是权限不够。”纪寻说这句话的时候语气里有一丝极细微的不甘心——她大概已经追了一整晚,把所有能绕的防火墙都绕了,把所有能用的跳板都跳了,但还是在最后一层被拦下来。那种感觉就像爬到悬崖顶上伸手去够最后一块石头,石头忽然自己往后退了一步。
“它的权限比我们高。不是技术上的高——是它从一开始就被设计在食物链的上一层。7号和13号是同一批次的产品,它的编号大概比我们更靠前。不是7,不是13。是更靠前的数字。”
房间里安静了好一会儿。窗外天边开始泛出一线灰白色的光。远处码头上有渔船拉响了第一声汽笛,声音穿过晨雾和海风,闷闷地传过来。宋砚站起来走到窗前。对面楼顶上积了一夜的雨水正在被晨风吹干,水渍从灰白色的水泥面上慢慢缩小,像一张被时光往回翻的纸页。他本来以为找到了网络的源头——唐铭远用十年时间替六个人在每一份鉴定报告上伪造签名。但现在发现唐铭远也不是塔尖。塔尖的砖块被人用透明的绳子吊在半空中,绳子的另一端握在一只看不见的手里。
“这事先不要告诉任何人。沈渡、江晚棠——都先别说。”他转过身来看着纪寻,“不是不信他们。是在我们搞清楚那个上层系统的目的之前,知道的人越少越安全。唐铭远是实验的管理员,但他可能也不知道头顶上还有人。周予是实验组,我是对照组。现在有人在看我们怎么博弈,等着我们分出胜负。这场实验的赌注不是输赢,是系统合并。赢的人拿到最终权限。输的人连自己的系统都保不住。”
纪寻把笔记本电脑合上,屏幕暗下去的一瞬,她脸上的蓝光消失了,取而代之的是窗外透进来的灰白色晨光。她站起来把冲锋衣拉链拉到下巴,动作很慢,像是在消化宋砚刚才说的每一个字。然后她走到门口时停了一下。
“宋队。周予知道他自己的系统被监控吗?”
“不知道。他只是觉得自己在下一盘棋。不知道他自己也是棋子。”
纪寻拉开门,走廊里的声控灯亮了一盏。她走出去,帆布鞋的脚步声越来越远,最后消失在走廊尽头的楼梯间里。
宋砚在床沿上坐了很久。远处海面上晨雾正在散开,海平面上那道裂缝越来越大,金色的阳光从裂缝里倾泻下来,照在对面楼顶残留的水渍上。水渍还在缩小,但还没干透。等水渍干透的时候,天就彻底亮了。
他把手机拿起来,翻到周予的号码。拇指悬在拨号键上方停了两秒,没有按下去。然后他把手机翻过来放在床头柜上。周予在三小时后还要到局里做正式笔录,在审讯室里把江晚宁的案子一字一句写进笔录里。在那之前,他什么都不能说。