年终奖到账600元,我按时打卡下班,当晚公司10亿核心数据泄露,领导疯狂给我打了220个电话,我直接拉黑

年终奖到账600元,我按时打卡下班,当晚公司10亿核心数据泄露,领导疯狂给我打了220个电话,我直接拉黑-有驾

第1章

“赵东升,公司就你一个人六点整走的?”

人事部王姐的声音从工位侧后方砸过来,手里那张A4纸被她抖得哗哗响,纸角几乎戳到我太阳穴上。

我刚脱下外套挂上椅背。

“六点零三分。”我盯着那张纸,上面的黑体字被放大了两倍。是一份内部通报草稿,抬头写着“关于员工赵东升工作日早退的警告通知”。

“我只迟到三分钟,按照公司考勤规定,弹性工作制每天有半小时容错。”我嗓子有点紧,但尽量让声音平稳,“前天梁经理十点二十才来,考勤记录显示的是九点五十。”

王姐冷笑了一声,那声冷笑像一根细针扎在我后颈上。“小赵,别跟我扯考勤记录,你自己心里不清楚吗?你今年绩效分多少?C。全技术部倒数第一。你现在是重点关注对象,懂不懂?迟到一分钟就够把你这季度绩效再扣一档。”

她转身要走,又回过头,声音压低半个调:“年终奖到了,查一下卡吧,陆总让你下午去他办公室一趟。”

工位上静下来。

我坐下来,拿起手机,打开银行APP。

余额变动通知:工资代发,600.00元。

我盯着那三个数字看了五秒钟。600元,在北京,年关底下,交完下个月房租剩三十七块五毛。我把手机屏幕扣在桌上,深吸一口气,发现右侧新来的实习生小周正偷偷看我。他眼神里的东西我很熟悉,怜悯里掺着一丝庆幸。

我冲他点了下头,把电脑打开,开始写今天份的日报。

整个技术部大办公室的灯亮得晃眼。林立的工位之间飘着键盘声、点击声、偶尔响起的电话铃。空气里有一股速溶咖啡和打印墨粉混在一起的味道。下午三点四十七分,旁边工位的老张从格子间里探出半张脸,冲我压低嗓子喊了一嘴:“东子,晚上年会聚餐,你几点过去?”

“我六点走。”我头也没抬。

“六点?”老张愣了一下,声音更低了,“今晚年终总结大会啊,陆总要讲话,听说要宣布新项目牵头人。所有人都到,你六点走?”

“我六点走。”我重复了一遍。

老张缩回去了。

五点五十八分,我合上电脑,把手机揣进口袋,从工位站起来,拎起外套和双肩包。

旁边老张的表情跟被电了一下似的,嘴张着,手里拿着的保温杯悬在半空。

“东子,你……”他声音压到只有我能听见,“陆总还在隔壁开会呢,你别——”

“我六点下班,打卡,走人。”我扣上外套拉链,脚步没停。

走廊里遇见财务部刘姐,她正端着一杯热水往会议室走,看见我背着包往大门方向去,脚跟猛地一顿,热水的涟漪溅到手背上。她眉头皱起来,眼神里写了五个字:你疯了吧。

我没有看她,推开办公室的玻璃门,六点零一分,门外的风灌进来,冷得我咬了一下后槽牙。

电梯门关上的最后一秒,我听见身后有人喊了一声“小赵”,但电梯门已经把那个声音切断了。

当天晚上九点十四分,我坐在出租屋的折叠桌前吃泡面,手机突然开始震动。

屏幕上跳出一个名字:陆建国。

我没接。

泡面汤快凉了,我用筷子捞起最后一撮面条,手机又震了。连震。三声。再一声。再两声。

屏幕上的未接来电数字从1跳到7跳到12跳到19。

我把手机翻了个面,扣在桌上,继续吃面。

九点三十六分,手机第五次连续震动后终于停了一会儿。我拿起来看,微信消息列表已经炸了,技术部微信群右上角红点标着“99+”。我点开,消息往上滚了不到两屏,就看见技术总监老何发的一条:

“赵东升人呢!!电话打不通!出事了!赶紧联系!”

再往上翻,是他的上一条:“云服务器E区谁动过!!!!”

再往上,是运维组小刘的截图:凌晨数据访问日志里,某条内网IP在九点零二分到九点零八分之间,对核心数据库执行了批量导出命令,流量规模在10GB以上。那个内网IP归属的物理端口——

是我工位的那台电脑。

我盯着屏幕,筷子停在半空,泡面的热气把手机屏幕蒙上一层雾。

群里的消息还在刷屏。产品总监张莉连发了五条:“谁能联系上赵东升?”“谁看见他今天几点走的?”“考勤记录调一下,他今天走了之后有没有再回公司?”“有没有人能打通他电话?”“老何,服务器那边的日志能不能看具体操作人?”

没有人回答她的问题。

老何过了两分钟回了一条:“操作是用赵东升的账号执行的,时间窗口是九点到九点零五。他的工位电脑七点半左右被远程唤醒过一次,内网安全认证通过。密码对得上。”

