陈杰选的那家咖啡馆叫“老橡树”,藏在克莱蒙特学院以东几条街外的一片老旧商业区里。这一带的店铺大多已经关门,卷帘门上涂满了褪色的涂鸦,人行道的砖缝里长出了枯黄的野草。咖啡馆的招牌是一块手绘的木板,挂在生锈的铁架上,不仔细看根本注意不到。
莉娅推开玻璃门时,门上挂的铃铛发出一声沙哑的脆响。店内空间逼仄,只有四张桌子,墙壁上贴满了泛黄的旧报纸和摇滚乐队的海报,空气里弥漫着深度烘焙咖啡豆的焦苦味。陈杰坐在最角落的卡座里,面前摊着一台厚重的笔记本电脑,旁边放着一杯已经凉透的黑咖啡。他的眼镜片上反射着屏幕的蓝光,表情比平时更凝重。
“你迟了二十分钟。”他头也不抬地说。
“学术行为审查委员会的问话比预期的长。”莉娅在对面坐下,将帆布包放在椅子旁,“你说文件解开了,多少?”
陈杰终于抬起头,推了推眼镜。莉娅注意到他的眼睛里布满了血丝,眼眶下方是两团明显的青黑色——显然,这个计算机系的学生过去两天没有怎么睡觉。
“比你想象的多,也比你想象的少。”他说,将笔记本电脑转向莉娅。
屏幕上是一个解密后的文件夹,里面包含三份文件。第一份是加密Word文档的完整内容。第二份是一张电子表格。第三份是一段音频录音的文字转写稿。
“先说第一份。”陈杰点击打开文档,文字像一堵密密麻麻的墙铺满了屏幕,“这是萨姆·卡特的内部线人写给他的信。信的内容是一份详细的内部举报陈述,关于奥德赛集团法务部如何指示外部律师团队制作替代性解释方案。写信人的签名被删除了,但信里透露了一个关键信息:线人本人直接参与了将第四版算法提交给最高法院的过程。这个人不是奥德赛的普通员工,而是法务或精算部门的中高层,位置非常核心。”
莉娅快速浏览着文档。信是用标准的诺瓦语写的,措辞谨慎而精确,尽量避免任何可能暴露身份的细节。但她注意到一个反复出现的用词——“幽灵演算”。这个词被用来描述奥德赛集团真正的内部算法。信件中有一段话被她的大脑迅速捕捉到了:
“幽灵演算并非直接修改养老金公式本身,而是在信托会计层面进行。具体而言,它在每一次精算估值前,临时替换掉模型中的折现率参数。这个替换操作通过一个独立的宏程序自动执行,不会留下任何手动修改的痕迹。第二天的审计报告中使用的是正常的参数值,但前一天晚上进行资金划拨计算时使用的,是替换后的参数。养老金信托中的资金差额就是这样在每一次审计的眼皮底下被逐步抽走的。我们已经追踪到,被替换的折现率参数偏差精确地设定在每年一点七五个百分点。”
莉娅读完这段,抬头看向陈杰。
“所以幽灵账户不是真的一个账户,”她慢慢地说,“而是一个会计操作程序。每天晚上自动运行,在审计人员第二天上班之前,把账面上的数字改掉。这解释了为什么公开财务报告中的资金缺口和实际退休金削减之间存在数额偏差,也解释了为什么审计从来没有抓到实质性的把柄——因为天亮之后,一切已经恢复了原样。”
“对。”陈杰点头,“而且一点七五个百分点这个数字,听起来很小,但放在数亿诺瓦元的资金池里,每年滚动复利计算,几年下来抽走的金额正好和三亿两千万对得上。这吻合了你的资金追踪结论。”
他打开第二份文件,那张电子表格。
“这是内部线人提供的转账时间序列表。记录了从六年前开始,每个月通过幽灵演算程序从养老金信托中转出的具体金额。这些记录的格式不是标准财务报表的格式,而是内部服务器的日志格式。换句话说,这是直接来自奥德赛内部的数据库,不是公开披露的材料。”
莉娅盯着屏幕上密密麻麻的数字。表格里的金额每月递增,从一开始的小额测试,到后来稳定在每个月数百万的规模。她将表格拖到最底部,看到一条汇总行:六年总计,三亿两千四百六十七万诺瓦元。
和她之前推算的数字几乎完全吻合。
“第三份文件呢?”她问。
陈杰的表情变得微妙起来。他没有直接回答,而是先喝了一口已经冷透的咖啡,然后开口:“第三份是录音的文字转写。录音的内容是线人和萨姆·卡特之间唯一的一次电话通话的记录——萨姆把通话录了下来,然后手动转写成了文字。这段通话涉及一个具体的证人,以及一份被藏匿在奥德赛总部以外的某处保险箱内的原始版本协议。”
“谁的保险箱?”
“萨姆没有记录名字。通话过程中,在线人即将说出一个关键的人名时,电话突然中断了。转写稿的最后一行写的是‘通话因未知原因终止于第四十二分钟’。此后再无联系。”
莉娅的眼神在转写稿最后一行上停留了很久。通话因未知原因终止。她想起那个自称“关注学院声誉的校友”送来的学术行为审查举报信,想起路灯下模仿签名的神秘人,想起萨姆公寓里那台永远没人接的电话。
那个内部线人,此刻很可能仍然活着,就在奥德赛的某间办公室里正常上班,每天在洗手间里对着镜子练习如何维持一个忠诚员工的正常表情。但他知道自己说出的每一个词,都可能随时被某个在暗处监听的人捕捉到。他不能多说一个字。
而现在,萨姆已经死了。这个线人唯一的对外联络渠道断了。没有人知道他的身份,没有人知道他是否愿意再次开口,也没有人知道那第四十二分钟的电话里,他最后想说出的那个名字到底是什么。
“你接下来打算怎么办?”陈杰合上笔记本电脑,靠回椅背。
莉娅沉默了几秒。窗外的天色已经开始变暗,咖啡馆里的灯光昏黄而温暖,但她感到浑身的肌肉都处于绷紧的状态。
“我需要找到那个内部线人。”她说,“只有他能证明幽灵演算程序是真实存在的,也只有在获得他本人证词的前提下,这些数据才能从数学推断变成可以在法庭上使用的证据。另外,”她顿了顿,“我可能还要先处理一件更紧迫的事情。”
她简要地告诉陈杰关于艾琳娜的事——港口的藏匿所、即将举行的拍卖夜、那些仍然被关在地下室里的女孩。她说得很简略,但陈杰的脸色随着她的每一句话变得越来越白。
“你在宿舍里藏了一个从人口贩卖团伙手里逃出来的受害者?”他压低声音,语气里混合着难以置信和某种他自己都未察觉的恐惧,“你知道窝藏非法入境者在诺瓦联邦是重罪吗?更不用说对方背后站着的,很可能是和你正在调查的养老金案是同一群人。如果他们发现了——”
“我知道。”莉娅打断他,“我知道这些。但现在把她赶出去,等于把她送回那个拍卖夜。我不能这么做。”
陈杰摘下眼镜,用力揉了揉鼻梁,然后重重地呼出一口气。
“我需要你的帮助。”莉娅说。
陈杰将眼镜重新戴好,沉默了几秒后给出了回答。“那个服务器,”他盯着她,“我借用的那台专用服务器,可以做一件事。如果你能确定港口仓库的大致坐标,我可以尝试接入那一带的公共Wi-Fi热点和部分私有无线信号——具体技术细节你不用管——看看能不能截获到仓库内部网络中的通信信息。如果他们的拍卖流程涉及电子通信,比如在线下单、实时选人、银行转账确认之类的,或许能在拍卖开始前定位到具体的信号源。”
“这合法吗?”
“不合法。”陈杰说得理所当然,就好像在描述天气一样,“但如果对方做的事是绑架和贩卖人口,我想没有人会追究你非法接入无线信号的问题。”
莉娅的嘴角浮现出一个极轻微的弧度,那是她几天来第一次有类似笑的冲动。
“先把地图坐标给我。剩下的交给我。”陈杰说,一边打开浏览器开始调取蒙特克莱尔港口区域的卫星影像。
莉娅从包里掏出手机,打开她和艾琳娜之前标注过的地图截图,将大致的仓库位置用短信发给陈杰。陈杰看了一眼坐标,开始在笔记本电脑上进行一系列莉娅完全看不懂的操作。他的手指在键盘上飞速敲击,屏幕上弹出一行行命令行窗口,代码像瀑布一样往下滚动。
十几分钟后,陈杰的动作突然停住了。他盯着屏幕上的一个弹出窗口,眉头慢慢皱了起来。
“有一个信号。一个私有无线网络,SSID被隐藏了,但是MAC地址是可见的。它的加密级别不高,像是临时搭建的办公网络。我正在尝试接入……”他敲了几个命令,然后顿住了,“进去了。他们正在使用一套第三方拍卖管理软件,软件名称是——这是一个小众的暗网拍卖工具,主要用于非法物品交易。现在系统显示的是预发布模式,设定正式上线时间是今晚十点。”
“十点。”莉娅看了看手机上的时间,现在是下午四点五十分,“我们还有大约五个小时。”
陈杰继续在截获的数据中翻查。拍卖管理软件的界面上列出了十四件待售“物品”,每件都附有编号、基本生理数据和初始起拍价。编号从L-0142到L-0158,其中L-0147的状态栏标注的是红色字体,备注了一行简短的说明:货物已遗失,待补充。
艾琳娜的编号。他们知道她跑了。
“除此之外,”陈杰说,声音忽然变得更低,“这个软件里还有一个备注字段,里面提到了一个验证口令。买主需要通过验证口令才能进入拍卖通道。这个口令像是某种内部编号,格式是KF-开头的四个数字。”
他将那行备注信息指给莉娅看。备注内容很简单:买主验证口令,KF-3712。
莉娅盯着那行数字。KF-3712。这串字符看起来像是某种内部代码或项目编号,和之前她在财务报告中见过的任何一个资金账号格式都不一致。但她本能地感觉到,这个代码一定有意义。也许是指向某个关键信息的索引,也许是内部用来标记交易批次或责任人的暗号。她将代码记在手机上,然后发给陈杰作为备份。
“我先回宿舍,”莉娅站起来,将帆布包挎上肩膀,“艾琳娜一个人待在那里不安全。如果今晚拍卖开始前我们拿不到更多证据,就只能直接向警方匿名举报港口仓库的位置。这是最后的手段。”
陈杰点头。然后他从背包里掏出一个巴掌大的黑色设备,外形像一个旧式随身听,外壳磨得发亮。
“这个给你。”他说,“这是一个信号干扰器,有效范围大概半径二十米。它能暂时阻断手机信号、无线网络和蓝牙连接。不是武器,但如果在关键时刻能中断他们的通信——哪怕只中断十几秒——可能就是一条命。”
莉娅接过设备,感到沉甸甸的分量压在掌心。她把干扰器放进包里,转身走向门口。
推开咖啡馆的玻璃门时,傍晚的冷风扑面而来。街道上已经暗了下来,路灯开始亮起,投下昏黄的光晕。她裹紧外套,沿着来时的路往回走。
走过第二个街口时,她的脚步微微顿了一下。街对面停着一辆深灰色的轿车。发动机没有熄火,排气管在冷空气中喷出白色的尾气。车窗是深色的,看不到里面的人。她经过这辆车时,眼角余光捕捉到一个模糊的动作——驾驶座上的侧影似乎在低头看什么东西。她加快脚步走了过去,直到转过下一个街角,那辆车并没有跟上来。
也许只是巧合。也许不是。
她回到宿舍楼时,天已经几乎全黑了。走廊里的感应灯在她经过时一盏盏亮起来,又在背后一盏盏熄灭,脚步声在长长的廊道里孤单地回荡。走到房间门口,她掏出钥匙,插进锁孔的瞬间,感觉到门框上有一丝几乎不可见的细缝。那丝缝的宽度和她出门时在门缝里夹的那根细草的位置,不一样。
她推开门,打开灯。房间看起来和平时没有任何区别,书本整齐地摞在桌子上,床单没有褶皱,百叶窗的角度也没有变化。但她的直觉在尖叫。她快步走到书架前,抽出那本夹着空白便笺的判例集。便笺还在。她又检查了藏在床垫下的移动硬盘——也还在。
然后她看到了一样东西。
她的笔记本电脑屏幕微微亮着。那不是关机状态下的休眠模式,而是被合上了但仍在运行的状态。屏幕上打开的页面,是她在档案馆里拍摄的基金会财务报告的照片文件夹。
她记得很清楚——早上出门时,她关掉了这个文件夹窗口,也关掉了电脑。而现在,文件夹被重新打开,光标停留在一张拍摄了报告附注第十七页的照片上。那行关于北极星资产管理公司和卢塔尼亚国际交换生项目的说明文字,被人用系统自带的高亮工具涂成了黄色。
和她平时自己做标记时使用的颜色,一模一样。
她站在桌前,缓缓将电脑合上,然后抬头扫视整个房间。没有人。但有人来过。不是小偷,不是偶然闯入者。是一个知道她在查什么的人,用这种方式告诉她——我们不仅在看着你,我们也可以修改你所看到的东西。我们能进入你的房间,打开你的电脑,在你的文件上做标记。就像你在我们的文件上做标记一样。
她转身去敲浴室的房门。门从里面反锁着,她将钥匙插入锁孔迅速打开。门内一片漆黑,空无一人。她的心脏骤然悬起,直到从角落里传出艾琳娜极力压低的声音:“是我。我关了灯。我以为敲门的是他们。”
莉娅循着声音摸过去,在浴缸里找到了蜷缩成一团的艾琳娜。她裹着一条毛巾,手里攥着一把从厨房抽屉里拿到的水果削皮刀,指关节因为用力过度而发白。
“你走之后大约一小时,门外有脚步声停在我们房间门口,持续了几秒,然后就离开了。”艾琳娜的声音微微发抖,“我不敢开门,不敢开灯,只能躲进浴缸里。”
莉娅弯腰将艾琳娜拉起来,把自己的外套裹在她身上。
“他们来过了。”她说,声音平静得近乎冷淡。她把电脑上的高亮标记指给艾琳娜看,“我们今晚不能再待在这里了。拍卖夜一结束,他们就会把藏匿所里的证据全部分散转移,到那时所有罪证都将消失在法律看不见的夹层里。我们必须在十点之前行动。”
艾琳娜缓缓放下手中的刀,用一种复杂的眼神看着她。那个眼神里有恐惧,有无助,还有一种从绝望中重新燃起来的、微弱的火光。
“你不害怕吗?”
莉娅沉默了一瞬间。然后说:“害怕。但现在不行动,以后就不用害怕了。因为一切都将不再重要。”
她说着打开电脑,调出加密文件夹中的证据清单,开始和艾琳娜一起逐一核对仓库内部结构的大致方位、走廊走向、地下室位置以及被囚女孩的数量。艾琳娜尽可能回忆每一个细节——通风管道的位置、水房转角处的检修口、守卫换班的间隔、管理人员的体型特征。莉娅将这些信息全部记录在地图上,逐条标注。
末了,莉娅拨通了陈杰的电话。电话接通后,她只说了两句话:第一,你那边能调取到蒙特克莱尔港口今晚的气候数据吗;第二,能不能追踪一个以KF开头的编号在奥德赛集团内部信息系统中的出现记录。
陈杰没有问为什么。他说,给我二十分钟。
挂断电话后,莉娅转身看向窗外。远处蒙特克莱尔港口的方向,夜空中有一片微弱的橙色光晕,那是集装箱码头的照明灯光映在低垂云层上的反射。在这片光晕之下,十四件编号货物正等待今晚被拍卖。而在她所在的这个房间的周围,黑暗中有不止一双眼睛正在看着她。
每个人都在计算。
有人计算着钱,有人计算着命,有人计算着逃出笼子的路线。每个人都在自己所处的规则里博弈。但今晚,她必须让那些隐藏在黑暗中的规则,暴露在光天化日之下。


暂无评论,来抢沙发吧!