晨光透过刑侦支队会议室的百叶窗,在地板上切割出明暗相间的条纹。
林锋站在白板前,手指敲击着投影幕布。幕布上显示着一张廉价旅馆的照片——四层楼,外墙瓷砖剥落,招牌上“悦来旅馆”四个字缺了“悦”字的竖心旁。照片旁边贴着几张监控截图,一个戴着鸭舌帽、身形瘦削的男子低着头走进旅馆大门。
“目标代号‘蝰蛇’,真名王海,三十七岁。”林锋的声音在会议室里回荡,带着熬夜后的沙哑,“根据‘幽灵’提供的线索和手术刀编号的跨境追查,我们确认他三天前入住这家旅馆,用的是假身份证。旅馆位于老城区边缘,周边环境复杂,有四条小巷可以出入。”
会议室里坐着十二个人。秦之坐在后排角落,左肩的伤口还在隐隐作痛。他穿着警服,领口扣得严严实实,脸上保持着实习警员应有的专注表情。陈昊坐在前排,身体微微前倾,手指在膝盖上轻轻敲击。
“行动时间定在上午十点。”林锋的目光扫过全场,“旅馆老板已经配合,确认目标在302房间。房间窗户朝南,正对着一栋六层居民楼。我们需要两组人——A组从正门进入,B组封锁后巷和所有出口。”
投影幕布切换成旅馆平面图。
“秦之。”林锋突然点名。
秦之抬起头。
“你负责外围警戒。”林锋指着平面图上旅馆对面的小卖部位置,“在那里待命,注意观察周边异常情况。如果发现可疑人员或车辆,立刻通过对讲机报告。”
“明白。”秦之的声音平静。
陈昊转过头,看了秦之一眼。那眼神里混杂着轻蔑和某种更深的东西——像是猎犬嗅到了异常气味。秦之迎上他的目光,然后低下头,假装整理对讲机。
“陈昊,你跟我进A组。”林锋继续说,“行动开始后,三分钟内必须控制目标。记住,要活的。他手里可能有‘暗网’在海市的联络名单。”
会议室里的空气变得紧绷。空调出风口吹出的冷风带着灰尘的气味,混合着咖啡和熬夜的体味。秦之能听见自己心跳的声音,沉稳而缓慢。他需要保持这种节奏,不能让任何人看出异常。
九点四十分,行动组出发。
五辆没有警用标识的黑色轿车驶出市局地下车库,分散驶向不同路线。秦之坐在第三辆车的后排,身边是一个叫老李的老刑警。老李五十多岁,鬓角花白,一路上都在检查手枪弹匣。
“第一次参加抓捕?”老李问,声音温和。
“第二次。”秦之说,“上次是协助抓捕一个小偷。”
老李笑了笑,眼角挤出皱纹:“放轻松。外围警戒最安全,就是眼睛要尖。这种廉价旅馆周边,三教九流什么人都有。”
车子驶入老城区。街道变窄,两侧是上世纪八九十年代的老式居民楼,外墙爬满了爬山虎和空调外机。电线在空中交错,像一张巨大的蛛网。空气中飘着早餐摊的油烟味、垃圾堆的酸腐味,还有潮湿的霉味。
悦来旅馆出现在街角。
那是一栋灰白色的建筑,墙皮大面积脱落,露出里面的红砖。一楼是家五金店,卷帘门半开着,里面传来电钻的尖啸声。旅馆入口在侧面,窄小的玻璃门上贴着“住宿50元起”的褪色贴纸。
秦之下车,走进对面的小卖部。
小卖部老板是个秃顶的中年男人,正坐在柜台后看手机视频。秦之出示证件,老板点点头,指了指靠窗的位置。那里有张塑料凳,旁边堆着几箱矿泉水。
秦之坐下,透过布满灰尘的玻璃窗观察旅馆。
十点整。
对讲机里传来林锋的声音:“各单位注意,行动开始。”
秦之看见旅馆门口出现四个便衣,两人守在门外,两人推门进入。几乎同时,后巷方向传来急促的脚步声——那是B组在封锁出口。街道上的行人没有察觉异常,一个老太太提着菜篮慢悠悠走过,两个小孩在路边追逐打闹。
时间一秒一秒流逝。
秦之的呼吸变得轻微。他集中注意力,视线扫过旅馆对面的居民楼。六层,每层都有阳台,晾晒着各色衣物。四楼的一个阳台上,有个男人在抽烟,烟雾在晨光中缓缓上升。五楼的窗户关着,窗帘拉了一半。
对讲机里突然传来杂音。
然后是林锋急促的声音:“目标控制!重复,目标控制!正在搜查房间!”
秦之的手指微微收紧。太快了。从进入旅馆到控制目标,只用了不到两分钟。这不正常——除非“蝰蛇”根本没有反抗的打算。
小卖部里的挂钟滴答作响。
柜台后的老板打了个哈欠,手机视频里传出夸张的笑声。街道上,一辆三轮车驶过,车斗里堆满了废纸箱,车轮碾过坑洼路面发出“哐当哐当”的响声。
五分钟后,旅馆门口出现人影。
林锋第一个走出来,脸色铁青。他身后是两个刑警,押着一个戴着手铐的瘦削男子——鸭舌帽已经摘掉,露出一张苍白憔悴的脸,眼睛深陷,下巴上胡茬凌乱。那就是“蝰蛇”。
秦之盯着他。
“蝰蛇”被押出旅馆时,突然抬起头,目光扫过街道。那一瞬间,秦之看见他眼睛里闪过某种东西——不是恐惧,不是绝望,而是一种近乎解脱的平静。然后“蝰蛇”低下头,被推搡着走向停在路边的警车。
对讲机里传来林锋的声音:“外围警戒撤除,收队。”
秦之站起身,准备离开小卖部。
就在他转身的刹那——
一声闷响。
像是重物砸在沙袋上的声音,沉闷而短促。紧接着是人群的惊呼声、尖叫声。秦之猛地回头,透过玻璃窗看见街道上的景象。
“蝰蛇”倒在地上。
他的头歪向一侧,右侧太阳穴的位置炸开一个血洞,鲜血和脑浆喷溅在警车的车门上。押解他的两个刑警愣在原地,其中一人脸上溅满了血点。林锋已经扑倒在地,同时大吼:“狙击手!找掩护!”
街道瞬间陷入混乱。
行人四散奔逃,尖叫声此起彼伏。那个提着菜篮的老太太瘫坐在地上,菜撒了一地。两个孩子被大人拽进店里,卷帘门“哗啦”一声拉下。
秦之没有动。
他的身体僵在原地,但感官在那一瞬间被放大到极限。他听见血液滴落在地面的“嗒嗒”声,听见远处居民楼里传来的电视声,听见自己心脏狂跳的轰鸣。然后,某种更细微的声音钻进耳朵——
是脚步声。
极其轻微,极其迅速,从旅馆对面的居民楼楼顶传来。不是奔跑,而是某种更专业的移动——脚尖着地,重心压低,节奏规律。
秦之猛地抬头。
目光锁定六层居民楼的楼顶边缘。
一个模糊的身影在那里一闪而过。黑色的衣服,矫健的身形,翻越楼顶护栏的动作流畅得像猎豹。那一瞬间,秦之看见了那个身影右手手腕处露出的皮肤——上面有一道深色的疤痕,形状像虎口。
虎口疤男子。
机修厂里那个差点要了他命的人。
秦之的呼吸停滞了半秒。然后他推开小卖部的门,冲了出去。
街道上已经乱成一团。林锋和几个刑警躲在警车后面,枪已经掏出来,但不知道该往哪里瞄准——狙击手在楼顶,而他们暴露在空旷的街道上。另外两个刑警正在检查“蝰蛇”的尸体,但谁都看得出来,人已经死了。
“对面楼顶!”秦之对着对讲机喊,“狙击手在对面楼顶!六层居民楼!”
林锋立刻反应过来:“B组!包围那栋楼!快!”
警笛声响起,两辆警车调转方向,冲向居民楼。但秦之知道已经晚了。虎口疤男子那种级别的杀手,不会留在原地等警察包围。他现在应该已经通过楼顶的通道,进入居民楼内部,然后混入人群消失。
秦之站在原地,目光死死盯着居民楼。
他的左肩伤口传来一阵刺痛,像是某种警告。脑海里浮现出机修厂那晚的画面——黑暗的车间,冰冷的金属气味,虎口疤男子那双毫无感情的眼睛。还有那把刀,划过他肩膀时的冰凉触感。
“你没事吧?”
陈昊的声音在身后响起。
秦之转过身,看见陈昊站在警车旁,手里拿着枪,脸上没什么表情。但他的眼睛在打量秦之——从头到脚,像在审视一件可疑的物品。
“没事。”秦之说,声音平稳。
“刚才你喊得挺及时。”陈昊说,“怎么知道狙击手在对面楼顶?”
秦之的大脑飞速运转。他需要给出一个合理的解释,但又不能太完美,否则会引起更多怀疑。
“我看见楼顶有反光。”他说,“可能是瞄准镜的反光。然后听见楼顶有脚步声。”
陈昊盯着他看了几秒,然后点点头:“眼睛挺尖。”
但秦之能感觉到,陈昊没有完全相信。那种审视的目光还在,像针一样扎在背上。
林锋走了过来,脸色阴沉得能滴出水。他看了一眼“蝰蛇”的尸体,又看了一眼秦之。
“你确定看见狙击手了?”
“确定。”秦之说,“他穿黑色衣服,动作很快,从楼顶翻下去了。”
“看清脸了吗?”
“没有。距离太远。”
林锋沉默了几秒,然后对身边的刑警说:“封锁这栋居民楼,挨家挨户查。调取周边所有监控。我要知道这个狙击手是怎么上去的,又是怎么下来的。”
法医车到了。
苏婉清从车上下来,穿着白大褂,手里提着勘查箱。她看见地上的尸体时,脚步停顿了一下,然后快步走过来。蹲下身,戴上手套,开始初步检查。
“一枪毙命。”她的声音冷静专业,“子弹从右侧太阳穴进入,贯穿大脑,出口在左侧颞骨。口径应该是7.62毫米,狙击步枪。”
她抬起头,看了一眼对面的居民楼。
“射击距离大约八十米。这个距离,专业狙击手命中率在百分之九十五以上。”
林锋一拳砸在警车引擎盖上。
“妈的!”
声音在空旷的街道上回荡。几个围观的路人吓得后退了几步,但很快又被更多看热闹的人挤回来。有人举起手机拍照,闪光灯在晨光中闪烁。
秦之退到一旁,让法医和勘查人员工作。
他的目光再次投向那栋居民楼。六层,每扇窗户都关着,窗帘拉得严严实实。楼顶空荡荡的,只有几根晾衣杆在风中微微摇晃。
虎口疤男子就在那里。
就在刚才,就在离他不到一百米的地方,扣下了扳机。精准,冷静,毫不犹豫。这不是普通的灭口,这是一场表演——表演给警方看,表演给所有可能背叛“暗网”的人看。
背叛者,死。
无论你在哪里,无论有多少警察保护。
秦之感到一股寒意从脊椎升起。这不是恐惧,而是一种更冰冷的东西——是意识到对手的残忍和高效。是意识到这场游戏的赌注,比他想象的还要大。
苏婉清站起身,摘掉沾血的手套。
“尸体需要运回法医中心做详细尸检。”她说,“但初步判断,死亡时间就是刚才,中弹后瞬间死亡。”
她说话时,目光扫过秦之。
那一瞬间,秦之看见她眼睛里闪过一丝什么——是探究,是疑惑,还是别的什么?他来不及分辨,苏婉清已经转身去指挥助手搬运尸体。
林锋走到秦之面前。
“你刚才的表现不错。”他说,声音低沉,“但下次有发现,先报告,不要自己冲出来。狙击手可能还有同伙,你站在街道中央很危险。”
“明白。”秦之说。
“回车上等着。”林锋说,“等现场勘查结束,一起回局里做笔录。”
秦之点点头,走向警车。
坐进后排座位时,他透过车窗看见陈昊正在和另一个刑警说话。陈昊说话时,眼睛不时瞟向秦之的方向。那个刑警点点头,然后朝秦之这边走来。
敲了敲车窗。
秦之摇下车窗。
“林队让我先送你回局里。”刑警说,“现场还需要勘查很久。”
“好。”
车子发动,驶离现场。
秦之靠在座椅上,闭上眼睛。脑海里反复回放刚才的画面——“蝰蛇”中弹倒下的瞬间,楼顶那个模糊的身影,虎口疤男子手腕上的疤痕。这些画面像刀片一样,在他意识里切割。
他知道,“暗网”已经察觉了警方的行动。
他们知道“幽灵”在提供线索,知道警方在追查手术刀编号,知道“蝰蛇”被锁定。所以他们提前布置了狙击手,在“蝰蛇”被押出旅馆的瞬间,执行灭口。
干净利落,不留痕迹。
这是警告,也是宣战。
秦之睁开眼睛,看向车窗外。街道在后退,行人,店铺,车辆,一切都显得平常而忙碌。没有人知道,就在几分钟前,一条生命在光天化日之下被终结。没有人知道,这座城市的地下,正在进行一场看不见的战争。
他的手指无意识地抚过左肩的伤口。
伤口还在疼,但更疼的是那种无力感。他看见了狙击手,却来不及阻止。他知道了“暗网”的存在,却无法公开对抗。他拥有“亡语者”的能力,却只能在深夜里独自倾听死者的呓语。
车子驶入市局大院。
秦之下车,走进刑侦支队大楼。走廊里空荡荡的,只有几个文职人员在走动。他回到自己的办公桌——角落里的位置,桌上堆着一些旧案卷宗。
坐下,打开电脑。
屏幕亮起,显示着登录界面。秦之输入密码,进入系统。桌面上有几个文件夹,标注着“0703号案”、“0705号案”、“手术刀编号追查”。他点开最后一个文件夹,里面是跨境协查的回复邮件。
大部分回复都是“查无此编号”或“编号已注销”。
只有一封来自东南亚某国警方的邮件,提供了有限的信息:那把手术刀的生产批次是五年前,销售给了一家私人医疗器材公司。那家公司三年前破产,档案丢失。
线索又断了。
或者说,线索被“暗网”提前切断了。
秦之靠在椅背上,长长地吐出一口气。阳光从窗户斜射进来,照在桌面上,灰尘在光柱中飞舞。远处传来打印机工作的声音,单调而规律。
他知道,接下来要面对的是漫长的笔录、报告、会议。林锋会追问每一个细节,陈昊会在一旁观察他的每一句话。他需要编织一个完美的故事——一个实习警员在巧合下发现狙击手的故事。
不能太聪明,不能太迟钝。
要在怀疑和信任之间,找到那个微妙的平衡点。
秦之闭上眼睛,再次深呼吸。
当他睁开眼睛时,脸上已经恢复了那种实习警员应有的、略带紧张和茫然的表情。他站起身,走向茶水间,准备给自己泡一杯茶。
走廊里,他遇见了苏婉清。
她刚从现场回来,白大褂还没脱,脸上带着疲惫。看见秦之,她停下脚步。
“你肩膀的伤怎么样了?”她问。
“好多了。”秦之说,“谢谢苏医生关心。”
苏婉清点点头,但目光在他脸上停留了几秒。那目光很锐利,像手术刀,试图剖开表面,看到里面的东西。
“刚才在现场,你离尸体很近。”她说,“有没有什么……特别的感觉?”
秦之的心跳漏了一拍。
“就是觉得……很突然。”他说,声音里恰到好处地加入了一丝后怕,“没想到会在白天,在那么多人面前……”
“是啊。”苏婉清说,语气里听不出情绪,“确实很突然。”
她转身要走,又回过头。
“对了,你之前说消毒水气味变浓的事。”她说,“我查了记录,那几天消毒水的配比没有变化。”
秦之看着她。
“所以可能是你的错觉。”苏婉清说,“或者……是你对某些气味特别敏感。”
她说完,转身离开。
秦之站在原地,看着她消失在走廊拐角。那句话像一颗石子,投进他平静的伪装里,激起一圈圈涟漪。
不是错觉。
苏婉清知道不是错觉。
她在试探他。
秦之握紧了拳头,指甲陷进掌心。疼痛让他清醒。他转身走向茶水间,打开水龙头,用冷水洗了把脸。冰凉的水刺激着皮肤,带走了一些疲惫。
抬起头,看向镜子。
镜子里是一张年轻的脸,眼睛里有血丝,下巴上有胡茬。看起来就是一个普通的、熬夜加班的实习警员。但秦之知道,这张脸下面,藏着多少秘密。
亡语者。
幽灵。
天眼创始人。
还有……复仇者。
他擦干脸,走出茶水间。走廊尽头,林锋的办公室门开着,里面传来说话声。秦之放慢脚步,听见林锋在打电话。
“……对,被灭口了。狙击手,专业水准……我知道,我会写报告……不,我觉得不是巧合,‘幽灵’提供的线索太精准了,精准到像是知道我们会什么时候行动……”
秦之停下脚步。
林锋的声音继续:“……我怀疑警局内部有泄露……不,不是指‘幽灵’,是指我们这边……我需要权限,调查最近所有接触过这个案子的人……”
电话挂断。
秦之深吸一口气,继续往前走。经过林锋办公室时,他看见林锋站在窗前,背对着门,手里拿着手机,一动不动。
阳光照在他背上,投下长长的影子。
那影子一直延伸到走廊里,像一条黑色的河。
秦之走过那条河,回到自己的座位。坐下,打开笔录本,开始写今天上午的经过。每一个字都要斟酌,每一句话都要经得起推敲。
笔尖在纸上滑动,发出沙沙的声响。
窗外,城市的喧嚣继续。车流,人声,生活的噪音。但在这些声音之下,秦之听见了另一种声音——是亡魂的呓语,是黑暗的低语,是复仇的鼓点。
越来越近。
