5. 没有污点的童年

“当保护需要被保护时。”

艾登盯着屏幕上那行代码注释,反复咀嚼这七个字。它们被写在净税清缴方案底层模块里,位置极其隐蔽——不是在主程序里,而是在一个名为“地址校准子模块_冗余备份_v3.7”的文件中,夹在长达两千行的注释代码之间,像一封被故意藏在图书馆某个冷门书架深处的信。

他查看这行注释的时间戳。时间是一年半前的某个凌晨三点十二分,提交者署名是E.M.——伊芙琳·马洛在税务局的员工代码。那是她离职前最后一次代码提交。离职前三天,凌晨三点,在服务器的冗余备份文件夹里留下一行只有七个字的注释。

这不是无意。这是留给某个人的信息。或者,留给自己的备忘录。

艾登关掉数据库,靠在车座椅背上,让松林间过滤过的空气涌入半开的车窗。他需要换一个思路。过去几天的调查都是沿着受害者的轨迹逆向追溯,每一个人的遭遇都印证了同一个模式,但模式不是证据。要在法庭上证明伊芙琳·马洛利用税务系统进行有目标的清除,他需要找到那个连接点——存在于系统内部与外部的精确咬合处。

他需要的不仅仅是受害者名单,而是这十一个案例在系统内部留下的痕迹。不是通知单、不是止赎记录,而是更深层的、被日志忽略的痕迹:地址被修改的原始时间、修改权限的使用记录、以及这些修改与诺亚出现的精确时间关系。

但这些信息,他一个县法律援助律师,没有权限查阅。他需要找到能查阅这些信息的人。

第二天上午,艾登开车去了州首府林肯市。

林肯市的行政区和亨特县完全不同。这里的大楼更高,玻璃幕墙更亮,行人走得更快,十字路口的信号灯切换间隔更短。州税务局总部坐落在行政大道上,一栋十七层的现代化大楼,旋转门不断吞吐着灰色西装的人流。大楼正门外立着一块巨大的电子屏幕,滚动播放着纳税宣传标语:“税收即秩序,公平即效率。”

艾登没有进大门。他绕到侧门,穿过一条员工通道,来到地下停车场入口处的一间小咖啡店。这家店没有招牌,只有一盏绿色的霓虹灯在玻璃窗内闪烁。咖啡店的位置很特殊——它正好坐落在州税务局地下停车场出口旁边,每天有上千名税务局的员工从这里经过。

艾登点了一杯黑咖啡,坐在靠窗的位置,等了一个小时零四十分钟。

十一点二十三分,他看到一张熟悉的脸从停车场出口走出来。

哈利·唐纳利,亨特县税务局的前系统管理员,伊芙琳·马洛当年的直属上司。他在伊芙琳离职后不久也离开了亨特县,调到了州税务局担任系统安全审计主管。艾登在查阅净税方案项目档案时见过他的名字,他是那个模块的项目负责人,也是所有代码提交的最终审批人。

唐纳利四十五六岁,微胖,发际线后退,走路时上半身前倾,像是长期盯着屏幕养成的姿势习惯。他手里拿着一个不锈钢保温杯,径直走向咖啡店柜台,要了一杯美式,加两份浓缩。

艾登站起来,在他转身时迎上他。“唐纳利先生?”

唐纳利抬头,眼神从恍惚的专注切换到警觉。“你是——”

“艾登·肖,亨特县法律援助中心的律师。”艾登递上名片,“我想和你谈谈净税清缴方案的事。确切地说,谈谈伊芙琳·马洛留下的代码注释。”

唐纳利的表情在一瞬间发生了很多事。眉头动了一下,嘴唇收紧,瞳孔收缩。然后他恢复了平静,接过咖啡,在艾登对面坐下。“我不知道你在说什么。伊芙琳·马洛离职已经三年了。她留下的代码属于常规维护范畴,早就被整合进系统更新。”

“那你一定知道‘当保护需要被保护时’这行注释的含义。”

唐纳利端起咖啡杯,喝了一口,手很稳。“那是冗余备份文件夹里的遗留代码。我从来没有注意到那行注释。如果你翻看任何大型系统的旧代码库,都会找到类似的奇怪注释。程序员有时候会写点莫名其妙的东西。”

“凌晨三点写的,离职前三天写的。”艾登说,“不是在主模块,而是在一个名为‘冗余备份’的子文件夹里。唐纳利先生,你作为项目审批人,每一行代码变更都应该经过你的审核。你不可能没有看到。”

唐纳利放下咖啡杯,杯子底部碰在桌面上发出沉闷的一声。他看着艾登,沉默了大约十秒。然后他做了一件奇怪的事——他回头看了一眼停车场出口的方向,确认没有人经过,然后压低了声音。

