《名利场:算法时代》第二十四章 · 质证

6月5日,第一次庭前会议。

法院第7法庭。不大,审判席后面挂着一枚国徽,黄铜色的表面反射着日光灯的光,像一只沉默的眼睛。

沈未辰坐在旁听席第一排。郭垣坐在他旁边,面前摊着一本黄色便签本,上面一个字都没写。

赵弈铭没有出庭。他的代理律师坐在对面——一个五十岁左右的男人,姓钱,穿着一件深灰色的西装,衬衫领口别着一对金色的领撑。

旁听席上还有一个人:唐栩。她没有带相机,只带了一支笔和一本巴掌大的记事本。

法官简单核对完双方身份后,进入了第一个程序环节——证据交换。

钱律师从公文包里取出一个白色的U盘,放在桌上。

“被告方提交证据如下:沈氏集团Aurora项目源代码归档副本,版本时间为2024年3月28日。归档文件中包含IntentCore四项涉诉核心技术特征的完整实现。”

法警接过U盘,插入法院的专用读取设备。

投影屏幕上出现了一行目录。

沈未辰的目光穿过屏幕,停在那个目录列表上。

他看到了那个文件:/train/utils/mem_profiler.py。

归档版本的路径。文件名。时间戳。和周平的Git提交记录显示的路径、文件名、时间戳——完全一致。

归档版本确实包含了后门代码。

但归档版本把后门代码包装成了“标准性能监控模块”。

郭垣站起来。

“审判长,我方对该证据的完整性提出异议。”

钱律师转过头,看着他。法官的目光也移了过来。

“理由?”

“该归档版本的生成时间——2024年3月28日——晚于Aurora项目实际代码冻结时间至少两周。”郭垣说,“我方有证据证明,归档版本在此时间窗口内被人工修改过。”

他拿出一张打印好的表格,放在桌上,法警送交审判席。

“这是星核资本GitLab服务器上Aurora项目仓库的完整提交历史。从2024年3月1日到3月31日,共有二十三次代码提交。其中第二十一次提交——2024年3月17日——由Aurora项目核心开发者周平提交。提交的代码包含了被沈氏集团起诉状引用的四项技术特征。”

法官看着那张表格,没有立刻说话。

钱律师站了起来。

“审判长,对方当事人的主张存在根本性逻辑问题。如果这份归档版本确实如对方所说被人工修改过——修改者为什么要保留版本中的代码签名?”他转向郭垣,“Aurora归档中的每一行关键代码,都包含原始开发者的注释签名。”

他走到投影屏幕前,指着屏幕上的一段代码:

# debug_log_format: train/utils/mem_profiler.py

# Author: ZP | 2024-03-17

“ZP——周平。他的个人签名。如果归档版本是伪造的,伪造者不会保留原作者的签名。保留签名,说明这份归档是直接从原始代码仓库导出的,未经修改。”

法庭里安静了片刻。

郭垣没有争辩。他坐下了。

沈未辰看到郭垣在坐下之前,用左手的手指在桌面轻轻敲了两下——不是紧张,是一个信号。他在等对方说完。

因为郭垣在第一轮,本来就没打算赢。

第一轮的目的是:让赵弈铭的律师把他最有利的论据——ZP签名——搬到台面上来。

因为一旦钱律师当庭说出“保留签名证明归档版本未修改”这句话,他就等于在法官面前确认了一个事实——周平的代码签名在整个案件中具有关键的证据价值。

当ZP签名变成庭审焦点的时刻,周平本人的证词——周平可以解释他为什么要在代码里签名的那个人的证词——就不能再被赵弈铭的律师抹掉了。

庭前会议在四十分钟后结束。

走出法院时,唐栩追上了沈未辰。

“你方律师在第一轮几乎没有反驳ZP签名的问题。你在等下一轮?”

沈未辰没有承认,也没有否认。

“下一轮是什么时候?”

“三天后。”沈未辰说。

唐栩点了点头,没有继续追问。她收起笔记本,转身走向地铁站。

沈未辰站在法院门口的台阶上,看着她的背影消失在人群中。天气阴沉,云层又低又厚。空气像一块湿海绵,挤不出水,但也没有干的迹象。

手机震了一下。

Lin Shen: “今天庭上的交锋,我听说了一些。你还有三步棋要下。第一步是让周平开口。第二步是我。第三步——”

消息在这里断了一下。过了几秒,下一条才发来。

“——是你自己。”

沈未辰盯着那两行字。

三部棋。

周平。林深。他自己。

周平会开口。他知道。

林深的选择——他一直不确定。

而他自己——他一直在走棋,但从来没有想过自己才是最后一步需要的棋子。

6月6日,沈未辰约周平在自己家里见面。

不是公司,不是咖啡馆。是他自己的家。

周平来的时候,穿着一件黑色的运动外套,帽子没有戴,但淋了一点雨。头发上有细小的水珠,在灯光下发亮。

沈未辰给他倒了一杯热水。

“明天下午,郭垣会带你去法院做证人笔录。”

周平接过杯子,没有喝。

“我该说什么?”

“说你知道的事。说赵弈铭在两年前的技术评审会上让你做了什么。说他让刘总监在Jenkins上创建了什么任务。说他打完电话之后你做了什么。”

周平听着,沉默了一会儿。

“但如果他们问那段签名——”

“你照实说。”沈未辰说,“那句签名是你写的。你在代码里加签名是你入职之后养成的习惯——所有核心模块都会加。但赵弈铭知道你有这个习惯,所以他在归档的时候保留了你的签名。不是因为你签得理所当然——是因为他知道保留签名比删除签名更有用。”

