第二天早上苏晴到办公室的时候是八点半。走廊里已经有人走动了,咖啡机的声音从茶水间传出来,混合着纸张翻动和键盘敲击的背景音,是一天里最平常的那种早晨。她坐在工位上把电脑打开,开了内网日志的监视窗口但没有专注去看——今天上午真正重要的不是日志数据,是九点钟三楼小会议室那扇门打开又关上的声音。 她处理了几封邮件,八点五十五分的时候她站起来走到走廊西侧楼梯口。从这个位置往下三层,程远应该在往三楼走。她没有跟下去,只是站在楼梯间那扇防火门旁边的窗户前,看着窗外的江面发了两分钟的呆。九点过三分的时候她低头看了一眼手机,没有新消息。她退回工位坐下来,把内网日志窗口开着,手上翻着周经理昨晚发来的生日宴最终定稿确认函,但视线没在那页纸上停留太久。 九点十二分的时候她的内网消息框跳了一下,程远的头像亮着,发过来一行字:"到了。" 苏晴回了一个"好",然后继续做手头的事,但每隔一两分钟会瞥一眼走廊尽头的方向。那扇通往三楼楼梯间的防火门在她余光里始终关着,没有人推门进来。九点二十四分的时候她的手机在桌面上振了一下,程远发来的:"出来了。" 苏晴的呼吸放慢了半拍。她打字回:"有人动吗?" 程远过了大约二十秒才回复:"我现在上来找你。" 她锁了手机屏幕,把桌面上的文件收了收,站起来往走廊尽头走了两步,在防火门旁边的位置等着。大约两分钟之后那扇门被从里面推开,程远走出来,表情看不出什么特别的东西,但他的肩线比平时稍微绷着一点,苏晴认识那个姿态。 他走到她面前停下,压低了声音说:"我坐在靠窗那个位置,正对着那台终端。门是开着的。十五分钟里走廊里经过了三个人——物业的人推清洁车过去一次,行政部的拿了份文件路过一次,还有一个人走得很慢,经过门口的时候往里面看了一眼。" 苏晴的呼吸停了一下。"你看清是谁了吗?" 程远看着她,声音更低了。"看清了。顾衍。" 苏晴的手指攥住了袖口的边缘,指腹压着那层薄薄的布料传来一阵细微的摩擦感。顾衍在融信的办公楼里,经过三楼小会议室门口的时候放慢了速度往里看了一眼。顾衍——盛华战略投资部的负责人,出现在竞争对手的办公楼层里,在程远坐在那台终端对面的时间节点。 "他什么时候走的?"苏晴问。 "十点不到,从他进大门算起大约二十分钟后离开的。"程远说,语速比平时慢了一些,像是正在把某个环节从拼图边缘往中间推,"前台有访客登记记录,他去的是七楼的财务部,拜访对象是林越——早上是例行业务接触,用供应商结算流程对接的名义进来的。" 苏晴站在防火门旁边,脑子里那根线正在飞速地把新信息往既有的结构上挂。顾衍通过访客登记进了融信大楼,走的是正规流程去财务部拜访林越,但绕路经过了三楼小会议室门口。他没有进那间会议室,他只是在走廊里放慢了脚步往里面看。那个动作本身不构成任何证据,但它和七月二十二日以来六次共享终端登录记录之间的时间空隙被程远今天上午那十五分钟"坐"成了一个完整的弧形——顾衍需要确认那台终端的状态,他需要知道程远是否真的已经坐在了那个位置上。 "你坐在那间会议室里的十五分钟,"苏晴问,"他在走廊那一侧停留了多久?" 程远的目光落在一个虚空的位置上,像是在脑中重放那段画面。"从门缝看过去大概是两到三秒。他没有完全停下来,脚步只是慢了半拍。但他的视线方向——他在看终端屏幕那个位置。" 苏晴站在原地,脑子里的地图正在被重新着色。顾衍、林越、三楼会议室共享终端、扩展坞的伪造令牌、临时中转邮箱、盛华战略投资部的收件端口——这些东西之间的连线现在画出来的形状完整了。顾衍通过某种方式联系林越让他去执行操作,林越利用财务系统和扩展坞生成伪造访问记录将情报送出去,整条链路的源头在那个七月底被程远看到的背影身上。那个背影和今天上午经过三楼会议室门口往里面看了一眼的人是同一个人。 "他在确认你知道了多少。"苏晴说。 程远点了下头。"他知道我今天坐在那间会议室里是有意的。他到融信来拜访林越是提前排好的行程——老陈查到的访客登记记录显示这个拜访三天前就约了。但他选择在今天经过三楼走廊而不是直接走七楼电梯,这个时间节点的重合不是巧合。" 苏晴没有接话。她低头看着自己握着手机的手指,指尖因为捏得太紧而微微泛白了。顾衍的动作太精确了,精确到让人觉得他不是在"应对被发现的局面",而是在"确认他布的网还有没有人在摸"。他今天到融信来拜访林越本身就是一种表态——他在告诉程远,我知道你在查,我也还在。 "你打算接下来做什么?"苏晴问。 程远站在走廊里,和她隔着大约两步的距离。走廊里有人正从办公室方向往茶水间走,他的声音压低到了只有她一个人能听到的程度。"顾衍今天来过了,他接下来会做一件事——他要么让林越停下来把所有痕迹清掉,要么换一种方式继续把信息送出去。如果他选择停下来,那这条线就断了,我不可能永远守在那间会议室里。如果他选择换方式,那他会用到新端口,而新端口在他的行动路径上会留下新的痕迹。" 苏晴脑子里在飞速地运转。"你希望他选哪一种?" 程远看着她,这一次他没有立刻回答。走廊里的空调风吹过来把他衬衫领口边缘吹得轻轻抖动了一下,他的视线落在她脸上停了两秒,然后他说:"我希望他停下来。" 苏晴怔了一下。她以为他会说"我希望他换新端口然后被抓现行",但他说的方向和她预判的不一样。她看着他的眼睛,他站在那里没有动,也没有解释,但他那句话的重音落在"停下来"三个字上。他在意的似乎不是"抓到他",而是"让他不要再碰这条线"。 "为什么?"她问。 程远没有回答。他往办公室方向走了两步然后又停住了,偏过头看了她一眼:"今天晚上来望江阁。我有东西要给你看。"然后他继续往前走了,留下苏晴站在防火门旁边,手里攥着手机,屏幕还亮着和他对话框里最后那条"出来了"的消息。她站在那里看着他的背影在走廊转弯处消失了,才慢慢地转身走回工位坐下来。 上午剩下的时间她处理了生日宴最后一批确认项——周经理那边的接待流程、沈玥发来的茶歇甜品清单、林慧兰的航班信息确认。她把所有东西整理好归档,然后坐在工位上看着窗外的江面发了一会儿呆。她脑中反复回放的是程远说"我希望他停下来"时眉尾那个很轻微的下压。那个微表情在程远身上出现的时候,往往意味着他在权衡的东西不只是输赢。苏晴说不上来那是什么,但她能感觉到它在两人之间的空气里留下了一道很短但很清晰的沉默。 傍晚下班之后她直接去了望江阁。秋天的天黑得越来越早,六点半的时候路灯已经亮透了,她在楼下买了杯热茶带上楼。用钥匙开了门之后她看到客厅里的感应灯亮起来,暖黄色的光把书桌、沙发、茶几上那几支干芦苇和窗台上那盆常青藤的轮廓依次照了出来。 她把热茶放在茶几上,在沙发上坐下来等程远。大约过了十几分钟门口传来脚步声和钥匙转动锁孔的声音——他来了,用的是他那把主钥匙。苏晴听到门锁被拧开的咔嗒声,然后程远推门走进来,手里拿着一个深蓝色的文件夹。 他换了鞋走过来,在沙发上和她隔了一个座位的距离坐下来,把深蓝色文件夹放在两人之间的茶几上,没有打开。"今天下午,老陈把林越通讯记录里那条指令链的完整路径解析出来了。"他说,"那条从三楼共享终端发给林越的消息,虽然每次登录用的是'临时权限'的匿名账户,但消息发出去时附带了一个系统自动生成的底层传输编码。老陈把那组编码反向查了一遍,它的初始发送设备——是盛华总部网络段的一个终端。" 苏晴的手放在膝盖上,指尖微微收紧了。盛华总部网络段的终端,在那个七月底被程远背影锁定的时间窗口里生成的指令编码。顾衍在融信三楼用共享终端给林越发指令,但他做这件事的时候用的登录设备物理端口被桥接到了盛华的内网段上——他人在融信的楼里,但他在操作那台终端时留下的底层编码把他连回了盛华的内部网络。这个路径设计是为了防止有人查到指令来源时只查到三楼那台共享终端就断了。 "所以老陈追到了盛华内部网络段的哪个具体端口?"苏晴问。 程远把深蓝色文件夹打开翻到中间某一页,转过来面向她。页面上是一张技术日志的截图,红框框出了一串终端识别码,下面附着一行系统备注:"设备物理位置——盛华总部大楼,十楼,战略投资部工作区。" 苏晴看着那行字,目光在"战略投资部"五个字上停了一会儿。她抬头看了程远一眼,他坐在沙发另一侧,隔着那盏暖黄色的落地灯光线和茶几上那几只干芦苇的影子看着她。他说"我希望他停下来"的时候的表情和此刻他坐在她面前的表情重叠在一起——她知道他在想什么了。他查到的东西已经足够锁死链路了,但他没有立刻出手,因为他知道一旦他把这条证据链公开使用,顾衍会不会因此停下来、林越会不会被推出来顶罪、盛华那边会不会反咬一口——所有这些可能性都在他权衡的范围内。他在等顾衍自己选择。"停下来"是因为他知道顾衍在融信楼里安插的那条线如果不主动收回,整件事被公开的时候波及的范围会比单纯商业竞争大得多。 苏晴伸出手把那个文件夹合上了。"所以今天他去了三楼,看了你一眼,你让他知道你坐在那里了。" 程远靠在沙发背上,视线从那个文件夹上移到她脸上,说:"嗯。剩下的看他怎么选。" 窗外的江风从窗框缝隙里渗进来把茶几上的芦苇穗尖吹得极轻微地晃动了一下。苏晴坐在这间正在慢慢被填充的客厅里,面前摊着那本摊开的蓝色文件夹,里面摆着足以把整条指令链推向公开的所有证据。她忽然觉得这间屋子和两周前她第一次来的时候完全不一样了。那时候它是空的,现在它装着两个人从各自方向拉回来的线头,在茶几上交汇成了一条清晰的形状。 "程总。"她开口。 程远偏过头看她。 "那个空白文件夹——你放在我电脑桌面上那个。你当时在里面想让我放什么?" 程远看了她一会儿。落地灯的光在他眼底映成一小片暖黄色的圆斑,他开口说:"让你放你想放的东西。你放了你自己写的,那就对了。" 苏晴坐在沙发上,手指搭在膝盖上,指尖轻轻压着西装裤的面料。她低下头,嘴角有一个她自己都没察觉的弧度在慢慢形成。窗外锦江上的渡轮鸣笛声穿过夜色贴在水面上传过来,沉闷而悠长,像某种正在宣告段落结束的信号,也像新的段落开始前的一拍安静的停顿。