深秋的风卷着枯叶掠过SCI办公区的落地窗,发出细碎的、像有人在远处不停翻书的声音。天色阴沉,云层压得很低,阳光被彻底挡在了外面,只留下一种灰白色的、没有温度的光,从玻璃渗进来,把整间办公室染成了旧照片的色调。暖白色的灯光从头顶洒下,将键盘与纸笔的轮廓映得柔和,却无法驱散那层从三份案情报告里渗出来的、冷到骨子里的寒意。
展耀的指尖从第一份报告划到第三份,每划过一个名字,他的眉心那道细纹就深一分。三起案件,三个死者,三种职业,三座不同的城市,但死亡方式几乎一模一样——深夜,家中,无闯入痕迹,死者身旁的电子设备屏幕定格在同一个黑色界面上,界面中央只亮着一行白色的字:“暗镜平台·我有罪。”不是留言,不是遗书,是一个被程序设定好的、自动弹出的、不会对任何人做出回应的、冰冷的、没有感情的对话框。展耀把三份报告并排放在桌上,侧过头看着白羽瞳,细框眼镜后的眉峰轻轻蹙起,神色比窗外的天色更沉几分。
“小白,连续三起,时间、遗言、现场高度重合。不是自杀。自杀不会用同一个词,不会在同一种界面下,不会在同一个时间段内,毫无征兆地发生。有人在遥控他们,用同一根看不见的线,在同一时刻,勒住了三个人的喉咙。”
白羽瞳坐在他身侧,黑色作战服衬得肩线利落分明,刚硬的面部轮廓在暖白色灯光下显得冷峻而克制。他一手随意搭在展耀椅背上,姿态是对外冷硬、对内独有的松弛,像一头在领地里确认了安全的猎豹,肌肉还是绷着的,但呼吸已经放慢了。他低下头,目光扫过报告上那行反复出现的“暗镜平台”,扫过“我有罪”三个字,扫过“家中无闯入痕迹”和“电子设备无异常操作记录”等一排排被技术科标注了问号的关键词。他的指节在桌面上轻轻敲了一下,声音不大,但很沉。
“精准操控,远程施压,不留痕迹。凶手不碰死者,不碰凶器,不碰现场。他碰的是脑子。他把恐惧装进代码里,把死亡嵌进屏幕里,把人命压缩成一串二进制数,然后点击发送。这不是普通的犯罪,是高智商网络犯罪。凶手不是杀手,是程序员。他的凶器不是刀,不是毒,是算法。”
展耀把三份报告叠在一起,用拇指按住边角,不让它们被窗缝里漏进来的风吹散。他的目光落在最上面那份报告的照片上——死者的脸,年轻,三十岁出头,眼睛闭着,表情不是痛苦,是解脱。他死前最后看到的画面,不是家人,不是朋友,不是这世界上任何一张温暖的脸。是一行白色的字,在黑色的屏幕上,问他——“你有罪吗?”他回答了。用他的命。
公孙哲推门而入的时候,带进了一阵冷风。他穿着一尘不染的白大褂,衣领竖着,遮住了后颈,手里拿着一份刚从法医中心送来的神经递质检测报告。他的步伐很快,但落地很轻,鞋底和地板的接触声几乎听不到。他走到展耀桌前,把报告放下,清冷的声线在安静的办公室里像一把被擦拭干净的刀,划开了沉默。
“三名死者体内均无剧毒,没有氰化物,没有安眠药,没有乌头碱,没有任何能在短时间内致死的化学物质。但他们的神经递质长期紊乱,血清素、多巴胺、去甲肾上腺素,三种与情绪调节和精神状态密切相关的神经递质,全部低于正常值下限。不是一天两天,是至少三个月。他们的身体在这三个月里,一直被某种外力压制着,无法产生快乐、平静、安全的感觉。他们的大脑长期处于高压恐惧状态,杏仁核被反复激活,前额叶皮层功能受到抑制,理性判断能力几乎丧失。从生理角度说,他们的死亡不是自愿,是崩溃。精神崩溃,导致行为失控,导致他们在那行白色的字面前,选择了唯一的、他们认为可以结束恐惧的出口。”
白允堂从电脑前抬起头,眉头紧锁。他的指尖在键盘上悬停了片刻,然后落下去,敲击出一连串查询指令。屏幕上的数据流快速滚动,一条一条地闪过暗镜平台的注册信息、服务器节点、用户加密记录。每一条都被加密,每一层加密都像一面镜子,把追踪的方向反射回去,让调查者看到的永远是自己。白允堂的手指停了一下,声音压得很低,像在说一个他不愿意承认的事实。
“暗镜平台,全程加密,服务器在境外,节点频繁跳转,用户信息完全匿名。注册不需要手机号,不需要邮箱,不需要任何实名认证。你只需要一个用户名,一个密码,然后你就可以进去。进去之后,你会发现一个暗网论坛,论坛里没有帖子,没有评论,没有点赞。只有一个功能——审判。你输入一个名字,系统会自动生成一份‘罪状’,罪状的内容来自公开的网络信息——社交媒体、新闻报道、司法文书。然后,系统会问所有注册用户一个问题:‘他有罪吗?’投票,超过百分之五十,系统就会向目标推送一条消息。不是恐吓,不是威胁,只是一个问句——‘你有罪吗?’连续三起死亡,收到这条消息的人,都在二十四小时内自杀。他们不是被吓死的,是被自己心里那根被反复拨动的弦,弹断的。”
展耀从椅子上站起来,走到窗前,背对着所有人。他看着窗外那片灰蒙蒙的天,云层很厚,看不到太阳,看不到云隙,看不到任何会让人心情变好的颜色。他没有转身,但他的声音很清晰,每一个字都像被冷水淬过,不会变形,不会模糊。
“凶手精通心理操控,也精通代码技术。他不是一个人,就是一个团队,但他不需要团队。他一个人可以完成所有的环节——搭建平台,编写算法,收集数据,筛选目标,推送消息,统计投票,然后看着那个被他选中的目标,在二十四小时内,从这个世界消失。他不是在为受害者伸张正义,他是在用审判伪装痛苦。他童年极可能遭遇过网络暴力,被匿名的账号羞辱过,被人肉搜索过,被无数陌生人的唾沫淹没在一个他无法退出、无法注销、无法删除的虚拟空间里。他没有得到过正义,所以他要自己制造正义。用代码,用算法,用匿名投票,用一条永远不会有答案的问句——‘你有罪吗?’他不需要答案,他只需要问题。问题问出去了,他的痛苦就转移了。不是消失了,是被那三个死者的命,暂时地、短暂地、不可复制地、填满了。”
展耀转过身,面对着白羽瞳。灰白色的天光从他背后涌进来,把他的轮廓照得像一幅用铅笔画在灰纸上的素描,每一根线条都清晰,但底色是冷的。他的眼睛不冷。那双眼睛里有光,不是天光的反射,是从里面烧出来的、不会被任何代码和算法扑灭的、属于“展耀”的、只给真相和正义的光。
“不管虚拟还是现实,只要作案,就会留下行为轨迹。代码是人写的,服务器是人租的,数据是人传的,投票是人投的。每一个环节,都有人在操作。操作就会有痕迹,痕迹就是证据。凶手精通心理操控与代码技术,但他有一个致命的弱点——他需要通过暗镜平台,看到被审判者崩溃的过程。他需要知道他的算法是否有效,需要看到那条‘你有罪吗’被接收到之后,目标的脸上的表情。他不在现场,但他通过摄像头在看。每一个死者的电子设备,在死亡前的最后几分钟,都曾有过外接设备连接的记录。不是远程入侵,是死者自己打开的——他们在临死前,亲手打开了摄像头,让那个藏在数字深海里的人,看到他们最后的样子。”
展耀的声音在这里微微顿了一下。他的喉结上下滚动了一下,像一个人在吞咽一口咽了很久都咽不下去的、硬邦邦的、没有味道的东西。
“他不是一个冷酷的杀手,他是一个孤独的孩子。他需要被看到,需要有人在他执行‘审判’的时候,注视着他。被他审判的人,在死前看着他;他在屏幕后,看着他们。双向的注视,不是单向的杀戮。他在用死者的眼睛,照见自己的存在。没有他们,他就不存在。”
白羽瞳从椅子上站起来,走到展耀面前,伸手握住他垂在身侧的手。展耀的手指微凉,不是冷,是在那面灰白色的窗前站了太久,血液还没有被暖回正常温度。白羽瞳把他的手包在掌心里,拇指在他的手背上慢慢地、一下一下地画着圈。那个圈很小,只有他们两个人能感觉到。展耀的手指在白羽瞳的掌心里慢慢回温,像一朵被冻僵了的花,在春天的第一缕阳光里,慢慢地、不可抗拒地、舒展开来。
“SCI办案,从无例外。”白羽瞳的声音不高,但那种从胸腔最深处推出来的笃定,让这间被灰白色天光笼罩的办公室里阴沉的底色,像被一根看不见的针戳破了一个小孔,透进来一缕光。光很弱,但它在那里。“不管是现实还是虚拟,不管是刀还是代码,不管是血肉之躯还是二进制数。只要是人做的,就会留下人的痕迹。人的痕迹,SCI看得见。”
白羽瞳松开手,转身走到白板前,拿起黑色记号笔,拔掉笔帽。他在白板上写下了“暗镜平台”四个字,在下面画了一条横线,然后在横线下面写了三个关键词:“匿名审判”“心理操控”“代码杀人”。他的字又大又硬,每一笔都像是在用力地、不可撤销地、在白板上刻下一道不会风化也不会被覆盖的痕迹。他把记号笔放回笔槽,转身面对所有人。
“老马,小刘,调取三名死者生前的所有电子设备使用记录,包括手机、电脑、平板、智能手表,以及任何可以联网的家用设备。重点筛查他们在死亡前三个月内,是否访问过暗镜平台,是否收到过那条‘你有罪吗’的消息。赵伟,技术科全组介入,对暗镜平台的服务器节点进行反向追踪,不要只追IP,要追数据包的传输路径、时间戳、加密方式、以及任何可能隐藏在后门里的开发者签名。允堂,你和公孙哲对三名死者的社会关系做交叉比对,他们之间不一定认识,但一定存在某种共同的‘罪’。凶手不是随机选人,他选的人,在他构建的‘审判系统’里,都是‘有罪’的。”
白允堂从电脑前抬起头,点了一下头,手指已经在键盘上敲出了新的查询指令。公孙哲从口袋里取出一双新的白手套,戴好,把那份神经递质检测报告收进文件夹,扣好,抱在胸前。老马和小刘从座位上站起来,拿起外套,走向门口。赵伟从技术室探出头来,朝白羽瞳比了一个“收到”的手势,缩回去,门在他身后关上了。
展耀从窗前走回桌前,把三份案情报告叠好,放进抽屉。他从抽屉里取出自己的笔记本,翻到新的一页,在页眉写下“暗镜平台案”四个字,然后在下面画了一条横线。横线下面,他用铅笔写了一行字:“凶手不是一个人在操作,他需要观众。暗镜平台的注册用户,每一个都是他的观众。他们不是共犯,但他们参与了审判。投票的人,不知道自己在杀人。他们只是在屏幕上点了一下‘有罪’,然后关掉页面,去吃饭,去睡觉,去上班。他们不知道,他们点的那个‘有罪’,会在二十四小时内,变成一条人命。他们不需要知道,因为他们只是点了‘有罪’,不是点了‘杀死’。但结果是,人死了。凶手不需要动手,他只需要一个按钮。按钮在每一个注册用户的手里。他不是一个人在杀人,他是一万个人在杀人。一万个人,每人点一下‘有罪’,然后那个人就真的以为自己有罪,然后他就死了。凶手不是编程天才,他是人性大师。他懂的不是代码,是人。他知道人会被自己的内疚杀死,而不是被别人的刀。”
展耀把笔记本合上,放在桌角。他从口袋里取出那管薄荷糖,倒出一颗,放进自己嘴里,然后把糖管递给白羽瞳。白羽瞳倒出一颗,也放进嘴里。两个人的舌尖上同时炸开清凉的甜,在灰白色的天光和暖白色的灯光之间,像两枚小小的、不会被任何恶意熄灭的星。
窗外的风大了,枯叶被卷到空中,翻了几圈,又落回地面。SCI办公室的灯还亮着,灯下的那些人还在工作。他们不知道那个藏在暗镜平台后面的凶手此刻在做什么——也许在翻看今天的新闻,也许在统计过去二十四小时内收到“你有罪吗”这条消息的人的数量,也许在等待下一个人打开摄像头,让他在屏幕的这一端,看着那个人在崩溃中走向死亡。但SCI的人知道,他们不需要知道凶手此刻在做什么。他们只需要知道,凶手一定会留下痕迹。痕迹在代码里,在服务器里,在注册用户的投票记录里,在死者的电子设备的摄像头驱动里,在每一个被凶手忽略的、细如发丝的、被他以为已经清理干净的数字尘埃里。SCI的人,会找到那些尘埃。不是用放大镜,是用技术,用耐心,用那只从五岁起就连着白羽瞳和展耀的心跳的、看不见的、不会被任何代码切断的线。
白羽瞳把展耀从桌前拉起来,牵着他的手走到窗前。两个人并肩站在那片灰白色的天光里,看着窗外被风吹得东倒西歪的枯树,看着远处那栋被阴云笼罩的城市天际线,看着那些在风中盘旋的、没有目的的、没有终点的叶子。白羽瞳的手没有松开,展耀的手也没有抽回。他们的手在彼此的掌心里交换着温度,像两块被风吹凉了的石头,靠在一起,就不会那么快凉下去。
“小白。”展耀的声音很轻,轻到像是在对那片灰白色的天说话。
“嗯。”
“凶手会看到今天的新闻吗?”
白羽瞳沉默了几秒。他的目光落在远处那栋最高的大厦的顶端,那里有一盏红灯在闪烁,是航空障碍灯,提醒低空飞行的飞机这里有一栋楼。灯很弱,但在灰白色的天幕上,它像一颗不肯熄灭的、孤独的、固执的星。
“会。他会看每一条新闻,每一个论坛,每一条评论。他需要知道他的‘作品’被多少人看到了,被多少人讨论了,被多少人相信了。他不是在隐藏,他是在展览。暗镜平台是他的画廊,‘你有罪吗’是他的签名,三条人命是他的代表作。他不会收手,因为他的展览还没有结束。他要等更多的人来看,等更多的人投票,等更多的人在他的画廊里,点下那个‘有罪’的按钮。他不会停,因为停了,他就不存在了。他是被观众的注视喂养的。没有观众,他就消失。”
展耀把手从白羽瞳的掌心里抽出来,翻过去,重新握紧。十指交扣,掌心贴着掌心。两个人在那片灰白色的天光里,在SCI办公室暖白色的灯光下,在那颗远处大厦顶端的红色航空障碍灯的注视中,站了很久。久到窗外的风停了,久到枯叶不再飞了,久到天色从灰白变成了深灰,从深灰变成了墨黑。城市的灯火一盏一盏地点亮,从近处的街道到远处的楼群,像一条被点燃的、流动的光河。那条光河里,有一盏灯,是SCI办公室的灯。那盏灯从不会灭,因为它知道,有人需要它亮着。不是凶手,是那些被凶手盯上的、还没有收到“你有罪吗”这条消息的人。他们不知道,在城市的另一端,有一间永远亮着灯的办公室,有一群人,正在替他们追捕那个藏在数字深海里的、用代码杀人的、孤独的孩子。
白羽瞳把展耀从窗前拉回桌前,把他按在椅子上,从抽屉里取出那盒牛奶,插好吸管,放在他手里。牛奶是温的,因为白羽瞳在出门前就把牛奶从冰箱里拿出来了,放在暖气片上温着。他知道展耀回来的时候会饿,会渴,会需要一点甜的、暖的、不用咀嚼就能咽下去的东西。展耀捧着那盒牛奶,小口小口地喝着,眼睛看着白板上那行“暗镜平台·匿名审判·代码杀人”的字迹。他把牛奶喝完,把空盒放在桌上,从椅子上站起来,走到白板前,拿起黑色记号笔,在“暗镜平台”四个字下面写了一行小字:“他有罪吗?谁有罪?谁审判?谁执行?谁在看?”四个问号,四个没有答案的问题。不是因为没有答案,是因为答案还没有被找到。但展耀知道,答案就在那里,在暗镜平台的服务器里,在注册用户的投票记录里,在凶手留在代码中的那枚不会被任何人注意到的、却无论如何也抹不掉的、属于他童年的、疼痛的数字指纹里。
白羽瞳走到展耀身后,从他手里拿过记号笔,在那四个问号下面写了一个字——“追。”他把记号笔放回笔槽,转身看着展耀。两个人的目光在暖白色的灯光中相遇,没有火花,没有闪电,只有一种更深的东西——那种不需要语言也不需要眼神、只需要对方在同一个空间里呼吸就能确认的、牢不可破的连接。展耀弯了一下嘴角,白羽瞳也弯了一下嘴角。
窗外的夜色越来越浓,但SCI办公室的灯还亮着。灯下的那些人,还在工作。不是因为他们不累,是因为那个藏在数字深海里的人,还在看着。他看着SCI的灯,看着灯下的人,看着那盏从不会灭的灯,会不会在某一天,照到他藏身的地方。他不知道,灯已经照到了。不是今天,就是明天。不是明天,就是后天。总有一天,那盏灯会照到他脸上。不是灯在找他,是他在找灯。他需要被看到,需要被抓住,需要被一个人告诉他——你也是人,你不是代码。你也会疼,你也会累,你也会在深夜里害怕。你不需要用别人的命来证明你存在。你存在,从你出生的那天起,就存在了。
白羽瞳把展耀从白板前拉走,拉到自己的工位旁边,把他按在椅子上,从抽屉里取出那管薄荷糖,倒出一颗,放在展耀的掌心里。展耀看着那颗糖,白色的糖衣在暖白色的灯光下泛着细碎的、像星光一样的光。他把糖放进嘴里,含着,没有嚼。白羽瞳看着他含着糖鼓着腮帮的样子,笑了。
SCI的灯,在每一个被虚拟的罪、真实的死、算法的刀、匿名审判的按钮笼罩的夜晚,在每一个被代码和恐惧逼到崩溃边缘的人看不见的地方——亮着。不会灭。