我放下筷子,手机屏幕继续亮着。

下面老张发了一条:“他今天六点打卡就走了,年会都没参加。”

再往下,行政部王姐发了一段语音,长达四十七秒,我没有点开。

九点四十七分,手机再次全屏震动,来电显示:陆建国。

我按了静音,把手机搁在桌上,起身把泡面碗端进厨房,冲了水,放在沥水架上。

回到桌前,手机的未接来电数量已经停在73个,但微信还在震。陆建国新发来一条语音,用吼的:“赵东升,你他妈把话说清楚,数据呢?!”

我没回。

十点零三分,手机震得整个桌子都在颤。这一次来电显示是一串陌生号码,归属地显示“上海”。

我接了。

电话那头是一个中年男人的声音,平静,低沉,带着一丁点南方口音:“赵东升先生?”

“是我。”

“我是云盾安全的张维,今晚贵司核心数据库出现一次异常全量导出行为,我们的防火墙监测到数据流目的地指向一个境外IP。导出操作的账号是你的。我们有三点需要确认:第一,你有没有在今晚九点左右进行过任何数据操作?第二,你的工位电脑有没有离开过你的视线?第三,你的登录密码除了你之外还有谁知道?”

我把手机换到另一只耳朵,厨房水龙头没拧紧,有一滴水落进不锈钢水槽里,声音很轻。

“我六点打卡下班,工位电脑关闭,密码只有我知道。”我说。

电话那端沉默了两秒。“我知道了。”张维说,“赵先生,这条通话我会录音。如果你说的是真的,今晚有人通过某种方式远程使用你的身份进行了这次操作。如果你说的是假的,这就是刑事犯罪。建议你接下来不要关机,不要删除任何通信记录,我们的人已经在过来的路上。”

电话挂了。

出租屋的灯管发出轻微的电流声。我站在厨房门口,看着窗外对面楼的灯火一扇一扇亮着,手机屏幕又一次亮起来,微信消息疯狂上涌,陆建国的头像后面跟着一连串语音条,最长的一条我扫了一眼时长:两分十八秒。

底下是公司大群的一条全体消息,发布者显示为陆建国,内容只有一行字:

“所有人注意:赵东升涉嫌窃取公司核心商业机密,已报警处理。任何人不得私下与其联系,否则视为同谋。”

我把手机放在桌上。

屏幕再一次亮起,来电显示:陆建国。

未接来电的数量,从73跳到了84。

我看到那条全体消息底下,有人回了一个“收到”。然后是第二个“收到”。第三个。第四个。一条一条往上排,像一列整齐的队列从我眼前走过。

手机还在震。

我没有再看。

走到窗边,我把窗户推开一条缝,外面的风裹着冬天干冷的煤烟味涌进来。我摸出口袋里那张皱巴巴的银行小票,看了一眼那行字:工资代发,600.00元。

楼下有辆车的防盗警报突然响了三声,又停了。

手机屏幕暗下去之前,我看到公司那个68人的技术部群里,有一个头像发了条消息,我还没来得及看清是谁,就被一连串新消息顶上去了。但那句话我看了个大概:

“赵哥今天下班前跟我提了一句,说他电脑好像被人动过,让我——”

后面的字没看清。

手机屏幕彻底黑了。

我没有充电。转身把窗帘拉上,从抽屉里翻出一个旧充电宝,接上线,把手机放在床头柜上,然后坐回折叠桌前。

十一点零七分,手机屏幕又亮了。

来电显示:一个没存过的号码,归属地北京。

我看了三秒钟,没接。

屏幕暗下去之后不到十秒,一条短信进来,发件人那个北京号码。短信只有五个字:

“你电脑里的——谁?”

我把短信看完,摁掉屏幕,靠在椅背上。

出租屋的挂钟在走。

咔嚓。咔嚓。咔嚓。

我在黑暗里坐了很久,直到手机再次震动起来,这个夜晚的第一百零七个未接来电,屏幕上跳动着两个字:

陆建国。

我伸出手,按了一下侧边的音量键。手机安静了。

然后我把它扔进床头柜的抽屉里,关上了抽屉门。

咔嚓。

第2章

抽屉里手机又震了两下,闷响,像什么东西在棺材里翻了个身。我没管它,靠在床头,天花板上一道裂缝从灯座延伸出去,像地图上一条断头路。

凌晨一点四十分,有人拍门。

拍得很轻,三下,停五秒,再三下。节奏精准得像在用暗号。我赤脚走到门后,从猫眼往外看。走廊灯坏了半个月,外面漆黑一片。我侧过身,把耳朵贴在门板上。听见一个男声,压得极低:“赵先生,云盾安全,张维。”

我开了门。门外站着一个穿黑色羽绒服的中年人,短头发,颧骨很高,手里拎着一个黑色公文包,拉链上挂着一个金属牌,上面刻着“云盾安全”四个字和一个编号。他看见我,微微点了一下头,侧身挤进来,顺手把门带上了。

