街上的车流多起来。喇叭声,刹车声,自行车铃铛叮叮响。
陈默站在窗边看了很久。那两道轮胎印子已经被新碾过的车辙盖住了,只剩一点模糊的水痕。
沈清澜从后面递过来一杯咖啡。纸杯很烫,握在手里能暖到指根。
“警方十分钟后到。”她说。
陈默嗯了一声,抿了口咖啡。苦,没加糖。
办公室里的灯都开着,照得每个角落都惨白。张伟被送去医院了,轻微脑震荡,需要留院观察。孙猛和另一个安保押着那个年轻人,等在会议室。
工具包摆在桌上。银灰色的装置,小撬棍,螺丝刀,还有几根细长的数据线。
线是特制的,接口镀金,在灯光下反着冷光。
“专业的。”陈默重复了一遍孙猛的话。
他拿起一个装置,掂了掂。很轻,外壳是磨砂材质,摸上去像细沙。
接口处刻着极小的字母:v32。
“版本号。”沈清澜凑过来看,“迭代过三次,至少。”
陈默放下装置。他走到会议室门口,透过玻璃往里看。
年轻人坐在椅子上,手被铐在扶手上。他低着头,脖子梗着,肩膀绷得很紧。
孙猛站在他身后,双手抱胸,眼神像鹰。
敲门声响起。很规矩,三下。
周拓推门进来,身后跟着两个穿警服的男人。走在前面的警官四十多岁,国字脸,眉毛很浓。他肩章上的银色在光下一闪。
“陈总是吧?”他伸出手,“市局刑侦支队,李建国。”
陈默和他握了手。手掌厚实,有茧。
“麻烦你们跑一趟。”陈默说。
“应该的。”李建国扫了眼办公室,视线落在工具包上,“现场没动吧?”
“机房保持原样。”沈清澜说,“只拔了那个传输装置。”
“带我们去看看。”
一行人往机房走。走廊的灯还亮着,照得地砖上的灰尘都看得清。
机房门口堆着玻璃碴。消防斧还靠在墙边,斧刃卷了,缺口处翻着毛刺。
李建国蹲下,用戴手套的手指捻了捻碎玻璃。玻璃碴哗啦响。
“你们砸的?”
“我砸的。”陈默说。
李建国抬头看他一眼,没说什么。他站起身,推开机房门。
应急灯还亮着几盏。绿光映在机柜外壳上,像蒙了层苔藓。
空气中飘着淡淡的焦味。是那个装置烧坏的味道。
李建国走到三排二号机柜前。服务器外壳上还留着插口的痕迹,一圈黑色灼痕。
他拍照,取证。动作很熟练,每个角度都拍三张。
另一个年轻警官打开工具箱,取出毛刷和取证袋。他刷下一点焦灰,装进透明袋子,封口,贴标签。
标签上的字写得工整:机房服务器外壳,灼烧残留物。
“被抓住的人呢?”李建国问。
“在会议室。”陈默说。
“我们先问话。”
回到会议室。年轻人还低着头,听见开门声,肩膀抖了一下。
李建国拉开椅子坐下。他没急着开口,先点了根烟。
烟味在空气里散开,混着咖啡的苦。
“姓名。”李建国说。
年轻人嘴唇动了动。“刘……刘浩。”
“年龄。”
“二十二。”
“干什么的?”
刘浩不吭声了。他盯着自己铐在扶手上的手,手腕已经被金属磨红了。
李建国吐了口烟。“不说话也行。你同伙跑了,车是套牌,我们查不到。但你们留下的东西,够定罪的。”
他拿起那个银灰色装置,在刘浩眼前晃了晃。
“非法入侵计算机信息系统罪,数额特别巨大,十年起步。”李建国声音很平,像念条文,“要是还涉及商业秘密,刑期更长。”
刘浩的脸色白了。下巴上的青春痘在灯光下显得更红。
“我……我就是拿钱办事。”他声音发颤。
“谁给的钱?”
“不知道。”刘浩摇头,“网上接的,暗网。对方用加密通道联系,任务发过来,钱打到境外账户。干完就断联。”
“任务内容是什么?”
“进机房,在指定服务器插上这些装置。等进度条到百分百,拔下来,从原路撤退。”
“指定服务器是哪个?”
刘浩报了个编号。沈清澜立刻在平板上调出位置图。
“核心算法服务器。”她低声对陈默说。
陈默点头。胸口那根针又刺深了点。
李建国继续问:“同伙你认识吗?”
“不认识。”刘浩说,“行动前半小时才碰头,代号‘灰影’。他负责技术,我负责开锁和望风。”
“长相?”
“他一直戴着面罩,没摘过。声音处理过,听不出年纪。身高一米七五左右,偏瘦,左手腕有块表,黑色的。”
陈默看了眼沈清澜。沈清澜在平板上记下。
“表什么牌子?”
“没看清。反光很强,可能是智能表。”
李建国按灭烟头。烟灰缸里积了短短一截灰。
“你们怎么进来的?”
“楼顶通风管道。”刘浩说,“检修口的锁是特制的,我们用液压剪剪断的。管道里提前摸过路线,避开所有传感器。”
“谁提供的路线图?”
“对方给的。三维建模,很精确,连管道里的积灰厚度都标了。”
沈清澜的手指在平板上停住。她抬头,眼神很冷。
“公司内部有人接应。”她说。
陈默没说话。他走到窗边,看着楼下。警车停在路边,红蓝警灯转着,光映在玻璃上,一闪一闪。
内部有人。
这个念头像冰渣,顺着脊椎往下滑。
李建国又问了些细节。刘浩知道的有限,翻来覆去就是那些话。网上接活,加密联系,钱到境外。
问话持续了四十分钟。李建国合上笔记本,站起来。
“人我们先带回局里。”他对陈默说,“证物也要带走。你们这边需要做一份详细的损失评估,包括技术数据和商业价值。”
“好。”陈默说。
年轻警官给刘浩解开手铐,又铐上警用铐。金属碰撞声很清脆。
刘浩站起来,腿有点软。他被押着往外走,到门口时忽然回头,看了陈默一眼。
眼神里有种奇怪的哀求。
“我……我真的不知道是谁。”他说,“但如果你们能找到‘灰影’,他肯定知道。”
门关上了。脚步声在走廊里远去,进了电梯,消失。
办公室里安静下来。咖啡已经凉了,纸杯壁上凝出水珠。
周拓打破沉默。“损失评估我来做。技术部分需要沈总监帮忙。”
沈清澜点头。“算法模块没被完整抓取,但对方拿到了架构图和部分核心代码。重新设计需要时间,至少两个月。”
“商业价值呢?”陈默问。
“如果被竞争对手拿到,我们的产品迭代优势会缩短半年。”沈清澜顿了顿,“赵志刚的公司,正好在做一个类似的项目。”
陈默走到桌边,拿起那个平板。屏幕还裂着,边缘割手。
他按下电源键。蓝光亮起,代码窗口还在。
抓取进度停在百分之九十六。
下面还有一行小字,之前没注意:数据包已分段传输,接收端ip: (动态跳转,已失效)。
“ip是假的。”沈清澜说,“用了代理跳板,追踪不到源头。”
陈默把平板放下。他看向周拓。
“警方这边你跟进。损失评估尽快做出来,要详细,但核心参数模糊处理。”
“明白。”周拓说。
“清澜。”陈默转向她,“你负责内部排查。能拿到管道图纸和传感器位置的人,范围不大。”
沈清澜眼神动了动。“你怀疑……”
“先查。”陈默打断她,“所有人,包括高管。”
沈清澜沉默了几秒,然后点头。“好。”
她拿起平板走出去。高跟鞋敲在地砖上,声音很稳,但节奏比平时快了一点。
周拓也离开了。办公室里只剩陈默一个人。
窗外的阳光彻底铺开了。街道上车水马龙,行人匆匆,没人抬头看这栋楼。
陈默坐进椅子。椅背很硬,硌着脊椎。
他闭上眼睛。脑子里开始回放。
管道图纸。传感器位置。检修口锁的型号。对方知道得太细了。
不是外部人能搞到的。
手机震了一下。是秦风发来的消息:东西收到了,在查。需要时间。
陈默昨晚把传输装置的接口照片发给了他。秦风在灰色地带有些人脉,能查到一些官方查不到的东西。
他回了一个字:等。
放下手机,陈默打开电脑。登录内部系统,调出员工权限记录。
能接触机房结构图和安保布防的人,一共十七个。
包括他自己,沈清澜,周拓,张伟,还有几个核心技术人员。
他一个个看过去。访问时间,下载记录,操作日志。
大部分正常。沈清澜上周下载过最新版图纸,为了加装过滤网。周拓上个月调阅过安保布防,为了更新门禁系统。
张伟的账户昨天凌晨有次异常登录。ip地址是公司内网,但物理位置显示在机房。
时间正好是入侵发生前半小时。
陈默盯着那条记录。手指在鼠标上收紧,塑料外壳发出轻微的吱呀声。
张伟当时在机房值班。登录是合理的。
但为什么要在这个时间点查看图纸?
他点开详细日志。张伟访问的是通风管道检修口位置图,停留时间三分钟。
然后页面关闭,再无操作。
陈默靠回椅背。太阳穴突突地跳。
张伟在医院。脑震荡,需要观察。现在问话不合适。
而且,如果是张伟,他为什么要让自己被打晕?
苦肉计?
陈默摇头。太刻意了。张伟不是那种人。
他关掉页面。屏幕暗下去,映出他自己模糊的脸。
眼睛里有血丝,下巴冒出了胡茬。
手机又震了。这次是电话。
陈默接起来。“秦风。”
“查到了。”秦风的声音有些沙哑,像熬夜了,“接口是定制规格,瑞士一家小厂出的,一年产量不到一百套。客户名单保密,但我托人挖到了点东西。”
“说。”
“去年这家厂接过一个亚洲订单,五十套。收货方是家空壳公司,注册在开曼群岛。资金流水显示,付款方最终指向国内一家投资公司。”
秦风顿了顿。“那家投资公司,赵志刚的老婆是股东。”
陈默的手指扣紧了手机边缘。塑料壳被按得微微变形。
“有证据吗?”
“资金流水我有截图,但 legality 不好说。”秦风说,“不过足够当线索了。另外,那个银灰色装置,内部编号v32,是第三代产品。前两代主要卖给军方和情报机构,用于快速数据提取。”
“民用市场呢?”
“不公开销售。黑市上有流通,一套十万美金起。”
陈默闭上眼睛。十万美金。就为了偷一点数据。
赵志刚是真急了。
“还有。”秦风说,“你给我的那个平板,我远程扫了一遍。系统底层有个隐藏日志,记录了一次失败的远程擦除指令。”
“什么时候?”
“今天凌晨四点二十一分。正好是你们抓住那个刘浩之后。”
陈默睁开眼。四点二十一分,那时候他还在机房,沈清澜刚拔掉装置。
对方知道行动失败了,想远程销毁证据。
“能追踪指令来源吗?”
“跳了七层代理,最后出口在东南亚。但指令发送前的初始ip,我抓到了一个片段。”秦风敲键盘的声音传过来,“是本市的一个公共wi-fi,地点在城西的蓝调咖啡馆。”
陈默记下名字。“时间呢?”
“凌晨三点五十。指令预设了延迟发送,三十分钟后执行。”
三点五十。那时候入侵刚刚开始。
对方提前设置了自毁程序,一旦超时或失联,就启动擦除。
很谨慎。
“谢了。”陈默说。
“客气。”秦风打了个哈欠,“不过你小心点。能用这种装备的人,背后不简单。赵志刚可能只是个前台。”
电话挂断。忙音滴滴响。
陈默放下手机。城西蓝调咖啡馆。他知道那地方,离赵志刚住的公寓不到两公里。
阳光从窗户斜射进来,照在桌面上。灰尘在光柱里缓缓旋转。
他打开抽屉,拿出一个旧u盘。金属外壳已经磨花了,插口处有划痕。
这里面存着三年前“灵瞳”项目的原始日志,还有赵志刚和林薇薇操作记录的截图。
他一直没动这份证据。在等合适的时机。
现在,时机快到了。
但不是用这个。u盘里的东西是核弹,要用在最后。
现在需要的是针,细的,准的,能扎进肉里的针。
陈默把u盘放回去。抽屉关上,咔嗒一声。
他拿起内线电话,拨给沈清澜。
“排查怎么样了?”
“十七个人,十六个初步排除。”沈清澜声音很稳,“张伟的异常登录我看到了。他醒来后我问过他,他说是听到通风管道有动静,想确认检修口位置。”
“合理解释。”
“但我调了机房的音频监控。”沈清澜停顿了一下,“那个时间段,管道里没有声音。”
陈默没说话。听筒里只有电流的嘶嘶声。
“张伟在撒谎。”沈清澜说。
“或者,他听到了我们没录到的声音。”陈默说,“机房的拾音器覆盖范围有限。”
沈清澜沉默了几秒。“你信他?”
“我信证据。”陈默说,“继续查。不要打草惊蛇。”
“好。”
挂断电话。陈默站起来,走到窗边。
楼下街道上,警车已经开走了。只剩一辆送外卖的电瓶车停在路边,骑手拎着塑料袋匆匆跑进大楼。
一切看起来都很平常。
但他知道,有些东西已经开始裂了。
赵志刚那边现在应该已经收到消息了。入侵失败,同伙被抓,装置被缴。
他会慌。会急着擦屁股,会联系“灰影”,会做更多蠢事。
陈默握了握拳。掌心里还有消防斧留下的麻木感。
那就让他慌。
让他睡不着觉,让他自己把绳子往脖子上套。
阳光越来越亮,照得玻璃发烫。
陈默转身走回桌前,打开电脑。他调出秦风口中的那家投资公司的资料,开始整理。
资金流水,股权结构,关联交易。
一页页,一条条。
他要织一张网。细密的,结实的,足够把老鼠困死的网。
窗外的云又聚拢了。天色暗下来一点,像要下雨。
空气闷热,粘在皮肤上。
陈默敲下最后一行字,保存,加密。
然后他拿起手机,给周拓发了条消息:损失评估做好后,抄送一份给我们的律师。
周拓回得很快:明白。警方那边刚来电话,要我们过去做正式笔录。
陈默看了眼时间。上午十点十七分。
“一小时后我去。”他回复。
放下手机,他靠在椅背上,长长吐了口气。
胸口那根针还在,但现在已经变成了标尺。量着距离,量着时机。
量着最后那一击,该落在哪里。
窗外,第一滴雨砸在玻璃上。
很轻的一声。
啪。