“艾登·肖。我查过你的名字。”

艾登记得同学那条消息——他的名字在税务局内网被查询过,就在他介入调查的第一天。

“你为什么要查我?”

“因为你第一次碰那十一个案例,系统就自动向安全审计模块发送了异常行为警报。你查阅每一个档案,系统都记录下来,汇总成一份风险评估报告,发到我的工作台。报告说,艾登·肖正在访问被标记为‘敏感归档’的历史止赎记录,访问模式不符合任何已知的业务流程,建议进行人工复核。”唐纳利停顿了一下,“你知道系统对‘人工复核’的建议是什么吗?是将你的访问权限全部锁定,将你的账户标记为‘潜在安全风险’,然后将一份通知发送到你所在机构的安全负责人那里。”

“但你没有执行。”

“没有。”

“为什么?”

唐纳利转动手里的保温杯,杯盖上的水珠顺着不锈钢壁滑下来,在桌上形成一个完美的圆形水渍。他用手指抹掉水渍,然后用一种与之前不同的语气说话——更慢,更重,像在搬动很久没有挪动过的家具。

“因为我等了三年的‘人工复核’机会,终于来了一个人。”

他说这句话的时候没有看艾登。他盯着窗外那些进进出出的灰色西装,像是在确认他们离得足够远。

“伊芙琳·马洛是我见过的最聪明的系统分析师。她写的代码优雅、精确,每一行都干净利落到可以当教材。但她离职的时候,我在她的最后一份代码提交里看到了那七个字。和你看到的七个字一样。”唐纳利说,“我当时以为那是一个系统漏洞警告,就花了两周时间逐行检查她经手的所有模块。我什么都没找到。程序运行正常,数据输出正常,所有功能符合设计规范。我以为自己多心了,就把这件事放了下来。”

“然后?”

“然后一年后,我发现她离职前提交的一行代码,不在任何主程序里,而是嵌在地址校准模块的底层,伪装成了一段调试用的冗余程序。那行代码的作用是——当地址数据库收到一个特定序列的查询请求时,地址校准容错阈值会从3%暂时切换为0.1%,维持四十八小时后自动恢复,不留下任何日志记录。”

艾登感到后背一阵发凉。“四十八小时?”

“对。四十八小时。诺亚接触过的每一个人,在之后的四十八小时内,他们的地址数据都会被修改——不是大幅修改,只是将门牌号末尾数字、邮编尾数这种小细节悄悄移位,偏差控制在刚好超出阈值的范围。然后系统自动生成通知,自动发送,自动退回,自动标记为欠税。不需要任何人操作。一切都在系统内部完成。”

“而它看起来就是一次正常的自动化处理。”

“因为所有的痕迹都被清除。四十八小时后,阈值恢复,地址数据——我说的是数据,不是记录——地址数据恢复原样。系统日志里只会留下一行‘地址自动校准完成’。没有人会怀疑一行校准完成的记录。”唐纳利擦了擦额头上渗出的细汗,“你明白这意味着什么吗?这意味着这套工具一旦被激活,它可以在完全不留下人为干预痕迹的情况下,精确地摧毁一个人的全部财产。”

艾登想了很久。

“那你为什么不报告?”

唐纳利笑了一下,是一种极其疲惫的笑。“报告什么?报告一段已经离职的员工留下的、被伪装成调试程序的代码?报告一套在技术上完美合规的自动化流程?我没有证据。那段代码在表面上看,就是地址校准模块的冗余备份,功能是‘在系统负荷过高时降低阈值以保证处理速度’。你懂编程吗?这个解释在任何一个技术审查会上都能成立。我甚至说服不了我自己。”

他说得对。艾登在笔记里写过这个结论——不是暴力清除,不是威胁清除,而是程序清除。在程序里,每一条路径都通往合规,每一步操作都有技术上的正当理由。犯罪不存在于任何一条指令中,而是存在于指令之间的关系里,像一首诗的韵脚,只有读完整首才能感受到那整齐的、令人战栗的美学。

而伊芙琳·马洛写下了这首诗。

“唐纳利先生,如果我现在请求你,把那段代码的证据调出来,移交给法院——”

“不。”唐纳利打断了他,声音里第一次出现了恐惧,“你不明白。我不是不想,是做不到。那段代码我后来再去查的时候,已经不见了。被系统更新覆盖。唯一留下的痕迹,就是那个冗余备份文件夹里的那七个字。七个字,不能当证据。但我没有放弃。我一直在等。”

“等什么?”