“你电话关机了。”他把公文包放在折叠桌上,拉链拉开,掏出一台笔记本电脑,一个外接硬盘,一个信号探测仪一样的东西。动作干净利落,像做过一万次。

“手机没电了。”我说。

张维抬头看了我一眼,那一眼不长,但够我读出里面的东西——他不信,但他不会在这件事上纠缠。他从包里抽出两张纸,一张是《数据安全协查函》,盖着红章,抬头是某网络安全应急响应中心。另一张是一份《当事人询问笔录》草稿,空格都填好了,就差我的签字。

“你说你六点下班,电脑关机。”他把笔记本电脑掀开,屏幕的光把他的半张脸照成青白色,“我查了你的工位那台机器的硬件日志,关机时间十八点零一分四十二秒。没错。”

他在键盘上敲了几下。“十九点三十二分,同一台机器的网卡被网络唤醒。唤醒信号来源是内网的一个跳板机,那台跳板机的登录记录在十九点三十一分被清除过。清除操作使用的账号是运维组刘思远的。”

我嗓子有点干。“小刘?”

“刘思远,运维工程师,入职十一个月。”张维把笔记本转过来,屏幕上是一张内网拓扑图,其中一个节点被红圈标出来,“他今晚在公司加班到十一点,跟技术总监老何一起配合警方调日志。他说自己的账号当晚没有做任何操作。但他的账号在十九点三十分二十九秒,从公司内网的一台开发机上登录,用了三十二秒,清除了跳板机的登录痕迹,然后退出。那段操作的时间窗口,监控拍到他正在茶水间接热水。”

他的手指在触控板上划了一下,屏幕切换成一张监控截图。画面里,茶水间的角落,一个穿灰色卫衣的年轻男人背对镜头,手里端着一个白色马克杯,热水器屏幕上的时间数字清晰可见:19:30:17。

“三十二秒不够他从茶水间走回工位,更不够他打开开发机做完这些操作。”张维合上笔记本,“所以操作他的人,不是他。是有人拿到了他的账号密码,在内网的另外一台机器上远程执行了清除指令。”

我坐在床边,听见自己的心跳声在耳膜里放大。

“所以你们怀疑的目标是谁?”我问。

张维没有回答。他从公文包侧袋里掏出一个透明证物袋,里面装着一张打印出来的邮件截图。邮件发送时间,今天下午四点零三分。发件人显示为“赵东升”,收件人是公司技术部全员,主题只有一个字:《查》。正文是一份名单,列了七个名字,全是技术部中级以上工程师,每个名字后面跟着一列数字——他们的密码最后修改时间。整个邮件措辞用的是我绝对不会用的那种语气:“请各位于今日下班前完成密码更新,否则按安全违规处理。”

“这封邮件,是你发的吗?”

我接过那个证物袋,隔着塑料看了三遍。邮件头的IP地址显示发送端是公司内网,时间是下午四点零三分。四点零三分,我正坐在工位上给老张传一份测试环境部署文档。

“不是我发的。”我把证物袋递回去,“下午四点零三分,我在工位,老张和实习生小周都能证明。而且我从来不会用这种语气发邮件,这件事全技术部都知道。”

张维把证物袋收进包里,眼神终于有了些微妙的变化。他沉默了几秒,把笔记本重新打开,翻到另一页。“还有一个事。你今晚六点下班之后,有没有收到过任何人的私信或者电话,让你回去公司一趟?”

“没有。”

“六点四十分左右呢?”

我想了一下。六点四十分,我在地铁上,车厢太吵,我戴着耳机听播客,手机静音。那时候有没有人找过我,我确实不知道。我拿起抽屉里的手机摁亮屏幕,未接来电列表从昨晚六点四十分开始看。六点四十一分,有一个未接来电,备注名:梁总。

梁经理。技术部的中层主管,我直属上级,也是今天下午让王姐带话让我去陆总办公室的那个人。

我盯着那条未接来电看了五秒,把屏幕转给张维。

张维看了一眼,点了一下头,没有评价。他把笔记本合上,拉好公文包拉链,站起来。“我们今晚会调取今天下午四点零三分前后,公司所有内网设备的物理连接记录。如果那封邮件不是从你电脑上发的,我们可以找到真实的发送终端。另外,你的工位电脑在今晚九点导出数据之前,曾经在十九点四十五分被远程登录过一次,登录持续时间两分钟。那两分钟里,有人往你的电脑里拷了一份东西,然后删掉了拷贝操作的本地日志。”

“拷了什么?”

“目前只能看到文件大小,大约是300KB,一个文本文件或压缩包。删除操作做得非常干净,但我们的恢复工具可以处理。”他已经走到门口,手搭在门把手上,侧头看了我一眼,“赵先生,今晚你最好别睡觉。你手机保持开机,我明天上午十点之前给你一个初步结果。”

门开了,走廊的冷风灌进来,他走出去,又回头说了一句:“对了,你那个工位的物理端口,今天下午两点左右被换过一块新的网卡。更换记录是设备科签的,申请人是老何。”

