方叙那通电话之后,宋明哲把自己关在办公室里重新梳理了一遍时间线。不是案件的时间线,是专案组内部的信息流——每一次他们锁定某个复制品的位置,每一次他们确定下一步行动方向,每一次他们在会议室里讨论出阶段性结论,清道夫的人总能在同一时间出现在同一地点。临海仓库那次最明显:他刚查到那个坐标,小陈刚帮他订了火车票,清道夫的人就已经在跨海大桥布了网。
他一开始以为是清道夫在境外有情报优势。但这个假设站不住脚——清道夫在国内的行动比他想象的更快、更精准。枫林别墅案之后,他还没从现场回到省厅,遇害的复制品名单里就多了一个。安全屋案之后,他刚把梁志辉的芯片读取结果存档,邻国就发生了一起手法相同的命案,死者DNA与林知意一致。这些时间差短到不可能是清道夫独立侦查的结果。
他开始查泄密渠道。这件事他谁也没说——连小陈都没说。不是不信任,是泄密的人如果在内部,知道自己在被查就会换方式。他用了最笨的办法:把过去几个月里专案组所有内部文件的流转记录全部调出来,一份一份过。简报、会议纪要、行动方案、物证分析报告,每份文件都标注了创建时间、修改记录、打印记录和发送记录。
几天之后,他在一堆数据里找到了两条并行的泄密路径。第一条路径的权限不高,只能接触到专案组的每周简报——那种只写结论不写细节的汇总文件,发送范围覆盖厅里好几十个人。第二条路径能接触到核心数据:完整的行动方案、精确的坐标位置、具体到分钟的部署时间表。拥有这个权限的人屈指可数。
他把拥有核心数据权限的名单写在纸上。他自己,张队,老周,方叙,小陈。方叙不是省厅系统的人,他的数据访问通过大学实验室的独立端口,日志记录完整,没有任何异常。张队和老周的数据访问集中在工作时间,每次操作都有正常审批流程,没有可疑点。剩下的只有小陈。
他把小陈的数据访问日志单独拉出来。过去几个月,小陈帮他调过档案、发过邮件、订过火车票、传过物证清单。每一步操作都有记录,每一次数据访问都和工作内容吻合。但宋明哲注意到一个规律——小陈每次调取核心数据之后的第二天,清道夫的行动就会发生。不是当天,是第二天。每次都是。
这个时间差让他困惑了一段时间。如果是小陈直接泄露,清道夫的反应应该更快——至少当天就会行动,有时候甚至可以在几小时内追上他们。但清道夫总是慢一步。他研究了清道夫的通讯记录,发现他们使用的加密通讯工具有固定的上线周期——每天只在固定时段集中收发一次信息。小陈发邮件的时间如果在当天收发周期之后,就会延迟到下一个周期才被清道夫读取。
这反而成了突破口。他把过去所有核心数据调取记录的时间戳和清道夫行动记录的时间戳做交叉比对,两者之间永远隔着一个固定的通讯延迟。而这个延迟的时长,恰好和清道夫加密邮件系统的每日收发间隔完全吻合。泄密的人不知道自己的通讯工具被摸清了规律。
宋明哲拿起手机打给小陈。响了一声就接了。
“帮我查一件事。过去几个月,专案组里谁有权限接触核心数据,但不参加每周简报会。不要查系统权限——查实际操作记录。”
小陈那边键盘声响了一会儿,然后停了。“只有一个人符合这个条件。档案室的陈阿姨——她负责归档所有专案组的物证分析报告和技术文档,但不列入简报分发名单。她的侄子……就是后来被调到专案组做外围文职的那个年轻人。”
宋明哲握紧了手机。之前小陈无意中提过,陈阿姨的侄子去年从外地调来省城,陈阿姨帮忙安排了住处。那个年轻人在专案组负责整理外围监控、打印文件、传送快递。他的工作内容不需要接触核心数据——但他的工位就在小陈办公室外面,小陈每次打印出来的东西,他都能看到。
“不止。”宋明哲说,“他不但能看到你打印的东西,还能看到我的。我在四楼办公室那台不联网的打印机,每次打印完都是他去帮我收的。冰箱的解冻确认通知、基因编辑报告、国际刑警的协查函——所有这些他都在我拿到之前先看过。”
他在档案室门口等到了陈阿姨。她刚从午休回来,手里拿着一个保温杯,杯盖上冒着热气。看到宋明哲站在门口,她脸上的笑容慢慢收住了。他没有绕弯子,把情况说了一遍。陈阿姨听完之后沉默了很久,把保温杯放在桌上,坐了下来。她说侄子去年查出尿毒症,等肾源等了好几个月,后来突然说有配型了,手术费也有人出了。她没问钱从哪来的。宋明哲没有继续追问,只是点了点头,转身离开了档案室。
他走回自己的办公室,在走廊上遇见了小陈。小陈手里拿着一叠刚打印出来的内部通讯记录,脸上的表情说不清是愤怒还是难过。他把那叠纸递过来。
“这个人一直是你身边的人。帮你调档案、发邮件、订火车票——每一步他都提前二十四小时同步给了一个加密邮箱。他每次帮你订完票,转头就把车次和座位号发给清道夫。跨海大桥那次,清道夫比你早三个小时知道你会出现在那里。”