韩冰最后一次揉眼睛的时候,技术科的窗外已经能看到一丝灰白色的光了。
那不是天亮——四月初的省城,凌晨三点半不可能天亮。那是对面办公楼走廊里的感应灯,大概有人上了趟厕所。灯亮了几秒就灭了,窗外又变回了一片漆黑。韩冰的眼球酸胀得像被人从里面往外顶,他摘下圆框眼镜搁在键盘旁边,用拇指和食指掐住鼻梁,使劲按了几下。眼前的世界变成了一团糊,但他不需要看清什么——需要看的东西都在他脑子里了。
十八个小时。
从昨天上午九点开始,他把自己钉在了这把椅子上。中间只站起来过三次——两次去厕所,一次去走廊尽头的饮水机接了杯热水,水太烫没喝,端回来放在桌角,到现在已经彻底凉透了。桌上还摊着两桶方便面的残骸,面汤干在纸桶底部,结了一层白色的油脂。他闻不到了。他的鼻子已经被技术科里二十年没换过的地毯的霉味、服务器散热风扇吹出来的塑料焦味、还有他自己身上的汗味彻底麻痹了。
他用的不是技术破解。
的通讯记录没有留下任何可以直接追踪的硬信息——没有手机号码,没有IP地址,没有地理位置标签。贺远山那个定制的加密通讯软件确实做得很好,每一条消息都经过多层加密和匿名化处理,像是把一颗石子丢进大海,连个涟漪都不留。韩冰一开始也试过反向追踪,跑了六个小时的脚本,最后只追到了一串洋葱路由的出口节点,落在冰岛雷克雅未克的一台公共服务器上。死胡同。
但他有别的路子。
语言。
每个人说话写字都有指纹——不是皮肤上那种,是嵌在遣词造句里的,比皮肤上的还难伪装。用什么词,不用什么词,逗号习惯放在哪里,句子多长多短,喜欢用主动语态还是被动语态,爱不爱用四字成语——这些东西加在一起,就是一个人的语言指纹。普通人意识不到自己的语言指纹,就像普通人意识不到自己走路的姿势。你可以刻意改变走路姿势,但走不了三百米就会恢复原样。语言也是一样。
韩冰把发送的二十三条消息全部提取出来,清洗掉加密层和元数据,只留下纯文本。二十三条消息,总字数不到三千——不算多,但够用了。他把这些文本输进了一个自然语言处理模型。这个模型不是公安系统的标准工具——是他自己在读研究生的时候搭的,用了二十多万条中文语料训练,专门做文本归因分析。他毕业后一直在优化这个模型,但从来没在实际案件中用过。
模型跑了四十分钟。输出了一份二十七页的分析报告——词频分布图、句法结构树、标点使用热力图、语气向量散点图。韩冰对着这些图表看了很久,心跳开始加速。他看到了几个非常明显的特征:第一,极少使用网络流行语,遣词高度书面化,像在写公文或学术论文;第二,偏好使用、、、这类抽象概念词,而且经常把法律术语嵌在日常对话里,比如这个变量需要控制在合理范围内变量是法学方法论里的用词,一般人不会这么说话;第三,的句式结构有一个很罕见的特征——他喜欢用否定+转折+否定的三段式,比如这不是一个简单的问题,但也不是没有解决的路径。这种句式在日常对话中几乎不会出现,但在学术写作里偶尔能见到。
然后韩冰做了第二步:比对。
他把分析结果输入公开数据库,搜索范围设定为省内公开发表的文本——政府公报、会议讲话、新闻发言、学术论文、法律期刊。数据量很大,光省级法律期刊的全文数据库就有四十多万篇。模型跑了将近两个小时,中间韩冰去接了那杯没喝的水。
凌晨两点十七分,结果出来了。
屏幕上弹出了一个名字。韩冰的手指在键盘上方悬着,停了整整五秒没动。他摘下眼镜擦了一遍,戴上,又看了一遍。还是那个名字。
他又跑了一轮交叉验证。把消息中的五个最具辨识度的语言特征——那三个偏好词、那种三段式句型、还有一个逗号使用习惯——逐一跟比对结果进行人工核查。五项全部吻合。
置信度:百分之九十二。
韩冰的后背贴在椅背上,椅背被汗浸得发潮。他盯着屏幕上那个名字看了很久,脑子里有什么东西在轰隆隆地响,像远处的雷。
凌晨三点四十八分,他拿起手机给沈墨发了一条加密消息。消息很短,只有一个名字和一个数字:百分之九十二。
发完之后他才意识到自己的手在抖。不是累的。
沈墨在工作室的行军床上睁开眼睛的时候,手机正在枕头底下嗡嗡震。储物间里没开灯,他摸出手机,屏幕的蓝光在黑暗中格外刺眼。他眯着眼看了一下时间——凌晨三点五十一分。然后他看到了韩冰的消息。
他一下子坐起来了。行军床的弹簧发出一声尖锐的吱嘎,在安静的储物间里像是有人踩碎了一根骨头。
本小章还未完,请点击下一页继续阅读后面精彩内容!
沈墨看着手机屏幕上的名字。手指僵在屏幕边缘,那杯搁在地上的隔夜咖啡被他的脚碰了一下,洒了一点在水泥地面上,他没有低头看。
周建国。
省高级人民法院副院长。六十一岁。法学博士。
他在省高院干了三十五年,从最基层的书记员做起,一步一步爬到副院长的位子上。他是省里法律界的标杆式人物——每年的全省法律论坛,他都是最后一个上台做总结发言的人,台下坐满了法官、检察官、律师,听他讲的时候鸦雀无声。他的学术论文被引用了上千次,他主编的那本《刑事审判实务》是省内法学院的指定教材,整整再版了四次。他培养出来的研究生遍布全省的法院和检察院——说他桃李满天下一点都不夸张。
他也是贺远山的老师。
三十年前,贺远山在省城政法大学读研究生,导师就是周建国。师生关系,从二十八岁到五十八岁——整整三十年。
——站在山顶上的人。
沈墨的手慢慢放下手机,黑暗中他的呼吸变得很沉。他想起了钱志国在提审室里说的那句话,钱志国的嘴唇在发抖,但说出来的每个字都像钉子一样往墙里砸:贺远山不是一个人。他是一个系统。
现在他明白了。
贺远山是执行层。是手。负责具体的犯罪服务——帮人脱罪、毁灭证据、威胁证人、转移资产。他是那个在手术台上操刀的人。但决定在哪里开刀、什么时候开刀、开多深——这些决策不是贺远山做的。
周建国才是脑子。
他不直接碰血。他做的是顶层设计——哪些案件需要,哪些官员值得,哪些风险必须。他用自己在省高院三十五年积累的权力和人脉,为贺远山的犯罪网络撑起了一把最高级别的保护伞。一个法学博士,一个省高院副院长,一个在省里法律论坛上讲司法公正是社会良心的最后防线的人——就是这张网最深处的蜘蛛。
沈墨又想起了贺远山说过的那句话:法律是世界上最强大的武器。因为它可以让错误的事情变成正确的。
原来这句话不是贺远山自己想出来的。是老师教的。
他给韩冰回了一条消息:你确定?
三十秒后韩冰回复:百分之九十二的置信度。语言特征匹配度极高——用词偏好、句式结构、甚至标点符号的使用习惯都吻合。但光靠语言分析不够,我需要更多佐证。我还在跑时间匹配。
沈墨没再回。他坐在行军床上,黑暗里只有手机屏幕的余晖在他脸上慢慢变暗。储物间的窗户很小,窗帘拉着,什么都看不见。他的脑子里全是那个名字。
早上八点整。省公安厅三楼,一间没有标识牌的小会议室。
这间会议室平时不用。墙上连投影幕布都没有,只有一块掉了角的白板和三支快没墨的马克笔。窗户朝北,光线不好,上午也要开灯。桌子是老式的那种长条桌,贴了层木纹纸,边角翘了起来。四把椅子,椅垫的皮面坐得发白发硬。
周明选这间会议室是因为它不在刑侦总队的楼层,也不在督察处的楼层,甚至不在技术科的楼层。它在三楼拐角的尽头,旁边是一间长期锁着的杂物间。不会有人经过。
四个人到齐了。周明坐在主位,面前放着一杯茶,茶已经泡成了深褐色。沈墨在他右边,背靠着椅子,两条胳膊交叉在胸前。苏念在沈墨对面,头发扎成低马尾,脸色有点白——她昨晚也没怎么睡,一直在安全屋陪方敏华。韩冰坐在最远的位子上,面前摊着一叠厚厚的A4纸,十二页,每一页都是密密麻麻的数据、图表和分析文字。他的圆框眼镜滑到了鼻尖上,眼睛里全是红血丝。
周建国。
周明说出这三个字的时候,声音压得很低,像是怕隔壁杂物间里的灰尘也能听见。他的目光从沈墨扫到苏念,再扫到韩冰,最后落回桌面上那叠分析报告。
省高院副院长。他又加了一句,像是在向自己确认。
房间里安静了几秒。空调出风口在嗡嗡响,吹出来的风有一股铁锈味。
不会泄露。沈墨说。他的声音没有压低,但每个字都干干脆脆的。这个房间里只有我们四个人知道。
周明点了下头。他端起茶杯喝了一口,杯沿磕在牙齿上发出一声轻响。茶太浓了,他的眉头皱了一下,又放下了。
韩冰,你把分析过程说一遍。从头说。
韩冰把眼镜往上推了推,翻开报告第一页。他的声音有点哑,连续说了十八个小时的话加上缺乏睡眠,嗓子像砂纸。
二十三条消息。发送者代号。时间跨度从2021年到2024年。我先做了文本特征提取——词频、句法、标点、语气。然后跟公开数据库比对。他翻到第四页,一张散点图,上面密密麻麻的小点聚成了两个明显的簇。红色的点是的消息,蓝色的点是周建国公开发表的文本——论文、讲话、会议发言稿。你们看这两个簇的重叠度——
这章没有结束,请点击下一页继续阅读!
多少?周明问。
百分之九十二。韩冰说。具体来讲——词汇偏好匹配度94%,句法结构匹配度89%,标点使用匹配度91%,语气特征匹配度93%。综合加权之后,92%。在学术上,85%以上就可以认定为同一作者了。
周明的手指在桌面上轻轻敲了两下。学术上够了。法律上呢?
这话问到了要害。韩冰知道,苏念知道,沈墨也知道。
法律上不够。沈墨替韩冰说了。周建国是省高院副院长。对他启动调查需要中央纪委或者最高检的批准。我们拿着一份语言分析报告上去说根据NLP模型,我们有92%的把握认为山顶就是周建国——这话在学术会议上能拿奖,但在审批桌上不好使。
不只是不好使。苏念的声音很轻,但清楚得像刀刃。如果我们拿不出直接证据,这份报告甚至不能作为立案线索提交。因为一旦提交,就意味着有人知道了我们在查周建国。而我们不知道审批链条上的人里面,有没有周建国的学生。
这句话让会议室里的温度又降了一截。
周明没说话。他低头看着韩冰的报告,翻到了第七页——一张时间线对照表。
这个是什么?
韩冰探过身子指了指表格。时间匹配。我拿发送消息的时间跟周建国的公开行程做了交叉比对。你看这里——2023年11月14日到16日,全国法院系统工作会议,周建国出席了,有新闻稿为证。这三天里,没有发送任何消息。一条都没有。会议结束后第二天——11月17日——连发了三条消息。
巧合?周明说。
如果只是这一次,可以说是巧合。但我查了所有二十三条消息的发送时间——有四次的沉默期恰好对应周建国出差或出席公开活动的时间段。四次。概率上,这种吻合随机出现的可能性不到百分之三。
韩冰又翻了一页。还有更直接的。在第十七条消息里提到了上周在杭州的会议。我查了周建国的行程——他确实在那条消息发送前一周去了杭州,参加的是一个全国司法改革研讨会。这场研讨会没有公开报道——是内部会议,参会名单没有对外公布。也就是说,知道这场会议的存在,而且参加了。
四个人的目光在桌面上交汇了一秒。
周明吸了一口气。这些加在一起——语言分析、时间吻合、行程匹配——够不够申请对周建国的调查?
不够。沈墨说得很干脆。只能说明可能是周建国。不行。我们需要。需要贺远山亲口说出来。
贺远山不会说。苏念摇了一下头。他是律师,他太清楚沉默权的价值了。审讯室里不可能撬开他的嘴。而且——她顿了一下,——就算他说了,他也不会供出周建国。供出周建国等于供出自己的保护伞。保护伞没了,他在里面什么都不是。贺远山这个人,理性到骨头里——他不会干对自己没有任何好处的事。
那怎么办?周明的拇指指腹摩挲着茶杯的杯壁,来回来去,像是在磨一把看不见的刀。
房间里又安静了。空调的嗡嗡声变得格外大。
保险文件夹里有没有周建国的?沈墨转向韩冰。
韩冰摇头。三十四个文件夹,没有一个叫周建国。贺远山没有留他老师的把柄。
因为周建国不是他的客户。苏念说。她把椅子往后推了一点,两只手交叠在桌面上,指尖贴着指尖。贺远山跟那三十四个人的关系是利益交换——我帮你办事,你给我好处,我同时留下你的把柄,咱们互相绑定。但他跟周建国的关系不一样。那是三十年的师生。是恩情。是信任。是一种……上下级。你不会给自己的老板留把柄——尤其当这个老板同时也是你的老师。
沈墨看了她一眼。苏念的脸色依然是那种偏白偏冷的调子,嘴角平平的,没有多余的表情。但她的眼睛在动——她在想什么。沈墨认识她这么久了,他知道苏念在想什么的时候,眼睛里会有一种很微弱的聚焦,像猫在暗处盯着一只还没动的老鼠。