门关上了。

我站在玄关,听见张维的脚步声沿着楼梯往下走,越来越轻。他刚才说的最后一句话在我脑子里转了一圈。老何。技术总监老何。他今天下午两点换了我工位的网卡,这事我一无所知。换网卡需要物理接触我的电脑主机,而我今天下午两点到三点之间在开项目复盘会,人不在工位。

我回到折叠桌前坐下,把手机从抽屉里拿出来,插上充电宝。屏幕亮起来,未接来电的数字停在107上。微信消息挤满了屏幕,我只看了最近三条。第一条来自实习生小周,发送时间晚上十一点五十七分:“赵哥,你今天下午跟我说你电脑好像被人动过,我当时没太在意。刚才我想起来,你开会那会儿,我看见梁经理在你工位旁边站了一会儿。就站了一会儿,没碰你电脑。但是老何后来过去了,手里拿了个螺丝刀。”

第二条来自老张,凌晨十二点二十三分:“东子,你别回任何消息。我已经把今天下午你那台电脑周围的监控时间段报给警方了。你有不在场证明,别慌。”

第三条来自一个我没想到的人。陆建国。发送时间凌晨一点零二分,文字消息,不是语音:“赵东升,如果你现在能看到这条消息,马上回我电话。有件事我刚才查监控发现了,你电脑旁边的那个备用交换机,今天下午被多接了一根网线,那根线连到隔壁会议室的一个隐藏端口上。那个端口我们没有登记在册。如果你是被嫁祸的,我需要你在警方之前知道这件事。回我电话。”

我盯着最后那条消息看了很久。陆建国。今天上午让王姐通知我去他办公室谈话的人。今晚在全员群里发消息说我涉嫌窃密并报警的人。现在凌晨一点,他说他在监控里发现了异常网线,让我回电话。

我把手机屏幕朝下扣在桌上。

窗外刮了一阵风,对面楼的灯灭了一盏。我站起来,走到厨房,倒了杯凉水。喝水的时候脑子里反复过几件事。第一,老何下午两点用螺丝刀靠近了我的电脑主机。第二,梁经理六点四十一分给我打了电话,在我下班四十分钟之后。第三,陆建国在全员群里报警抓我,又私下让我回电话告诉他发现的新线索。第四,实习生小周的证词提到梁经理和老何都在我开会期间靠近过我的工位。第五,那封伪造的群发邮件是从内网发出的,用的我的名字。

杯里的水喝完了。我把杯子放在台面上,回到卧室。手机屏幕又亮了,是张维发来的一条消息,很短:“恢复出来的那个300KB文件,是一个压缩包。解压后是一份通讯录,里面只有一个条目,名字叫‘赵东升’,电话号码后面手打了一行备注:‘背锅的。’”

我站在床边,手机从指间滑下来,落在床单上。

窗外不知道哪家的电视没关,远远传过来一段天气预报的女声:“……受冷空气影响,明后两天本市将出现大风降温天气,最低气温零下九摄氏度……”

声音断了。然后我听见门外传来一个极轻的声音,像有人把一张纸从门缝底下塞了进来。

我走到门口,弯腰。

门缝底下露出一角白色。

我蹲下来,把那张纸抽出来,翻到正面。上面只有一行字,用圆珠笔写的,字迹我认得——是技术部每周排班表上手写备注的那同一个人的笔迹:

“他们知道你会回来查。别回来。”

第3章

纸上的字迹看第二遍的时候,我认出来了。是老张。

老张的“张”字最后一笔永远向上勾,技术部排班表上的备注栏,每周都见他这么写。他用圆珠笔,蓝色,油墨渗纸,像他这个人一样,不张扬但压得很实。他没留署名,但笔迹替他说了话。

我把纸对折,塞进外套内袋。门外走廊空荡荡,脚步声早已散尽。我回到桌前,把手机重新握在手里,充电宝的蓝灯一闪一闪。微信里陆建国那条消息还亮着,我没有回他。往上滑,是公司大群里那条全员通知,“已报警处理”四个字像钉子一样扎在屏幕上。

凌晨两点十一分,张维的第二条消息到了:“那根多接的网线,物理端连到隔壁会议室的隐蔽端口,端口的交换机日志显示它在今天下午三点到五点之间,有三次上行数据流量,目的地是一台外网云主机,IP归属地是香港。那台云主机在今晚九点零二分同时向你的工位电脑发送了唤醒指令。链路对得上。”

他停了一分钟,又发来一条:“那台香港云主机的注册信息查到了,注册公司叫鑫海科技,法人代表是一个叫秦放的人。你认识这个名字吗?”

我盯着“秦放”两个字,脑子里转了三个来回。不认识。从没听见过。

我回了两个字:“不认识。”

张维秒回:“好。那换个问题。你们公司最近有没有跟外部合作方做过数据接口类的对接?或者有没有离职员工带走过来不及回收的权限账号?”

