祥子离开巷口,往安全屋方向快步走,背后格栅撞击的声响已经压进她的脚步声里,她没有回头,手机屏幕在她手心里亮着,那张八奈见背后信号发射器的图片还没有关。
她在跑动的过程里把图片重新看了一遍,发送那张图的号码,不在她的任何联络记录里,不是野火的内部号码格式,不是她认识的任何人惯常使用的发送方式——这个号码的归属她不知道,但发图的人此刻在安全屋里,并且有能力在八奈见不知情的情况下,站在那个角落附近完成拍摄和发送。
安全屋里现在有谁,她在脑子里过了一遍:虹夏守在物资区门口,八奈见在公共区域靠窗位置,兼定在地下通道里,白野在窄巷南端,喜多的方向不明,联络员最后一次出现在走廊黑暗里、随后消失。
有资格拍那张图并且发给她的人,她圈出了两个——一个是喜多,一个是联络员。
但喜多往深处走的方向和安全屋公共区域的距离,加上时间节点,她如果要在那个时间站在那个角落旁边拍下那张图,时间上勉强够,但动机上有缺口——喜多如果是整件事的执行者之一,她不会主动把信号发射器的位置暴露出来。
那就是联络员,那个一直找不到位置、在走廊黑暗里说了一句“货不只有两份”然后消失的人,他在安全屋里,他一直在安全屋里,只是他选择的位置和移动路线,从来没有暴露在任何人的视野里。
这个人知道信号发射器的存在,知道它的位置,知道如何在八奈见没有察觉的情况下拍下那张图,然后发给祥子。
他也是第一个告诉她“货不只有两份”的人。
他把信息传给她,但始终没有直接站出来,他有顾虑,或者他有他自己的行动逻辑,在他认为该开口的时候开口,在他认为该发图的时候发图,但不正面出现,不暴露自己的位置——这个人不是敌方的人,但他也不完全在野火的框架里行动,他有自己的判断在主导他的每一步。
这些东西在祥子脑子里过了不到三秒,她已经拐进安全屋那一侧的路口,推开了侧门。
走廊里的备用灯还亮着,她往公共区域的方向走,快走,但步子刻意没有踩出太大的声音,经过物资区门口时她往里扫了一眼——虹夏站在门口靠里一点的位置,把身体横在通道中间,没有动,物资区的那个储存盒还在角落,没有人动过它。
虹夏看见她,用眼神问,她摇了一下头,意思是先不动,原地守着,虹夏往后退了一步,把守着的位置往里靠了靠。
祥子继续往公共区域走,在走进公共区域之前,她在走廊里停下来,靠着内侧的墙壁,把呼吸放稳,把公共区域的角度想了一遍——那个信号发射器挂在八奈见背后那面墙上,如果她直接走进去,八奈见会立刻看见她,而八奈见此刻是否知道那台设备的存在,她不确定,如果八奈见知道,直接走进去等于告知对方她发现了那台设备;如果八奈见不知道,直接走进去同样可能打草惊蛇,让某个正在等信号的人察觉异常。
她需要用一个不会引起注意的理由走进公共区域,靠近那面墙,完成关机,同时不让八奈见意识到她在做什么。
她在走廊里站了两秒,然后想起一件事——虹夏之前说,公共区域的电力线路控制箱就在靠窗一侧的内墙上,走廊这段断电之后,备用灯是从另一侧的应急电源启动的,主线路控制箱没有重置,那个控制箱的位置,和八奈见背后那面墙,在同一侧。
她有了走到那面墙旁边的理由。
她走进公共区域,没有朝八奈见那个方向直接去,而是先走向窗边,把窗帘拉开一条缝,往窄巷方向看了几秒,然后以检查设备的姿态,沿着内墙往靠里的方向走,经过一个放着通讯器材的工作台,在控制箱旁边停下来,把控制箱的盖子打开,作出在检查线路的动作。
这个位置,她的手和控制箱之间的角度,刚好遮挡住旁边那台信号发射器的正面,在她侧移半步之后,手可以够到那台设备的电源接口,而从八奈见的站位看过来,她的动作和正在检查控制箱的人没有任何区别。
她花了大约十五秒完成了这件事,信号发射器的指示灯灭掉了,不是按了关机键,是直接把接口那一端的线拔掉了——比关机更彻底,不会有关机前的信号波动,对接收端来说,信号是直接中断,不是正常结束。
八奈见在这十五秒里没有离开窗边,她把窗帘换了一条缝,往外看,背对着祥子,手里的平板屏幕是关着的,放在大腿侧面,她的整个状态是那种表面平静、内部紧绷的样子,像是一个在等什么的人。
祥子把控制箱的盖子重新扣上,转身走出公共区域,在走廊里停住,把地下通道里现在的情况重新想了一遍——信号中断,出口方向指引消失,地下通道里的三个人,其中那个提前进去的人会失去引导,另外两个从车边过来的人,是不是也在依赖这个信号来判断方向,她不确定,但可能性很大,因为地下通道如果不是他们踩过的路,黑暗里没有方向标记,信号中断就等于路断了。
兼定在里面,他追的那个提前进去的人,方向是跟着脚步声走的,不是跟着信号走的,但那两个后进去的人,他们是否知道通道的结构,是一个变量。
她把这个变量压下来,不能在这里停着,外围的人应该已经接近那个巷口入口了,她需要掌握更多当下安全屋里的状态,特别是两件事:一,喜多的位置;二,那个联络员到底在哪里。
她往会议室方向走,路过一个杂物间,门是虚掩的,杂物间从来都是锁着的,今晚不知道什么时候被打开了,她把门推开,用备用灯透进来的角度照了一眼,里面没有人,但有一件东西放在里面靠墙的位置,是一个折叠的轻型背包,打开的,里面塞着一件换洗衣物和一个小型的密封袋,密封袋是透明的,里面装的东西她从这个角度看不清楚。
这件背包不属于野火的任何常备物资,是有人带进来的,放在这里,在杂物间这种平时锁着的地方——这是一个临时藏匿的个人物品,或者,是一个提前准备好的离开包,放在一个不会被人随手打开的地方。
她把那个密封袋从包里取出来,贴近光源,看清楚里面是什么——是几张小卡片,不是身份证件,是访问令牌,带芯片的那种,用于通过特定门禁或者验证系统,卡片上没有名字,只有序列号,样式不是野火使用的格式。
她把密封袋放回去,背包的位置不动,把杂物间的门重新带上,在走廊里快步往前走。
这个背包说明有人计划今晚离开,并且提前在这里做了准备——访问令牌意味着他们的目的地有门禁,不是随意进出的地方,是一个有验证系统的设施,这个设施不在野火的体系里。
她把这件事和物资区第三份储存盒、地下通道里的三个人、以及还没有现身的联络员,全部放在同一条时间线上——今晚所有的行动,包括分拆货品、制造混乱、利用断电制造转移窗口,最终的落点不是转移样本,而是有人要带着那些访问令牌、用另一个身份,进入一个特定的设施。
货是什么并不重要,重要的是那些令牌能打开的门通向哪里。
她在走廊里停住,把这个推论发给了白野,同时把杂物间的位置标出来,让他的人去封那间屋,不要移动里面的东西。
白野的回复来得比她预期的晚,不是三十秒,是将近一分钟,内容很短,说外围的人已经到达入口位置,格栅那边的撬棍还顶着,没有被从里面打开,但他们在封口的过程中,在格栅旁边的地上发现了另一样东西,是一根细长的储存管,和她之前在厢式车边那个人手里看见的那一根,规格完全一样,但这一根的密封是完整的,没有被打开过。
她把这件事重新放进整条线里——那个人手里拿着储存管,两个人往地下通道方向走,进去了,但储存管在入口旁边的地上,没有带进去。
这意味着有人把它丢在那里了,或者,在某个她没有看见的时刻,那根储存管换了位置,从那个人手里到了地面上,不是掉落,是放置,因为密封是完整的,掉落会有损伤。
有人在进入地下通道之前,把那根储存管留在外面,留在一个可以被外围的人发现的地方。
这个动作,是在故意让货没法被带走,是某个人在进入那个通道之前,做出的一个反向行动。
但那两个人同时进入,是哪一个,她不知道。
就在她把这件事转告白野的同时,走廊里传来了声音,不是脚步声,是从公共区域方向传来的一声低沉的碰撞,像是什么东西倒了,或者被人推倒了,随后是一段很短的安静,然后是虹夏的声音,从物资区方向传出来,不是喊,是压低的、急促的,喊的是祥子的名字。
祥子立刻往物资区方向跑,推开门,物资区里的备用灯角度不够,只照出半边,虹夏站在里面,靠着内侧的货架,她手边的地上有一个破损的小型储存盒,不是角落里那个放着的第三份,是另一个,是从货架上某个位置掉下来的,破损是因为摔在了地面上,里面装的不是样本,是几张折叠的纸,被摔出来,散在地板上。
虹夏说,有人进过这个房间,不是从她守着的那个门进来的,是从物资区内侧靠里的那一面墙,那面墙上有一个和外部走廊相通的小型通风检修口,那个检修口的螺丝是松的,不是原来就松,是有人从里面拧松的,刚才她听见里侧有动静,进来查,发现检修口开着,那个储存盒是有人在检修口进来之后,在货架旁边快速翻找时弄掉的。
那个进来翻找的人已经走了,走的是检修口,不是虹夏守着的门。
祥子把地上散落的那些纸捡起来,在备用灯的角度下展开看,是手写的,不是中文,是一套内部缩写加密的格式,野火内部有人用过这种记录方式,是用于在不方便携带设备时手工记录关键信息的备用格式——能看懂这套格式的人,是内部的核心操作成员。
纸上记录的内容,她看了大约十秒,确认了其中一组数字的含义:是一个设施坐标,加上一个入场时间窗口,时间是今晚,比现在晚四十分钟。
四十分钟,如果从这个安全屋出发,去那个坐标所在的位置,通过正常的地面路线,需要不少于三十分钟,加上通过门禁的时间,窗口非常紧,几乎没有余量。
她把那些纸叠好,放进自己外套里,让虹夏守住检修口,同时把物资区的那个第三份储存盒的位置做上标记,不要动,等白野的人来接管。
然后她走出物资区,在走廊里站了两秒,把当前的局面重新整理了一遍——地下通道里三个人加兼定,格栅入口被封,信号发射器断掉,厢式车被外围的人盯住,杂物间里有提前准备好的背包和令牌,物资区被人翻过,手写坐标显示今晚还有四十分钟有人要去一个特定设施。
这些事同时发生,不是各自独立的,是同一个计划的不同层次,有人今晚在安全屋里制造了足够多的混乱,用这些混乱覆盖了一件她到目前为止还没有完全看清楚的事——那个设施,那些令牌,才是今晚所有行动最深处的目的,货只是手段,是让所有人的注意力停在“样本在哪里”这个问题上的东西,而真正重要的是某个人今晚要带着那些令牌进去的那扇门。
她把坐标信息发给白野,附上时间窗口,没有多说,白野会明白。
然后她转向公共区域,她要去看八奈见,不是因为她认为八奈见是执行者,是因为那台被她断掉的信号发射器,挂在八奈见背后的墙上,那台设备不是野火的配置,是有人放进去的,放的时间,和今晚有人在物资区安了监听设备的时间,可能是同一个时段,是同一个人,也可能是两个人,分工的,分别在安全屋内部的不同位置做了布置。
而八奈见在整件事里是什么角色,她仍然不确定——她守在窗边,她的平板上有地图,她在某个时刻把屏幕扣下去,她手里捏着的东西换了,从平板变成别的,但祥子从来没有正面确认过是什么。
她走进公共区域,八奈见还在,位置没有变,窗帘换了个角度,只留了一条极细的缝,她的手边多了一个东西,是一个小型的无线耳机,单耳的,戴在左耳,连着什么祥子从这个角度看不见,但她的神情变了,从之前那种等待的平静,变成了某种更绷紧的专注,像是在听什么,听得很认真。
祥子在她前方约两米的位置停下来,用一个很普通的方式开口,问她公共区域的电力恢复得怎么样,作为接续刚才检查控制箱的自然延续。
八奈见把头转过来,取下那个耳机,把它放进了口袋,那个动作完成得不算快,但完成得很干净,没有慌乱,只是处理了一件她不想让人看见的东西——或者,是一件她判断不需要让人看见的东西。
她回答了问题,说电力主线路这侧没有异常,断的那段是人为操作,控制箱里有记录,是今晚从里侧操作过的,操作者她不知道是谁。
然后她停顿了一下,加了一句,问祥子,杂物间有没有人去看过。
这句话让祥子在回答之前,在心里把整条线重新过了一遍——八奈见知道杂物间,这说明她知道今晚那个杂物间有什么,或者,她知道有人在用那个房间,不是野火的人。
她平静地说,杂物间已经有人在处理,然后往后退了半步,把公共区域门口的角度让开了。
八奈见看了她两秒,没有再说话,重新把视线转回窗帘那条缝的方向,但这一次,她没有再把耳机戴上去。
祥子在走廊里重新站定,把八奈见这句关于杂物间的问话在脑子里放了一放,然后往会议室方向走。
走廊里安静,安静到她能听见自己外套口袋里那几张手写纸轻微的摩擦声,和远处通风管道里一种细小的、不规律的气流变动——不是正常运转时的那种均匀声音,是有什么东西在管道里移动,或者管道某处的接口被人从里面动过,气流改变了走向。
她放慢脚步,侧耳听,那个声音来自她左侧的那一段走廊顶端,位置在物资区往会议室方向中间的这一段,是一个她记得的管道接口,是兼定当时从通道里落下来用的那个规格的接口,这一段走廊,和地下通道之间的位置关系,她在脑子里把地图比对了一下——
这里没有地下通道,但有一条物资区内侧往这边延伸的横向管道,那条管道的尺寸,虹夏刚才说的那个检修口,和这一段是连通的。
有人从检修口进到管道里,没有往外走,是往里走,往这一段的方向走。
她没有动,把脚步稳在原地,用听的方式判断那个声音在管道里移动的速度和方向——速度很慢,方向是从物资区往会议室方向走,和她现在站着的位置,还有大约十五秒的距离。
她在走廊里往前走了六步,走到那一段管道接口正下方的位置,停住,仰头看,接口的螺丝和这个走廊顶部的那个,和物资区检修口是同一规格,但这个接口旁边的金属边沿,有一道新的划痕,是今晚留下来的,刚好在接口边沿的内侧,是有人从里面用力顶过盖板的力道留下来的。
那个在管道里移动的人,他的目的地,是这个接口,是要从这里出来。
她往旁边让了两步,在接口正下方稍微偏一点的位置停住,等着。
管道里的声音停了大约三秒,然后接口盖板从里面被顶起来,缓慢的,一点一点,有人在里面谨慎地把盖板往上推,推到一半,停住,像是在听外面有没有声音。
走廊里很安静。
盖板继续往上,完全打开,一个人从接口处落下来,脚先着地,落地的那一刻,她看清楚了这个人。
不是兼定,不是她预期中从这条路回来的任何一个人。
是那个野火的外围协作联络员,那个白野让人去确认位置、一直找不到的人,那个在走廊黑暗里说了“货不只有两份”然后消失的声音的主人,他站在走廊里,看见祥子,没有逃,没有解释,从外套里取出了一样东西,是一张小卡片,和杂物间密封袋里那些访问令牌是同一规格的,递到她面前。
但这张卡片背面,用铅笔写了一个号码,不是序列号,是一个野火内部档案系统的索引编码,用这个编码查出来的信息,和今晚整件事的起点有关,是在安全屋建立之前、就已经存在于这个据点位置的某条记录,是一个她从来没有接触过的档案层级。
他没有解释那张卡片,没有解释他为什么在管道里,没有解释那句“货不只有两份”之后他去了哪里,他只做了一件事,指了一个方向。
那个方向,是安全屋里她从来没有进去过的一个房间,是整个安全屋平面图上一个她以为是储藏间的位置,门上没有标识,平时看过去和墙的颜色几乎一样,不仔细看不知道那里有一道门。
然后他往反方向走,走到走廊的转角,消失了,没有回头,留下的只有那张卡片和他手指过的那个方向。
祥子站在原地,把那张卡片握在手心里,把那个方向看了三秒,手机在这个时刻震动了。
不是白野,不是虹夏,是一个系统推送,不是消息,是一条位置更新——是兼定的手机,他之前放在信号死角关机的那部手机,现在重新开机了,发出来一条位置信号,位置不在地下通道,不在安全屋,是安全屋外侧街道上的一个位置,是她刚才快步走回来时经过的那条路。
兼定出来了,他从地下通道出来了,但不是从她封住的那个入口,是从另一侧的出口,出口的位置,和那个他们从来没有找到的南端出口,以及那条不在任何地图上的地下管道,三者之间的位置关系,在她脑子里形成了一个她之前没有想到过的结构——地下通道不是一条直线,是分叉的,有不止一个出口,兼定找到的那个出口,不在南端,在另一侧,是这片街区里一个具体的位置,她把那个坐标在脑子里和那张手写纸上的设施坐标比对了一下。
两个位置之间的距离,步行三分钟。
地下通道的出口,和那个设施,是相邻的。
她把手机攥在手里,把那张卡片压进口袋,往那个从来没有进去过的房间方向走过去,备用灯的光在走廊末端打出一段明区和一段暗区,那道和墙颜色几乎一样的门,就在明暗交界的位置,她走过去,把门把手握住,推了一下,门是开的,没有上锁,里面是黑的,她没有进去,在门口侧身,把外面走廊的光借进来一点角度,把能看见的内部扫了一眼。
里面不是储藏间,是一个有设备的房间,设备她认得出来,是数据存储和调取用的终端,和会议室里白野用的那一台不是同一型号,是更老的规格,但指示灯是亮的,在黑暗里那些指示灯的颜色告诉她这台设备此刻仍然在运行,仍然在存储或者传输某些东西。
设备旁边的椅子上,放着一件东西,是一件折叠好的外套,她认出那件外套的颜色,在今天前面某个时刻,她见过这件外套穿在一个人身上——
是喜多。
喜多不在这里,但她的外套在这里,外套被折叠放在椅子上,下方压着什么,把那个边角略微顶了起来,祥子没有走进去,她在门口,用走廊的光看那个被顶起来的边角,露出来的那一点,是一张纸,纸上有字,只能看见最底部的两行。
她把身体往右偏了一点,勉强把那两行字的角度调出来,读了一遍。
那两行字是一个指令格式,末尾是一个确认代码,而确认代码前面的那半行,是今晚整件事真正的起点——不是货,不是样本,不是访问令牌,是一个她以为已经被封存、不会再被任何人启动的操作权限,是安全屋最初建立时留下来的一个后门级别的系统访问密钥,这个密钥如果被激活,意味着安全屋内部所有的加密通讯记录、所有今晚的操作日志、包括白野今晚调取的外围联络员档案,全部都可以被一个外部的系统读取。
那台正在运行的终端,不是在存储,是在向外传输,传输的内容,是安全屋今晚的所有数据。
而传输的窗口,根据那个指令格式里的时间段,从现在开始,还剩下不到七分钟。
她没有进那个房间,她往后退了一步,把门带上,手机已经在拨白野,一边拨一边往走廊深处快走——她不能靠近那台设备,因为那个房间里有没有人她没有确认,走进去可能触发某种她不知道的机制,而七分钟的时间,她能做的只有一件事,是让安全屋断开外部连接,把整个据点的对外数据通路切断,在传输完成之前让那台终端失去出口。
能做到这件事的,是白野,或者是会议室里那台白野关掉的设备重新启动之后的管理端,而管理端的物理位置,是公共区域的那个主控箱,不是控制箱,是更底层的物理网络分配设备,她在刚才检查控制箱的时候,经过了那个主控箱,知道它在哪里。
白野的电话没有接通,是信号的问题,她换发消息,同时自己往公共区域方向折返,手机里发出去的消息状态在跳,还没有送达。
走廊里,八奈见出现了,从公共区域的方向走过来,和祥子迎面,她手里拿着那个单耳耳机,耳机的连线另一端是一个小型接收模块,接收模块的指示灯是红色的,是信号丢失的颜色。
两个人在走廊里站住,八奈见先开口,她说,她刚才一直在监听那台设备的传输频率,信号刚才突然中断了,不是正常的传输完成,是被人从外部切断的,切断的节点,不在安全屋里。
然后她顿了一下,说还有一件事,她在监听的过程里,截到了一段数据包的头部信息,传输目的地不是任何她认识的地址,但那个地址的格式,和野火三年前因为内部渗透事件而彻底封存的一个旧系统节点,格式完全吻合。
那个旧节点,按照档案记录,应该已经永久停用,没有任何人可以重新激活它,除非——
除非有人持有那个旧节点的根权限密钥,而那个密钥的持有者,在三年前的封存文件上,只登记了一个名字,那个名字,八奈见没有说完,她的手机在这一刻震动了,她看了一眼屏幕,把手机扣下去,抬起头,看着祥子,用一种很平静的、几乎没有语气起伏的声音说了一句话——
那个密钥的登记持有者,和兼定现在发出来的位置信号,在同一条记录里,他们是同一个档案索引下的两个条目,他们之间有一种祥子从来没有被告知过的关联,而这个关联,在三年前那次封存中,被人为地从所有可见记录里抹掉了。