“等她犯一个错误。”唐纳利从口袋里掏出一个U盘,放在桌上,滑过桌面推到艾登面前,“这里面的东西,是我两年来悄悄整理的数据。亨特县税务系统在过去三年内,所有在阈值波动期间产生的止赎记录的详细时间戳。每一次四十八小时窗口,对应一个受害者的接触事件。时间精度到秒。这些数据在法庭上不能直接作为证据,因为它们是系统内部日志的副本,没有正式提取手续。但如果你能找到一个受害者——一个愿意站出来说‘我见过那个男孩’的受害者——这些时间戳就能提供间接佐证。”

艾登握住那个U盘。它的外壳是普通的黑色塑料,没有任何标识,但此刻在他的掌心里,感觉像一块刚从废墟里捡出来的砖。

“还有一个问题。”艾登说,“诺亚。你见过他吗?”

唐纳利的表情发生了微妙的变化。那个疲惫的微笑消失了,取而代之的是一种更深的东西——不是恐惧,是某种更复杂的情感,在怀念和惋惜之间摇摆。

“见过一次。伊芙琳辞职前一个月,带孩子来办公室办点手续。那时候诺亚三岁。他拉着妈妈的手站在走廊里,同事都说是个漂亮的孩子。伊芙琳蹲下来问他想要什么,他说——”唐纳利停顿了很长时间,长到咖啡店的电子门铃响了三次,“他说想摸摸窗玻璃外面的雨。当时外面在下雨。伊芙琳对他笑了笑,说雨很脏,会让人生病。然后她抱起他走了。”

“就这些?”

“就这些。但我一直记得那个孩子的眼睛。他看雨的眼光,不是好奇。是渴望。一种他那个年纪不应该有的、深到骨头里的渴望。”唐纳利站起来,把椅子推回原位,动作和之前在办公室里一样准确,“肖先生,你现在有名单、时间戳和一个老程序员的悔意。但如果你真的要打开这个笼子,你需要准备面对的不是一个女人,而是一个经过精密设计的系统。她把母爱编进了代码里,而那些代码已经在她离职三年后,仍然以完全精准的方式运行着。你明白我的意思吗?”

艾登点头。他明白了。

“祝你好运。”唐纳利说完转身离开。

艾登坐在咖啡店里,把那枚U盘放进西装内袋,紧贴着胸口的位置。窗外,州税务局的大楼在正午阳光下反射出一片均匀的白光,每一层楼的每一扇窗户都在同一个角度反射着同一个太阳。他想起那栋白色的房子,想起空气中过滤过的安静,想起诺亚手里那块故意拼错的拼片。

他打开笔记本电脑,插上U盘,开始逐行阅读唐纳利整理的数据表。

总共十三条时间记录。十三条四十八小时窗口。每一条都列出了窗口开启时间、结束时间、在此期间进入止赎程序的房产编号、以及——最关键的一栏——窗口触发前七十二小时内,诺亚·马洛出现过的地点。

前十条的位置他都已经在受害者档案里见过。第十一条和第十二条是新数据,对应两名他还没有联系的受害者。第十三条——

第十三条的日期是三天前。时间窗口开启于下午三点十七分。触发地点记录里只有两个字:“大厅。”

法律援助中心的大厅。诺亚站在那里,背出母亲教他的话。那时是下午三点刚过。

而艾登自己的止赎通知单,生成于当日上午八点四十五分——那又是另一个窗口。这个窗口的触发地点记录写着:“数据库访问。用户:艾登·肖。查询对象:净税方案前成员项目清单。”

他的每一次调查动作,都在触发新的窗口。

他不是捕猎者。他是猎物中的一员。从他打开第一份档案的那一刻起,他就已经被纳入了这个整齐的程序。

艾登关掉电脑,发动汽车。他必须在下一个四十八小时窗口结束之前,找到那第十一个和第十二个受害者,让他们站出来作证。同时,他还必须想办法阻止自己的止赎——那张通知单上的三十天期限,正在以每天二十四小时的精确速度缩短。

后视镜里,林肯市的玻璃大楼逐渐缩小成一群发光的矩形。他的手机震动了一下,一条来自未知号码的短信出现在屏幕上。没有署名,只有一行字:

“肖先生,你的访问权限已被安全模块标记。请谨慎操作。——H.D.”

H.D.——哈利·唐纳利。那个老程序员在发完这条短信后,大概已经删除了双方的通信记录,并返回了那个整齐排列着灰色西装的大楼。但他在离开咖啡店之前,把两年的等待和悔意装进了一个U盘,交给了完全陌生的年轻律师。

艾登把手机放回口袋,握紧方向盘,驶向高速公路。松林路的方向在正北,亨特县的地界在正南。他需要在两个方向之间选择一条路,然后加速。

本章评论(0)

暂无评论,来抢沙发吧!

我来评论

您的邮箱地址不会被公开。 必填项已用 * 标注