苏晴一夜没睡。
不是那种辗转反侧的没睡——她躺在宿舍的单人床上,闭着眼睛,呼吸平稳,像一切正常。但她的大脑没有休息。它在处理信息。
凌晨三点十一分。EN-07终端。四层中继跳转。签名伪装。自毁定时器。五个字。
她把数据在脑中拆开又重新拼合,像在分析一组战场情报——源地址的定位方式、加密协议的版本特征、中继节点的跳转模式、发送时间的战术选择。每个信息维度都在指向同一个结论:发信人对三号城的内部网络架构极为了解。不是"大概懂"的了解——是从底层架构细节上就知道怎么绕过的了解。
这个人要么是核心工程部的资深员工,要么是长期潜伏在三号城的人。而如果是外部潜入者,那他得到EN-07终端权限的方式一定留下了痕迹——门禁记录、身份卡使用日志、终端登录时间戳。这些东西可以查,但查的方式不能打草惊蛇。
她在凌晨四点半左右坐起来,打开床头的台灯,拿了一支笔和一张纸。
纸是空的。她握着笔,在纸面上点了几下——笔尖在纤维上留下几个细小的深色圆点,像未成形的句子。她不是在写东西,她是在让手有一个去处。
她在纸上画了三条竖线。三条线之间没有连接。
左边第一条:路远。
右边第二条:周海。
中间第三条:陈默。
她把笔放下了。手平放在纸面上,指腹贴着纸,感觉到台灯的热量从上方斜照下来——暖色的光,在凌晨四点半的房间里显得不太真实。
她不是没有怀疑方向。她是不想让自己的怀疑方向是错的。
而她知道,在所有可能的方向里,唯一一个她最不愿意走向的方向,正在变得越来越亮。
——·——
早上七点,苏晴洗了脸,换了衣服,去工程部。
她没有直接去找任何人。她站在二层走廊尽头——同一个窗边,面朝同一片人工穹顶的光——手里端着一杯从水房接的热水。没有茶味。她没放任何东西。
她在等一个人经过。
七点十二分,周海来了。
他走路的节奏和平时一样——从大门进来,经过值班台,和文员间的人点了一下头,拐向一层的维修区。他穿了一件洗得发白的工装夹克,手里拎着一个看起来用了很久的工具包,包带已经磨出了毛边。他从走廊那头走过来的时候,没有注意到苏晴站在二层的窗边——或者说,他注意到了但没有特别在意。
苏晴等到他走到维修区门口,才端着杯子慢慢走下楼梯。不是刻意去堵他——是"刚好也要下楼"的速度。
她走到一层的时候,周海已经把工具包放在了工位上,正在从包里往外掏东西——一双手套、一个万用表、一包拆开的密封垫片。他听到脚步声侧过头看了她一眼。
「——这么早?」
「睡不着。」苏晴说。这三个字说得很自然——因为她确实没睡着,不算撒谎。
周海不再问了。他坐下来,开始检查那台昨天拆了一半的设备。苏晴没有马上走——她靠在几步之外的墙边,端着杯子喝了一口水。
沉默持续了大约二十秒。不算长。但在ECA组长的刻意停留和不相关工程师的日常动作之间,这段时间刚好足够让她用余光看完周海工位的布置——他的身份卡插在工位侧面的读卡器上,但他要通过EN-07终端的授权需要额外的生物特征认证。她看过昨天的值班表:周海在凌晨零点结束了前一天的补班,直接回了宿舍。如果他要在凌晨三点十一分回到工程部,他需要在深夜的休眠时段重新激活门禁——那会在系统日志中留下一个显眼的通行记录。
苏晴在脑海中调出了那个记录。她已经让老刘在凌晨五点偷偷跑了一次昨天午夜到凌晨四点的所有门禁日志,压缩成一个很小的数据包发到她的终端上。她在洗脸之前看过一遍。
周海:昨天23:58离开工程部(人脸识别匹配)。之后没有返回记录。
她喝了一口水。温水,不烫了。
「周哥。」
「嗯?」
「你在三号城干了多少年了?」
周海头也没抬——他正在用一个内六角扳手拧一颗藏在设备内壁的螺丝,手指在找角度。「——二十年。怎么了。」
「随便问问。」
他没有追问她为什么突然问这个。周海不是那种追问别人动机的人。他沉默地拧了两圈那颗螺丝,然后补了一句:「二十年。从三号城还在打地基的时候就来了。」
苏晴点了点头,没有继续问。
二十年。她不需要更多了。一个在三号城干了二十年的人,在凌晨三点十一分没有门禁返回记录的人,他认识这里的每一台设备、每一个通风口、每一条管道——如果他要做什么,他有无数种方式去做,不需要用一台可能在监控中留下痕迹的高权限终端来完成。
她排除了周海。
不是因为他不可能。是因为他没有理由在这件事上用这种方式——一个在工程部待了二十年、女儿在八号城、每天早上骂一遍咖啡机的人,如果他要做点什么,他不会秘密发一条加密信然后期望它被截获。他会直接做。
她端着水杯走开了。走到楼梯口的时候,听到周海在后面嘟囔了一句:「你那个杯子里的水都凉了吧?」
她低下头看了一眼:确实凉了。
她没回话,端着凉水上了楼。
——·——
路远到了工程部之后,苏晴观察了他一个上午。
不是盯梢式的观察——她没有刻意出现在他周围。她只是在做自己正常的工作安排中,把路线调整到了"能偶尔经过他附近"的频率。
她去文员间取文件——经过他的办公室,门半开着,他在看屏幕。
她去三层找白锦书签字——下楼时路过他办公室,他在打电话,声音压得很低,听不清内容。他的表情是工作时的表情——不严肃,也不轻松,是在处理普通事务的那种中性状态。
她在一层吃午饭——坐在靠门的位置,和平时一样。路远在正常时间去食堂打了饭,坐在距离她几桌的位置,和小满在一起。小满在说什么——从表情看,在讲某件让她觉得很好笑的事——路远听着,偶尔点一下头,嘴角有一点淡得看不出来的弧度。
路远笑得很克制。但他笑了。
苏晴把一块土豆放进嘴里,嚼了很久才咽下去。
她在想那条加密信的内容。路远不能用了。如果路远自己发出了这条信息——为什么?他不是那种会说"我不行了"的人。她认识他这么久,他从来不说自己撑不住。他在第4次共鸣后连"你是谁"都问出来了,事后也只说了一句「做了一个很长的梦」——用"梦"来概括一次记忆跑马灯的人在凌晨三点十一分不会坐下来发一条说自己不能用了的加密信。
不是因为他做不到——是因为那不是他会用的表达方式。
路远如果有一天觉得自己撑不住了,他不会告诉任何人。他会一个人做完所有能做的事情,然后等结果来。这是他的方式——苏晴在第七次共鸣的前夜才终于确认了这件事,但在第二十二天的这个中午,她已经在心里模模糊糊地感觉到了。
她排除了路远。
不是因为她不想怀疑他——是她知道他不是那种向外求救的人。
桌面上的托盘里,饭还剩一半。她不饿了。
她放下筷子,把托盘端起来,走向回收口。经过路远那桌的时候她没有停下来,也没有看他。她知道他在后面——因为她走过去的余光中,她看到小满举着一只画了半个猫脸的马克杯在跟他说什么,他的视线在杯子上。
她走出食堂的时候,阳光透过头顶的穹顶照下来,均匀的,没有阴影。她站在廊下,手里空着——水杯已经放回办公室了。她把手插进口袋里,低着头站了一会儿。
三个名字。
两个已经划掉了。
剩下最后一个。
陈默。
她发现自己站在走廊里,手指在口袋里无意识地收紧——攥成了拳,又慢慢松开。
她不想查到他。
不是因为陈默可能是发送者——以她对路远团队的了解,陈默没有发送那条加密信的理论基础。他不是那种设计四层中继跳转和签名伪装的人。他是工程师,但他做的是结构分析和维护管理,不是网络通讯层的渗透。
但她的判断不能基于"陈默不会做这个"。
她的判断必须基于证据。
而她手中的证据——门禁记录、授权登录时间、EN-07终端的物理访问序列——恰好都集中在一个她没有能力在不对陈默本人造成影响的前提下调取的方向上。陈默的授权登录按正常流程走,没有异常节点。他的门禁记录在那个时间段是空的——因为他用了二级权限,不需要经过主门禁。
二级权限的日志需要单独以维护网络管理员的身份调取,而维护网络管理员刚好是路远。
她需要路远的授权来查看陈默的操作日志。
而她不想让路远知道她在查这件事。
——·——
下午两点。苏晴坐在办公室,面前的终端屏幕上开着ECA的内部系统界面。她没有在看它——她在盯着屏幕边缘一处与工作无关的像素发呆。
二十分钟前她在走廊上遇到了陈默。
他刚从结构分析室出来,拿着一卷图纸往设备间的方向走。她在走廊的另一头,他看到她了——笑了一下。
「组长。」他的声音还是平时那个节奏,不高不低的,带着一点像刚睡醒还没完全清醒的含混感。
「图纸?」
「设备间的三号管道支架要换一批固定件,我去量一下尺寸。」他扬了扬手里的图纸卷,动作很随意。
她点了点头。
他走过去了。和平时一样。
她从后面看着他的背影——普通身材,褪色工装,走路时有一点微不可察的内八字。和他在三号城的每一个日常下午没有任何区别。
但苏晴站在走廊上,有一瞬间,她想到了另一个画面。
今早她用终端翻看过周海和陈默的医疗记录——不是以ECA组长的权限,是以"白锦书团队研究数据配合请求"的名义做了一个侧面查询。白锦书那边估计还不知道这事,但她可以回头补流程。
周海的记录正常:轻度腰椎劳损,两年前的旧伤,恢复良好,没有异常指标。
陈默的记录——她能看到的部分——正常。常规体检结果,各项数据都在临界值以内,没有标注任何需要关注的问题。
但她翻到了第三页底部,注意到一个细节:体检日期最近的一次是九个月前。
九个月。
在一座每月都有例行健康筛查的城市里,一个核心工程师九个月没有做常规体检。这本身不是证据——很多人忙起来会错过排期。但苏晴在通讯组干了十二年。她知道"掩盖"和"忙忘了"之间最大的区别是:前者不会留下任何直接的痕迹,但会在时间轴的某一段留下一个不该存在的空白。
她把这个信息存进了记忆里,没有放入纸面记录。
——·——
下午三点半,陈默回到结构分析室。
他推门进去,把图纸放在桌上,坐下来的动作比平时慢了一点——不是那种明显的慢,是介于"累了"和"正常速度"之间的一个几乎不会被注意的差异。他没有停顿,没有叹气,没有揉太阳穴。他只是坐下来,然后伸手去拿桌上的杯子。
杯子里还有今早接的水。他端起来喝了一口——含在嘴里,没有马上咽下去。
含了三秒左右,然后咽了。
他在杯沿上停了一下——唇线贴着杯沿,保持着一个看起来像在想什么的状态。然后他放下杯子,拉开抽屉,从里面拿出一个很普通的药瓶——白色瓶身,标签已经磨损得看不太清字了,瓶盖上的旋纹被反复拧过后泛着暗淡的磨损光。
他拧开瓶盖,倒出两粒白色的药片。没有看标签确认剂量——他不需要看,他吃了九个月了。他把药片放进嘴里,喝水送了下去。
动作很小。很正常。吃了九个月的药,和早上吃饭一样自然的流程。
他把药瓶放回抽屉,关上,然后继续看图纸。
他的手握在绘图笔上的时候,苏晴正好经过他的门外。
她经过的速度和前几次路过一样——不快不慢,目光平视前方,"只是路过这里要去某个地方"的节奏。她的视线没有刻意转向室内。但她在脚步移动的过程中,余光捕捉到了一个细节:
陈默右手握着绘图笔。握笔没有异常,指位标准。但他在画一条线的时候——一条长度大约四厘米的直线——他的笔尖在起始点停了一下。不是犹豫的停——是手部力量不够稳定时的一种微调性停顿,像使用一个需要多一点力量才能启动的工具。
停的时间不到半秒。然后他继续画完了那条线。
苏晴走过去了。
她走进了走廊尽头的水房。开水阀,接了一杯水。她没有喝,端起来,看着水杯内壁折射出的光。
她不是因为那颗药或那条线就下结论。她没有结论。她只是在收集信息,而收集到的每一个信息都在让她不想面对的那个方向变得越来越可信。
但她不能因为"不想"就不去看。
她端着那杯水——还是没喝——站在水房里安静了几秒。
然后她把水倒掉了。
——·——
傍晚,六点四十分。
陈默收拾桌面,把图纸收进抽屉,拿上外套,走出结构分析室。经过走廊时和值班的人打了个招呼——「走了。」「明儿见。」和平时一样的对话。
他走到设备间的通道入口时停了一下。
设备间的大门已经关了。他站在门口,看了一下左手——手背上有一条不太显眼的蓝色细线,从手腕内侧延伸出来,大约三厘米长,藏在袖子下面。他在下午拧阀门的时候,袖子滑上去了一瞬间——他立刻拉了回来,但已经足够让他看到它。
他没有多看。拉下袖口,掩住了。
然后他往食堂的方向走去。
他不知道今天苏晴在走廊上经过了他三次。他不知道她看到了他喝水时含的那三秒钟。他不知道她看到了他握笔时那半秒的停顿。他不知道她翻过他九个月前的体检记录。
他只知道今天的右手比昨天的右手使不上力一点。他在拧完设备间的阀门之后,用左手揉了一下右前臂——动作很轻,像是正常的缓解疲劳。但在揉完的那一刻他站在原地安静了两秒。两秒,在空无一人的设备间里,只有管道里的水流声在嗡嗡地低响。
然后他转身离开了。正常的步伐,正常的关门声。
三号城的管道还在运转,水流穿过墙壁的声音在傍晚的安静中变得清晰可闻——持续的,均匀的,像一条不会断的线。
工程部的走廊上又亮起了夜间减半的灯光。日光灯管一根亮一根暗,在地面上隔出一道明一道暗的长条。
陈默走在明暗交替的地面上,步伐均匀,没有回头看。
——·——
苏晴在办公室里一直坐到晚上八点半。她没有开主灯,只有显示器屏幕的光照在她脸上——冷白色的,让她的表情看起来比平时更不带温度。
她面前的桌上放着一张纸。
三个名字。路远。周海。陈默。
前两个名字的旁边,她没有划掉——她做不到在纸上划掉一个人的名字——但她的视线在扫过那两个名字时不再停留。第三个名字的后面,她写了一个很小的问号,铅笔写的,轻得几乎看不见。
她看着陈默的名字,没有动。
不是因为证据不足——她知道门禁记录可以叫老刘偷偷调,她知道可以在不惊动路远的前提下从白锦书那边拿到陈默的完整医疗数据。她有办法确认。
但她没有动。
因为她知道如果她查下去了,如果最终指向陈默——那路远就会失去他最好的朋友。工程部的信任体系就会多一道裂痕。路远已经失去了沈琳,失去了三次记忆。她不能在没有确凿证据的前提下,把一个"可能"扔进一个已经满身裂缝的人手里。
她需要更多。不是证据——是时间。
她需要时间确认她不是在冤枉一个只因为"恰好是第三个名字"的人。
她把那张纸折起来——不是塞进抽屉——她把它捏在手里,指腹沿着折痕压了一遍,然后她把它放进了口袋。
不是要留着它作为证据。是因为只有放在身上她才能确定不会有人看到它。
她站起来,关了显示器,走出办公室。
走廊上空无一人。夜间灯光已经切换,应急灯在地面上画出冷白色的光带。她锁好门,往宿舍的方向走去。
走过走廊中段的时候,她停了半步。不是看到什么——是一种非常细微的直觉性不适,像有人在她不知道的时候站在这里看过她离开的方向。但她侧过头检查时,走廊是空的,没有声音,没有光线异常。
她继续走了。
三号城的夜间循环系统在头顶发出均匀的低频嗡鸣,像一座城市在呼吸。
她走到宿舍门口,指纹锁响了一声,门开了。她走进去,关上门。在黑暗中站了一会儿,没有开灯。
她从口袋里抽出那张折好的纸——没有打开看。捏在手里,指腹沿着折痕来回摩挲了几次。
然后她把纸放在桌上,没有展开。
她在黑暗中坐到床边,鞋没有脱,背靠着墙,在完全安静的房间中闭上了眼睛。
明天,她会拿到更多的信息。
但今晚——今晚她什么都不动。
(本章完)