周平的手指握着杯壁,指尖压得有些发白。

“他们不会信。”

“不需要所有人信。只需要法官信。”

周平没有再说话。他端起杯子,喝了一口水。

6月7日,郭垣带周平去法院做了证人笔录。

法律术语叫做“当事人陈述”。不是正式的出庭作证,但内容会被记录在案,作为正式庭审中的参考证言。

笔录持续了两个小时。

郭垣出来后,在法院门口给沈未辰打了一个电话。

“有两个好消息,一个坏消息。”

“先说坏的。”

“周平在陈述中提到了一条我们之前不知道的信息。”郭垣说,“赵弈铭在2025年11月,用内部通讯软件给周平发过一条消息。消息内容大概是:‘Aurora归档的事情你不用管了,交给技术总监办公室处理。’”

“坏在哪里?”

“这条消息没了。”

沈未辰握着电话,没有说话。

“周平说消息还存在他的旧手机上。但旧手机在2026年1月——他换新手机的时候——被公司IT部门回收了。公司IT的回收流程要求所有离职或换机员工的旧设备交回,执行‘数据销毁+设备再利用’。

如果消息确实被销毁了,就死无对证了。”

“那好消息呢?”

“好消息是——周平在交回旧手机之前,用另一台设备截图了那条消息。截图还在他的个人云盘里。”

沈未辰握着电话。

赵弈铭让周平不要管归档的事。周平截图了。

然后他换了手机。然后IT回收了旧手机。然后赵弈铭以为那条消息永远消失了。

但周平截图了。

“截图的完整度怎么样?”

“包含发送者头像、发送时间、消息内容。但没有完整的聊天上下文。”郭垣说,“在法律上,截图比原始消息记录弱一个等级。但它比没有强。”

“第二个好消息呢?”

“第二个好消息是——林深联系我了。”

沈未辰的手指在手机边缘停了一下。

“他说什么?”

“他说他愿意在正式庭审中出庭作证。但他有一个条件。”郭垣说,“他的证词需要和赵弈铭的律师团队达成一项保密协议——证词中涉及他个人的部分,不做公开披露。”

“只做不公开的内部质证?”

“对。闭门作证。”

沈未辰靠在椅背上,看着天花板。

林深选择在控辩双方和法官面前说出真相——但他不想让真相出现在新闻报道里。

这是他的底线。

沈未辰闭了一会儿眼睛。

“答应他。”

6月8日。

沈未辰站在B3层的走廊里。服务器的封条还在,上面的日期——6月3日——已经过了五天。

他在等一个人。

三点整,齐骁从前台领了一个人下来。

短发,灰色西装,手里拎着一个深棕色的公文包。男人看起来大约四十岁,步子不快不慢,像每一个来法院开会的律师。

但他不是律师。

他是赵弈铭的技术副总监——姓刘。

齐骁把人带到设备间门口,看了沈未辰一眼,然后转身走回工位。

刘总监站在走廊里,被日光灯照得表情没有任何明显的情绪——像是在很多场类似的会面中练出来的表情控制。

“周平说你在深圳见过他。”沈未辰说。

“对。他当时来找我,确认Jenkins任务的事。”

“你为什么愿意来?”

刘总监沉默了几秒。

“因为我不确定赵弈铭会怎么处理后续的事。”他说,“我做了我该做的技术工作。但如果有一天这件事上了法庭,我不想成为最后一个才知道真相的人。”

沈未辰没有立刻接话。

他想问的是:你手里有没有留存那份文档——赵弈铭让你创建Jenkins任务时给的参数说明文档?

但开口之前,他看到了刘总监的手。

他手里拿着一张叠好的A4纸。

刘总监把纸递给他。

沈未辰展开。

纸上是Zabbix API的调用参数——和他从周平手里拿到的那份一样。

但这一份的笔迹,不是林深的。

是打印的。

文件页眉上有一行系统生成的标记:Generated by: zhao.yiming.workstation

刘总监看着沈未辰的表情,然后开了口。

“那张纸是我用周平给我的原件,自己再打印的。因为我想留一份——以防他日后来问我,我说不清楚。”

沈未辰把纸折好,放进口袋。

“那份原件现在在哪里?”

“赵弈铭手里。他让周平把原件交给他的助理了。”

“交出去多久了?”

“周平从深圳回来后第三天。”

沈未辰点了点头。

和刘总监说了再见之后,他站在原地,把刚才的对话从头想了一遍。

刘总监说赵弈铭让周平把原件交给了他自己的助理。

助理。不是律师。

说明赵弈铭至今没有把原件作为证据提交给法院。

它不在法院的证据清单上。

它还在赵弈铭的手里。

沈未辰拿起手机,给郭垣发了一条消息:

“赵弈铭手里有一份关键的原始文档没有出现在证据清单上。Zabbix参数说明的原件——林深签过字的那份。他收起来了,没有提交。”

郭垣回复:

“如果他提交了,林深的签字就会出现在证据链条上。他不提交,是因为他不想让法院看到林深的签字。”

“那林深出庭作证的事——”

“变得更危险了。”郭垣说,“因为一旦林深的证词指向赵弈铭,赵弈铭的下一步就是把那份原件提交给法院——然后反问:‘如果林深真的不知情,为什么原始文档上有他的签字?’”

沈未辰站在走廊里,通风管道的低频嗡鸣像一段持续运行的底噪。

赵弈铭手里永远握着一张没出的牌。

而沈未辰的任务,是在他出牌之前,让那张牌失去杀伤力。

(第二十四章 · 质证 · 完)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容