我想了一下,把手机放在桌上,翻出笔记本电脑,打开工作邮箱,输入关键词“鑫海”。没有结果。再搜“秦放”。也没有。然后我想到一件事,点开公司内网的“项目档案”目录,翻到去年十月的一个项目,项目代号叫“冬青”。那个项目是做金融风控系统的第三方数据对接,当时技术部对接过一个外部合作方,我记得那个合作方的公司名字不叫鑫海,但对接人的名字里有一个“秦”字。我点开项目附件里的对接记录,找到那封邮件,发件人署名是“秦毅”。职位写的是“技术顾问”。

秦毅和秦放,有没有关系?不确定。但隔了几个月,突然冒出一个叫“秦放”的人注册的云主机,跟今晚的数据泄露事件精准挂钩,时间点卡在项目结束三个月之后,我不信是巧合。

我把“秦毅”这个信息发给张维。他的回复来得很快:“好。查这个方向。”

手机屏幕刚暗下去,一个陌生号码打了进来。这一次归属地显示的是“河北保定”。我接了。

电话那头先是一阵呼吸声,然后一个年轻男声压着嗓子开口:“赵哥,是我,小周。”

实习生小周。他平时说话语速快,爱笑,此刻声音像被人掐住一半喉咙。“赵哥,我今晚没回家,我在公司楼下的便利店猫着。我刚才看见一件事……老何十一号,还有梁经理,还有一个人,我不认识,他们三个在楼后面那条巷子里站了大概十分钟,老何给了那个人一个信封。那个人上车走了。车牌号我记下来了,是河北牌照,最后三位是379。”

我握着手机的手紧了紧。“你看见信封里是什么了吗?”

“没有,装的什么东西我看不清。但是老何给信封之前,那个人说了句话,这边风太大,我隔着马路只听到几个字——他说,‘冬青那个接口还没关干净吧?’”

冬青。

信息链在我脑子里猛地合拢。冬青项目的数据接口,去年十一月上线,十二月关停。项目收尾的时候,负责关停接口的是运维组刘思远。今晚张维告诉我,刘思远的账号被用来清除了跳板机的登录痕迹。刘思远是冬青项目的执行运维。老何是技术总监,批了关停单子。梁经理是那段时间我的直属上级,冬青的需求文档是他签的字。而今天下午老何动过我工位的网卡,梁经理六点四十分给我打过电话。那条“冬青接口还没关干净”的话,像一把钥匙,插进了一把我还不知道形状的锁里。

“小周,”我说,“你现在马上离开便利店,叫个车回家。把车牌号发给我。今晚不要再待在公司附近。”

电话那头沉默了两秒,然后小周说了一句让我后脊发凉的话:“赵哥,我刚才买水的时候,收银台旁边的电视上在播本地新闻。我听见一句——‘本市某科技公司今晚发生重大数据泄露事件,警方已介入调查,涉事员工目前失联。’没有点你的名字,但我看到电视画面里,放的是你工位上那张照片。”

我从桌子上拿杯子的手顿住了。“什么照片?”

“就是你工位显示器旁边夹着的那张,你跟你妈在老家门口照的那张。新闻把那张照片拍进去了,镜头里还有你的工牌,名字马赛克了,但岗位等级那一栏没打全,写的是‘技术岗-中级’。”

“新闻几点播的?”

“十一点那档。我刚才才发现,便利店一直在滚动重播。”

我放下杯子,心跳声重得像有人在隔壁砸墙。那张照片我放在工位上两年了,旁边还夹着一张贴纸,上面是元旦时技术部团建拍的大合照。新闻镜头把这两样东西都拍进去,意味着有人专门让媒体进了公司,拍了我的工位。而按正常流程,警方介入调查的阶段,不允许媒体进入现场拍摄未经证实的画面。

这不是警方授权的信息流出。

这是有人在用舆论把我钉死。

“赵哥,还有一件事……”小周的声音明显在发抖,“我刚才在店外面,看见陆总的车从公司地下车库开出来了,后排车窗放下来一半,我确定后排坐着的那个人不是陆总。他穿一件黑色羽绒服,戴了帽子和口罩,但我认出来他手腕上那块表——那块表我记得,上个月冬青项目庆功宴上,老何旁边坐着一个人,就是那块表。”

我脑子里突然闪过一个画面。上个月冬青项目庆功宴,在一家粤菜馆,老何带了两个“外部专家”来敬酒,我当时坐在桌尾,没看清他们的脸,但其中一个坐下的时候把手腕搁在桌上,表盘在射灯下反了一下光。那个表我不认识牌子,但表盘侧面有一圈很小的蓝色刻度,很少见。

“小周,你把车牌号发我,然后回家。立刻。”

电话挂了。三秒后,一条短信进来,河北牌照,末尾379。我截了个图,转给张维,加上一行字:这辆车今晚出现在公司附近,车上一人从老何手里接了一个信封,双方交谈中提到了冬青项目接口。

张维的回复来了:“收到。冬青项目的接口文档,你们内部留存了吗?”

