模拟法庭之后的第二天,姜岚被开除出了午餐群。
不是微信群。是实习生约饭的口头默契。以前六个人一起下楼,去B1的美食广场,占一张长桌,AA制。现在五个人下楼,没人叫她。
准确地说,是赵凯不叫她,其他人跟着不叫。
这种排挤方式很原始,原始到让人想笑。但有效。职场里百分之八十的社交压力不来自工作本身,来自吃饭。一个人端着托盘在食堂找位置的时候,孤立感会被放大到不成比例的程度。
姜岚不介意。
她甚至觉得这是赵凯送她的礼物。
五个人结伴下楼的二十分钟,午休加上磨蹭的四十分钟,来回电梯的十分钟——加起来超过一个小时。这一个小时里,整个实习生办公区是空的。
第八天中午,十二点十五分。
赵凯带着四个实习生进了电梯。姜岚在工位上吃自己带的饭团,吃了两个,喝了一口矿泉水。然后站起来。
她没走正门。
君恒律师事务所的服务器机房在二十五楼西侧尽头,跟IT部门的办公室隔了一道玻璃墙。机房有独立门禁,刷卡进。姜岚没有门禁卡。
但IT部门有个后门。
她第二天来君恒报到的时候,行政带她走了一遍楼层。二十五楼走过的时候,她注意到IT部门办公室和机房之间的玻璃墙底部有一条检修通道的入口,用一块可拆卸的挡板遮着。挡板上贴了一张A4纸,手写的“检修专用,勿动”,字迹很草,纸已经泛黄。泛黄意味着这块挡板至少半年没被动过。
午休时间IT部门通常只留一个值班的人,值班的人坐在靠窗那排,背对玻璃墙。
姜岚走消防楼梯到二十五楼,从走廊西侧的备用通道进入IT部门办公区域。值班的技术员戴着耳机在看视频,屏幕上是一个游戏主播的直播回放。
她从他身后四米的位置经过。运动鞋,橡胶底,踩在防静电地板上没有声音。
挡板拆下来的时候发出了一点响动。金属边框蹭到了地面。她停了两秒。耳机里游戏主播正在大喊大叫,值班技术员没回头。
检修通道很窄,半蹲着走了大约三米,右手边的检修门用一个简易插销锁着。
插销拨开,推门进去。
机房里的冷气开得极足,温度大概十六七度。四排服务器机柜整齐地立着,指示灯明灭不定,风扇的嗡嗡声填满了整个空间。
姜岚从牛仔裤口袋里掏出一个U盘。U盘是黑色的,没有任何印刷标识,容量8G。里面只有一个程序——远程监控木马,她自己写的。
不是什么高端技术。代码框架是她在大学期间做网络安全课程作业时写的原型,后来改了三版。核心功能只有两个:截获指定IP段的内网通信数据包,以及定时回传到她的加密邮箱。
她找到了标注“OA-MAIN”的那台服务器,蹲下来,在机柜背面找到一个空闲的USB接口。
U盘插进去。
屏幕上跳出一个命令行窗口。她输入了一串预设的执行指令。程序开始自动安装,进度条走得很快。十一秒。
装完之后,程序不会出现在任何常规的进程列表里。它寄生在系统日志服务的子进程下面,名字伪装成一个Windows更新组件。除非IT部门的人逐行审查系统进程的哈希值,否则查不到。
拔掉U盘。原路返回。挡板装回去,检修通道的门插销归位。
从二十五楼回到十七楼的时候,赵凯和其他人还没回来。
时间:十二点四十七分。
姜岚坐回工位,把饭团的包装纸扔进垃圾桶。
——
赵凯的第二步棋下在了第九天。
下午三点半,姜岚从会议室开完一个案件讨论会回来,坐下来打开电脑。
桌面是空的。
不是“文件被移到回收站”那种空。是“硬盘被格式化”那种空。
桌面上只剩下一个回收站图标和系统默认的壁纸。所有文件——合同审查备忘录、案件检索报告、模拟法庭的材料——全没了。
姜岚没动。
她的右手搭在鼠标上,左手放在键盘边上,保持着一个很日常的坐姿。周围几个工位的人都在低头做事,没人看她。但有人在等她的反应。
她点开回收站。空的。
点开“此电脑”。C盘、D盘,用户文件夹下面干干净净。
不是格式化。格式化会触发系统恢复提示。这是手动删除,然后清空了回收站,再用覆写工具跑了一遍。做得挺专业。
专业到不像赵凯能干出来的事。
周恒学过一点计算机。姜岚记得入职第一天自我介绍的时候,周恒说自己本科辅修了信息管理。赵凯出主意,周恒动手。
配合不错。
姜岚关掉文件管理器,打开浏览器,登录了一个云端同步服务的网页版。
所有文件都在。
她从第三天开始就把工作文件设置了实时云端同步。同步服务用的是一个小众的加密云盘,不是百度网盘那种大路货,日常不会在电脑上显示图标。赵凯和周恒删掉的只是本地副本。
她没有当场恢复文件。
她等了一个半小时。
下午五点,李盛律师召集知产组开周会。姜岚、赵凯、周恒和另外两个律师助理围坐在小会议室里。李盛翻着周报模板:“每人汇报一下本周的工作进度。姜宁,你先来。”
姜岚打开笔记本电脑,把屏幕转向李盛。
“李律,我的电脑今天下午出了点问题,本地文件全部丢失了。”
李盛皱眉:“什么意思?”
“具体原因还没查,可能是系统故障。”姜岚的语气很平,“不过没影响工作,我的文件有云端备份。”
她点开云盘页面,当着所有人的面,一个一个把文件下载回来。合同审查备忘录的修订记录显示最后保存时间是下午三点十七分,也就是她去开会之前十三分钟。
文件恢复用了不到两分钟。时间戳完整,版本记录完整,修改痕迹完整。
“后续的汇报内容都在这里。”姜岚把笔记本电脑转回自己面前。
李盛点了点头,没追问文件丢失的事。他是个务实的人,文件在就行,至于为什么丢的,不是他关心的范畴。
赵凯低头翻自己的材料。周恒坐在他旁边,脖子一直没抬起来过。
周会结束后,赵凯走得很快,没有经过姜岚的工位。
姜岚收拾东西的时候,把云盘的登录记录清除了。然后关机,把笔记本电脑放进帆布包里带走。
从今天起,电脑不离身。
——
第十天。
姜岚上午在知产组的案件数据库里做检索报告。十点半左右,她的诺基亚备用机震了一下。备用机放在帆布包夹层里,震动声被帆布吸收了大半,外面听不到。
她去了趟洗手间。隔间里把手机拿出来看了一眼。
不是加密邮箱的通知。是诺基亚自带的短信功能收到了一条陌生号码的信息。
“你的入职背景正在被第三方调查。不是律所内部流程。”
没有署名。号码归属地查不到,大概是虚拟号段。
姜岚把短信删了。
第三方调查。不是陈主任直接查,是找了外面的人。
什么样的行政主管会动用第三方去调查一个实习生的背景?陈主任的权限不够。他上面站着许学铭,许学铭背后是华盛集团。
华盛集团是做地产的。做地产的公司养安保团队,天经地义。
安保团队做背景调查,也天经地义。
问题在于:为什么查她?
模拟法庭的事?分数太高?一个北京某高校法学院的应届生,入职第六天就能当面拆掉一个执业十一年的律师的论证框架——这个表现确实超出了正常实习生的水平。
陈主任不是笨人。他看完模拟法庭的评分之后应该有两个疑问:第一,这个叫姜宁的实习生是什么来历?第二,她为什么来君恒?
第一个疑问用常规方式就能查。简历、学历、实习经历,这些东西姜岚伪造得很扎实。她用了八个月时间准备这套身份,学历证明是真的——姜宁是真实存在的人,她的同届校友,已经出国读研,签证还有两年。两人长得不像,但证件照经过处理之后差别不大。社保记录、银行流水、手机号实名认证,全套文件都能经受住一般性的核实。
但华盛集团的安保团队不是“一般性核实”。
他们会查到什么程度?
姜岚从洗手间出来,回到工位。脸上什么表情都没有。
她打开电脑,照常工作。
下午一点,她出门买咖啡。星巴克在楼下商业裙房,走路三分钟。她端着咖啡出来的时候,注意到马路对面停了一辆深灰色的别克GL8。
这辆车今天上午她进写字楼的时候就停在那里了。上午那会儿车窗关着。现在驾驶座的车窗摇下了一指宽的缝。
别克GL8,深灰色,京牌。华盛集团的商务用车标配。这个信息在赵凯告诉她的那天她就查过了——华盛集团法务部的公开招标文件里,有一项是“商务车辆租赁服务”,中标公司提供的车型清单里第一个就是别克GL8。
她被盯上了。
姜岚端着咖啡走回写字楼。进旋转门之前,余光扫了一眼那辆车的车牌。记住了。
回到工位之后,她花了二十分钟做了一个决定。
下午五点半下班。姜岚没有走写字楼正门。她从B2停车场的行人通道出去,穿过隔壁商场的地下连廊,从商场东门出来。
出来之后她没有回家。
她打了一辆出租车,报了一个地址。朝阳区麦子店西路,一栋独栋建筑,门口没有招牌。
这个地址是她从植入律所服务器的那个监控程序回传的数据里找到的。林远的内部邮件里有一封发给行政助理的备忘录,让助理预约“西路会所”本周四晚上七点的包间。备忘录是三天前发的。
今天是周四。
出租车在麦子店西路停下来。姜岚下车,在路边站了一会儿。独栋建筑的外墙贴着深灰色石材,入口处有两级台阶,台阶旁边站着一个穿黑色西装的人,耳朵里挂着细线——通讯耳机。
私人会所。高端的那种。门口有人看场子。
姜岚没有进去。
她往前走了五十米,到了一个路口。路口有一家便利店,她走进去,买了一瓶水。然后站在便利店门口,打开手机地图,假装在查路线。
五分钟后,那辆深灰色别克GL8从路口拐了进来,在会所斜对面的路边停下。
又过了大约十分钟。
会所入口的黑西装接了一个电话,说了几句什么,然后朝别克GL8的方向走过来。
他没走到车跟前。
从会所门口的侧方拐角处,出来了两个人。也穿黑色西装,但块头明显比门口那位大一号。两个人一左一右,走到别克GL8的驾驶窗旁边。
敲窗。
车窗降下来。里面的人说了句什么,声音传不到姜岚这边。
左边的黑西装弯腰凑近车窗,大概说了两句话。车里的人沉默了四五秒,然后启动引擎,倒车,掉头,走了。
整个过程不超过三分钟。干净利落。
没有冲突。没有争吵。一方亮了身份或者意图,另一方选择撤退。
姜岚站在便利店门口,看着GL8的尾灯消失在路口。
有意思。
华盛集团的人盯她盯到这儿来,被林远的人截了。截的方式不是驱赶,是“告知”——你到了不该到的地方。
如果林远和许学铭是同一条战线上的人,华盛集团的车不会出现在林远私人会所的门口“跟踪”一个实习生。如果他们是合作关系,根本不存在“截获”这个动作。
林远和华盛集团不是一路人。
她本来有七成把握。现在有九成。
剩下那一成留给一种可能性:这整场“跟踪—截获”是演给她看的。但如果是演的,成本太高了——出动安保团队盯人一整天,再出动私人保镖来拦截,只为了让一个实习生看到这出戏?不划算。
除非她在对方眼里不只是一个实习生。
姜岚把矿泉水拧开喝了一口,转身走向地铁站。
——
晚上十点。公寓。
窗帘拉严。台灯开着。
姜岚把今天的事情在笔记本上理了一遍。“华盛安保——跟踪——林远会所——截获——对立关系确认”。
她在“对立”两个字下面画了一道线。
然后打开诺基亚备用机,连热点,登录加密邮箱。
收件箱里有一封新邮件。
发件人还是那个熟悉的乱码地址。
没有标题。正文是空白的。
但有一个附件。
文件格式是.wav。音频文件。大小4.7MB。
姜岚的手指悬在屏幕上方,停了三秒。
她插上耳机。
点击播放。
前两秒是杂音。电流的沙沙声,和一点回声——像是在一个封闭空间里录的。法庭?审讯室?
然后有一个男人的声音响起来。
声音不年轻,但很清楚。语速不快,每个字都咬得很实。那种说话的方式——斟酌过每一个字的重量再放出来的方式——是做了二十年诉讼律师才会有的习惯。
“……我最后要说的是,关于证据链的完整性问题,我再强调一次:第四环的缺失不是技术性遗漏,而是人为移除。我有足够的理由相信,2016年7月14日当晚的原始记录被修改过。修改它的人目前仍然在……”
声音断了。
不是录音设备的故障。是有人按下了停止键。断点很干脆,没有淡出,没有尾音。
4.7MB的音频文件,总时长三十一秒。
姜岚把耳机从耳朵里拔出来。
她坐在床边,两只手搭在膝盖上,盯着诺基亚巴掌大的屏幕。
那个声音她认得。
八年前她最后一次在法庭上听到这个声音的时候,她十七岁,坐在旁听席的最后一排,手里攥着一张手写的旁听证。法警让她把手机关了。她没有手机,她把一只空的手摊开给法警看。
父亲在被告席上没有回头找她,从头到尾没看她一眼。
但他在做最后陈述的时候,声音的方向偏了五度——不是正对法官,是稍微偏向旁听席的方向。
她一直以为那段陈述的内容已经被法庭记录完整收录了。判决书的附件里有庭审笔录。
但庭审笔录里关于最后陈述的部分,只记到“关于证据链的完整性问题”就终止了。后面的内容,笔录里写的是“(被告人陈述结束)”。
不是结束。
是被掐断了。
现在她知道了被掐断的那部分说了什么。
“第四环的缺失不是技术性遗漏,而是人为移除。”
第四环。
上一封匿名邮件里也提到了这个词——“2016年证据链第四环缺失”。
她父亲在法庭上当众说出了这件事。说完之后被打断。庭审笔录里这段话被删掉了。
谁删的?
谁有权力从庭审笔录里删掉被告人的最后陈述?
姜岚把音频文件从附件里下载到诺基亚的存储卡上。然后从加密邮箱里删除了这封邮件。
她关掉手机。
躺到床上,没关台灯。
天花板上有一道细长的裂缝,从吊灯底座的位置一直延伸到墙角。搬进来的时候就有了。这几天她盯着这条裂缝看了很多次。
今天她没看裂缝。
她闭着眼睛,把那三十一秒的音频在脑子里又播了一遍。
“修改它的人目前仍然在——”
在哪?
那个没说完的词,父亲想说的那个地点或者机构,到底是什么?
君恒?