我打开电脑,翻了项目归档文件夹。冬青的技术文档还在,接口规范、安全策略、测试报告、关停确认单,四份PDF,一个附件压缩包。我把压缩包解压,里面是十二个日志文件。我随手点开最近一个,创建日期显示的是上个月十号。而冬青项目是去年十二月正式关停的。

上个月十号,有人在冬青项目关停五个月之后,又生成了一个日志文件。

我点开那个文件,里面是一段JSON格式的数据调用记录,记录了三次访问请求,时间分别为上个月十号晚上八点零二分、八点零七分、八点十一分。三次请求的目标接口路径,是冬青项目对外数据接口中的“user_auth”端点。那个端点原本是用来做外部合作方身份校验的。关停确认单上明确写着“所有外部接口已下架,访问令牌已吊销”。

那三次访问请求全部成功返回了200状态码。

接口没关干净。

我翻到关停确认单的签字栏。签字人三个:刘思远,梁志明,何守正。三个名字整整齐齐。而在那三次成功访问的时间点上,这三位没有一个在工作日志里提到过冬青接口被重新启用。

手机震了一下。张维发来一张截图,是一份银行转账流水单的局部。收款方账号被打码,但付款方那一栏写着“鑫海科技”,金额是五十二万,转账日期显示的是上个月十一号,备注栏写了两个字:“尾款。”

附件里还有一条文字:“我们调了鑫海科技的工商注册关联人信息。秦放和秦毅是兄弟。秦毅就是你们冬青项目的那个合作方技术顾问。”

我把电脑屏幕合上,站到窗边。天还没亮,对面楼的灯又灭了两扇,剩零星几扇窗口像疲惫的眼睛半睁着。手机还亮着,我正要关掉,屏幕上突然弹出一条新的微信通知,发送人显示是陆建国。时间是凌晨三点四十二分。

“赵东升,我知道你醒了。今晚的事我查了一部分,我不想在微信里说。你公司在知春路那个旧机房,你还记得吗?四年前咱们搬家前那个老机房,我现在就在这儿。那根隐藏网线的源头我找到了,端口连着一台老服务器,服务器的标签上写的是‘冬青-备份’。这台服务器没有登记在现在的资产表里。如果你想知道谁在动你的名字,来这儿找我。天亮之前。”

我读完这条消息,没回。

门外走廊里再次安静下来。我拿起外套,拉好拉链,把充电宝和手机塞进口袋。蹲下身系鞋带的时候,那张老张塞进来的纸条从内袋滑落一角,我重新把它塞好。

门打开,走廊里干冷的空气迎面扑来。我往外走了一步,顺手把门带上,听见门锁咔哒一声合上。往前走第三步的时候,我的手机在口袋里发出一声极轻的震动。我没停下脚步,也没掏出来看。

楼道里声控灯坏了,我在黑暗里摸到楼梯扶手,往下走。

走到二楼拐角的时候,口袋里的手机又震了一下。

我继续往下走,推开单元门,外面的风吹过来,冷得人后槽牙发紧。街上一个人也没有,路灯的光在雾里晕成昏黄的一大片。我把外套领子竖起来,往知春路那个老机房的方向走了两步。然后停下来。

口袋里第三次震动。

我掏出手机,点亮屏幕。三条未读消息依次排列。第一条,陆建国:“你到哪儿了?我等你。”

第二条,张维:“刚刚收到一条线报,老机房那边今晚有人申请过临时电力接入,申请人是何守正。”

第三条,老张:“别去知春路那个机房。我刚才听说一件事——今天下午四点半,老何在旧机房旁边的配电间里装了一个新的监控探头,角度正对着机房大门。那个探头不归公司安保系统管,是单独拉的线。”

我站在路灯下,看着手机屏幕上那三行字,呼出的白气在灯光里散成一片。

然后我听见身后很远的地方,传来一声车门关闭的闷响。

第4章

我没有回头。

那声车门关上的闷响过后,紧接着是轮胎碾过路面上薄冰的细碎声,从东边来,往西边去,渐渐远了。我在路灯下多站了十秒钟,把手机装回口袋,然后转身朝完全相反的方向走了。

旧机房不能去。陆建国这个时间点发的消息,配上老何提前装好的监控探头,整件事像一只合拢的手掌,只等我往里钻。我沿着路边往西走了三百米,拐进一条巷子,从巷子的另一头穿出去,打到一辆夜班出租车。

“师傅,去五道口。”我说了一个地址,那不是我家,是小周上周闲聊时提过一句他租的地方,一间合租的次卧。

车上暖气开得很足,挡风玻璃外面是凌晨四点空旷的街道。手机又响了两次,都没亮名字,显示为陌生号码,我没接。到了五道口那栋老居民楼底下,我付了钱下车,站在单元门口给小周发了条消息:“我在你楼下,方便下来吗?”

等了大概两分钟,楼道里的灯亮了,小周穿着件羽绒坎肩跑下来,踩着拖鞋,头发乱着,脸上还带着没睡醒的红印子。他看见我,没问为什么来,只侧身让了让:“上楼说。”

合租房的客厅很小,一张沙发已经塌了一半,茶几上摆着半袋没吃完的薯片和一盒抽纸。小周把沙发上的毯子拢到一边,让我坐下,自己去厨房倒了两杯水。他把水杯递给我,自己那杯端在手里没喝。

“赵哥,你看见我发的车牌号了吧?我后来查了一下那个牌照的属地,河北保定市下面的一个县。但我又想起一件事——我今天下午不是跟你说,我看见梁经理在你工位旁边站了一会儿吗?我后来又想了想,他站的那会儿手里拿着手机,屏幕亮着,好像在拍什么东西。”

“拍我的工位?”

“我当时没往那方面想。现在回想起来,他拍的时候手机镜头角度是朝下的,对的是主机背后那一块。”小周喝了一口水,“还有一个事,你听了别觉得我疑神疑鬼。今晚新闻里放你工位那张照片的时候,新闻画面的右下角有一行小字,写的是‘素材由企业方提供’。也就是说照片不是记者去公司现场拍的,是公司方面主动发给电视台的。”

我端着水杯的手停了一下。公司方面主动发的。全员群里陆建国刚发了报警处理的通知,同一批人转头就把我的工位照片传给了电视台。节奏快得像提前排好的。

“小周,你认识秦放或者秦毅这两个名字吗?”

他皱了皱眉,想了一会儿。“秦毅……我好像在哪见过。上个月我在整理冬青项目的遗留单据时,有一份设备交接确认单的附件里签收人签名就是秦毅。我当时还问过老何这个项目不是已经关停了吗,怎么还有设备交接确认单,老何说那是最后一批测试设备的归还手续。”

“那张单子现在还在吗?”

“在。”小周站起来,走到自己卧室门口,回头说,“我自己拷贝了一份存在个人网盘里了。本来只是想留个底,怕以后对账用。你等着。”

他进去翻了一会儿,拿着手机出来,把屏幕转向我。一张拍得有些歪的设备交接确认单,表格里列了三台服务器型号、序列号,交接日期是上个月七号,交接双方签字栏里,一方签的是“何守正”,另一方签的正是“秦毅”。备注栏里用圆珠笔写了一行小字:“冬青-备份服务器,返还外部合作方维护。”

我把那张图片看了两遍。“冬青备份服务器返还给外部合作方?那台服务器里装了什么?”

小周的表情变了。“如果我没记错的话,冬青项目的数据同步链路有一路备份通道,备份数据会实时灌进一台专用服务器里,用于灾备演练。项目收尾的时候,那台服务器应该被物理格式化后报废。但上个月老何签的这张归还单,等于把那台服务器原封不动交出去了。”

我闭上眼。冬青项目的数据备份服务器,没有格式化,没有报废,被何守正以“返还”的名义交给了合作方秦毅。而今晚那些被导出的10GB数据,来自一条早已声明关闭的外部数据接口。那条接口连接的目标,很可能就是那台名义上已经归还的备份服务器。

“小周,这张单子的电子版发我一份。”

他点头,手指在屏幕上飞快操作了两下,我的手机震了一下。我刚要点开看,屏幕上方弹出一条新的微信消息,来自一个陌生头像,备注名空白,只写了一句话:“你查的方向对。但老何不是一个人。”

我看了三秒,回复:“你是谁?”

对方回得很快:“梁志明。我的电话你还没回,但我猜你不会接,所以换了号。你现在最好别去旧机房,陆建国在那边等你,但不是他一个人。老何也在,还有一个人你认不出来,但他认识你。他们三个在机房里面待了大概四十分钟了。我在公司地下车库自己的车里给你发这条消息。你信也好不信也好,我下午在你工位旁边站了,但我没有碰你的主机。我是在拍那根从地板线槽里多出来的网线。”

我盯着手机屏幕。梁志明。今天下午在我工位旁边站过的直属上级。六点四十一分给我打过电话。他在这个时间点上用陌生号码发来这条消息,说自己是在拍网线,说自己没碰主机,说陆建国和老何在旧机房,还有第四个人在场。每一条信息都踩在一个关键的缝隙上,让我无法忽略,也无法完全信任。

“为什么现在告诉我?”我打了这行字。

那边沉默了一会儿。“因为那台冬青备份服务器的归还单上,我的签字是伪造的。我从来没有签过那份关停确认单。但那张单子上‘梁志明’三个字的笔迹跟我签的一模一样。有人把我的字练过了。”

我转头看小周:“关停确认单的原始文件你还找得到吗?”

小周从沙发上跳起来,又跑回卧室,两分钟后拿了一沓打印纸出来,翻到其中一张递给我。冬青项目关停确认单,我一眼就看见了梁志明的签字。那个“梁”字的最后一点,落笔很重,向右下方拖了一个细小的尾巴。梁志明每次签文件都这个习惯。但如果他本人的说法是没签过,那这份确认单上的签名,就是高仿。

“你有他本人的签名样本吗?”我问。

小周愣了一下:“今天下午的考勤异常报告上好像有他的签字,早上王姐拿过来让我存档,我还没交上去。”

他翻了一会儿桌面,从一摞文件下面抽出一张A4纸,上面是王姐手写的一份考勤异常说明,底部签着“梁志明”,黑色签字笔。那个“梁”字的最后一点,同样有一个向右下方拖的细小尾巴,但拖的幅度比关停确认单上的大了那么一点点。很像。非常像。但两个签名并排看的时候,细微的力道差异像指纹一样暴露了出来。

“如果有人练过他的字,那这个练字的人在签确认单的时候,把尾巴的幅度控制得太标准了。”我把两份签名拍了照片,发给张维,附了一句:“麻烦比对笔迹,怀疑关停确认单签字伪造。”

张维秒回了一个字:“收。”

手机电量跳到百分之十五。我看了看窗外,天边已经开始泛灰,夜色最浓的那一段过去了。小周坐在沙发扶手上看着我,欲言又止的样子。

“赵哥,你想过没有,如果这一切真的是从冬青项目埋下来的,那最早知道这件事的人是谁?”

“刘思远。”我说,“他做的运维,他经手的接口关停,他签的字。如果接口没关干净,他第一个知道。今晚他的账号被用来清除跳板机痕迹,未必是他本人干的,但他一定知道些什么。”

小周点了一下头,然后犹豫了一下说:“赵哥,我今晚在公司楼下猫着的时候,其实还看见了另一件事。快十一点的时候,刘思远从公司后门走出来,没走多远,被一个人拉住了。那个人递给他一个纸袋,他接过去塞进外套里了。我当时隔得太远,看不清那个人的脸,但那个人的外套我记得,是一件深灰色带反光条的运动服,后背好像有个字母。”

“什么字母?”

“不太确定,光线太暗了。但我记得上个月年会,老何穿的那件外套背后好像有一个这种反光条的设计。”

我站起来,把充电宝的线拔了。手机电量十七。黎明前的气温还在往下掉,窗玻璃内侧结了一层薄薄的水雾。

“小周,你再帮我确认一件事。刘思远的住址你知道吗?”

“公司通讯录上有,但那是老地址了,他上个月搬过一次家。我听他说过一嘴,新地方在回龙观那边的一个小区。”

我记下那个小区名字,把外套拉链拉到最上面。“你睡觉,别管了。”

他站起来送我到门口,拖鞋在地板上拖出沙沙的声音。我握上门把手的时候,他忽然在我背后说了一句话,声音很轻:“赵哥,如果最后查出来真的是从上到下的人都参与了……你打算怎么办?”

我没有回答,拉开门走进走廊。

楼道里的声控灯亮了,昏黄的灯泡照亮墙上一行用黑色马克笔写的搬家广告,电话号被划掉了一半。我沿着楼梯往下走的时候,心里在反复转一个念头:关停确认单上三个签字,梁志明的被伪造了,何守正自己的签了真名,刘思远的我不知道真假。但上个月老何签字把那台冬青备份服务器“返还”给秦毅的时候,那份归还单上需要至少两个人的签批才有效。第二个人是谁,那张单子最底部还有一行被小周拍到的边缘剪裁切掉了。

我走到一楼,推开单元门之前,掏出手机,点开小周发来的那张设备交接确认单截图,把图片放大到右下角。被裁切掉的边缘处隐约露出一截字迹的末笔,笔画形状像两个字。第一个字看起来像“陆”的上半部分,第二个字的轮廓像“建”的第一横。

手机电量跳到百分之十四。

我推开单元门,走进清晨五点半的灰白色天光里。街上已经有早班的环卫工在扫落叶,扫帚划过路面的声音一下一下,像某种节拍器。

口袋里的手机震了一下。我掏出来一看,张维发来一条消息,是笔迹比对的初步结论:“关停确认单上的梁志明签名,与样本签名存在三处运笔差异,初步判断为临摹仿写。另外,归还单的完整扫描件我拿到了。右下角第二签字人栏里的名字,你猜是谁——陆建国。”

我站在路边,把手机屏幕摁灭,呼出一口气,白雾在冷空气里团了一下就散了。

手机最后一次震动,电量跳到百分之十。屏幕上弹出一条微信消息,来自一个没有备注但头像很熟悉的账号。老张。“东子,别查了。我刚从公司出来,听见老何在走廊里打电话说了一句话。他说如果天亮之前找不到你,就让刘思远把另一份日志交出去。那份日志的时间戳,是你今天下午五点半的。他们说那个时间你动过冬青接口的配置文件。”

我站在原地,看着手机屏幕上最后一行字,电量条已经红了。

五点半。今天下午五点半,我在工位上写日报,旁边老张在泡茶,实习生小周在打代码。三双眼睛都看见我动的是自己的开发环境。

但如果有人把日志时间戳改了,栽到我头上。那就不是我的嘴能说清的事了。

我把手机揣进口袋,转身朝地铁站的方向走去。天亮了。

0
全部评论 (0)
暂无评论