免责声明:本文为虚构故事,请读者朋友注意辨别,理智思考。
年终奖到账801元,我冷静打卡下班,当晚公司11亿核心数据遭到攻击,上级疯狂给我打了375个电话,我就不接怎么了!
第1章
“赵东升,你过来一下。”
HR总监王姐的声音从办公室门口传来,带着那种办公室特有的、居高临下又不失体面的克制。整个部门三十多号人都听见了,鼠标声停了两秒,空气里全是屏住呼吸的动静。
赵东升从工位上站起来。隔壁工位的李萌飞快地瞥了他一眼又低下去了,那眼神里有种廉价的心虚,跟早上在茶水间撞见她往王姐办公室送了盒巧克力的时候一模一样。
他走进那间玻璃隔断的小会议室,门在身后扣上。王姐没让他坐,她自己坐在长桌一头,面前的A4纸打印得整整齐齐,加粗黑体,字号放大了两倍。
“公司今年的年终奖方案出来了,”王姐把一张纸推过来,指尖压着纸面划了个圈,“你这边是801块。”
赵东升看着那个数字。801。打印体,没手写。阿拉伯数字,三位的。他一年做了七个项目,年终述职PPT做了四十八页,通宵改了三版,QA那头的大刘都说“东升你这活儿是真细”。801。
“绩效评级C,”王姐说,“这是你们部门总监签过字的。”
“C?”赵东升开口,嗓子有点紧。“我去年绩效B,今年干了七个项目,客户满意度全部门第二,刘总监签字之前有没有看过——”
“赵东升,”王姐打断他,“你不要跟我这儿说这些。方案是高层定的,刘总监只是执行。”
“那801是什么意思?”
“就是801的意思。”王姐站起来,把那张纸收回去,翻面扣在桌上,像翻一张扑克牌。“工资没扣你的,五险一金正常缴,你要是不满意,可以走离职流程。”
赵东升没动。他低头看了看自己的手,右手食指第二关节那儿还有昨晚改代码留下的键盘印。他开口说:“好。”
王姐愣了半秒,大概没想到他这么利索。
“那我回去上班了。”赵东升说。
他拉开门走出去。外面三十多号人的工区静得像停了电,前台小张正假装在打印机那儿翻东西,余光扫过来又扫回去。李萌把显示器偏了个角度,屏幕上的聊天窗口亮着,绿色的气泡一行接一行。
赵东升回到工位,坐下,打开电脑,继续改下周一要上线的部署脚本。光标在编辑器里闪。他手指搁键盘上,按下去,一行,两行,第三行的时候他停住了。
屏幕上反光的倒影里,他看见自己面无表情的脸。嘴巴抿成一条直线,眼角没动。
801。
他把脚本改完,push到远程仓库,commit message写的是“fixed env config”。然后他打开报销系统,把上个月加班打车的六十三块钱提交了。又打开内部邮件系统,给自己上礼拜发的项目验收报告加了一个星标。
然后他拿起工牌,在桌面上磕了一下,揣兜里。站起来。下班。
四点半。
他没打卡。走了两步,想起来什么,折回来,把显示器关了。
李萌在他背后小声喊了一句“东升哥”,他嗯了一声,没回头。
大门在身后合上的那一下,玻璃门带着弹簧,很轻的一声“嗒”。
他走路去地铁站,风挺大。手机上没消息。他上了地铁,站了七站,到家,换拖鞋,把外套挂门后,去厨房烧了壶水。
水烧开的时候,手机震了第一下。
他没看。把水倒进杯子,端着去阳台站了一会儿。对面楼的灯陆续亮起来,灰蓝色的天正在往下沉。水喝完了,手机震第二下,第三下,连着震,像有一只苍蝇趴在玻璃上没头没脑地撞。
他回屋,手机搁茶几上,屏幕朝上。
那条消息是刘总监发来的。措辞客气得像换了个人:“东升,方便的时候回个电话。”
他没回。
倒水,第二杯。
然后他打开电脑,登了公司的VPN。他今天本来不应该再上线了,但他有个习惯,项目上线前的周末他会上去看一眼日志有没有异常。
认证通过,跳转到运维面板。他扫了一眼总览页——今天下午的访问量曲线忽然出现了一个陡坡。下午三点到四点之间,数据库查询次数飙到了平时的十七倍,然后——没了。
日志停在了下午四点零三分。
他刷新。页面没有加载。
再刷新。VPN断了。
手机开始响了。
不是震,是响。铃声是系统默认的那个,单调、重复、毫无感情的电子音。屏幕上跳出来的名字是“王姐”。
他没接。屏幕灭了,又亮了,还是王姐。
三次。然后是技术总监老周的。刘总监的。CEO助理的。行政部何姐的。QA大刘的。运维小陈的。李萌的。
一串名字在屏幕上接力赛似的跳,一个接一个,有时候两个同时打进来,系统提示“有另一通来电等待”,他就看着那个等待中的名字闪。
他没算时间。窗帘没拉,窗外路灯亮起来又暗下去,中间隔了大概好几趟地铁的功夫。手机一直响。
后来他开始嫌吵。他弯腰从抽屉里翻出一卷透明胶带,撕了一截,贴在手机听筒的位置上。声音闷下去了,但还是震。整个手机在茶几上一点一点地挪,像只折了翅膀的虫子。
中途他洗了个澡。出来的时候手机还在震,屏幕上显示“未接来电 247”。
他坐在沙发上擦头发。毛巾搭在肩膀上,水珠从发梢滴下来,砸在手机屏幕上,把那个“未接来电 247”的数字洇开了一点。
他伸手抹了一把,数字又清楚了。248。屏幕上方弹出一条短信,是刘总监的:“公司服务器出事了,你是不是碰过什么?”
他没回。
又一条:“东升,我知道年终奖的事你心里不痛快,咱们可以谈,你先把事情说清楚。”
他盯着“谈”这个字看了三秒。王姐下午说“你可以走离职流程”的时候,嘴皮子动得挺快,没说要谈。
他把短信滑掉,打开了一个二维码截图——那是三个月前他给运维小陈帮忙的时候存的,当时小陈说“东升哥你扫这个,方便临时调日志”。
他没扫。
现在他扫了。相机对准屏幕上的黑白方块,滴一声,跳出来一个网页。他输入了一串账号密码。那个账号权限不高,只能读,不能写,但他三年前入职的时候曾经负责过公司核心数据库的备份方案,他记得一个东西。
他点进一个冷门的监控子目录。文件夹按日期排列,他往下拖,拖到三个月前的备份快照。文件名是一串哈希,他复制下来,粘贴到搜索框里。
搜索结果返回了十五行。其中一行是一个IP地址。
他盯着那个IP。那是他半年前在某个废弃测试环境里留下的跳板机地址,当时项目赶得急,他和陈默两个人搭了一套临时通道,后来通道废弃了,但是机器没关机,因为谁也懒得去关。
他往上翻了翻,那个废弃机器的SSH登录日志今天下午三点零七分有一条记录。来源IP是公司的办公网段。
有人从他工位的电脑上,用他的账号,进了那台跳板机。
他坐在沙发上,手机搁在手心里震了一下,屏幕亮了。未接来电的数字停在了“375”。
谁用他的电脑登录了那台机器,今天下午。今天下午三点多,他还在工位上改部署脚本。他站起来去接水的时候,屏幕没锁。他去王姐办公室的那十分钟里,屏幕也没锁。
手机又亮了。刘总监发来一条微信语音,两秒。
赵东升点开,把手机贴耳边。
刘总监声音劈了:“赵东升,你知道那些数据值多少钱吗?”
赵东升把语音关掉。他把手机翻过去扣在茶几上,后背靠进沙发里。天花板上那盏吸顶灯有一根灯管有点松,光线在细微地闪。
他闭上眼睛。
门铃响了。
第2章
他没动。
门铃又响了两声,连着的那种,按铃的人明显不耐烦。赵东升从沙发上坐起来,拖鞋在地上蹭了一下,走到门口,从猫眼里往外看。
走廊灯坏了半边,外面站着一个穿黑色羽绒服的男人,领子竖着,半张脸藏在里面,但赵东升认得那个站姿——肩膀往前塌,重心在右脚上,是刘总监。
他回头看了一眼茶几上的手机,屏幕还暗着,但机身是热的。他把门打开一条缝,刚好卡着门链,没让刘总监进来。
“东升,开门。”
“有事?”
刘总监噎了一下。他在外面站了快四十分钟了,从公司开车过来,一路上打了六个电话没通,到楼下又按了四遍门铃,等来一句“有事”。他说:“公司服务器出事了,数据库被人动了。”
“嗯。”
“嗯什么嗯?你下午四点左右从VPN上了监控系统,你敢说你没碰?”
赵东升看着门缝里那张脸。刘总监嘴角起了一个泡,眼睛底下一圈青,下午那份签字的时候他肯定没这么狼狈。“我碰了监控系统,没错。”
刘总监吸了一口气,像是准备往下压:“那些数据——”
“你等一下。”赵东升把门关上了。门链哗啦一声响,刘总监在外面喊了一声“赵东升”。
他走回茶几边,拿起手机。未接来电从375变成了379。屏幕上面还有一条通知,是内部报警系统推的推送:“核心数据库异常访问告警 严重等级:紧急。”
他打开那个推送往下滑。时间戳是下午四点零三分,告警类型是“全量数据导出”,来源IP显示的是公司办公网段——那台废弃跳板机的地址。他在手机上翻了翻,找到那天帮小陈弄的另一个入口,那个入口权限更小,只能看操作日志。
他点进去。日志拉出来,从下午三点零七分开始,有人在跳板机上执行了一串命令。那串命令很长,但赵东升看了一眼就知道在干什么——先把数据库的冷备份压缩,然后开了外网端口往外传。传输的对象IP他没见过,是个境外地址。
他截了图,又把那串命令全文复制,存到一个加密笔记里。
然后他重新走到门口,把门链摘了,门打开。
刘总监站在门口,手机攥在手里,屏幕还亮着,显示在和谁通话。“……他说他开门了,我先跟他谈……”
赵东升倚在门框上,没让路。
刘总监挂了电话,压低声音:“东升,你跟我说实话,你是不是动数据库了?”
“没动。”
“那日志里明明白白你的账号——”
“账号是我的,”赵东升说,“人不是我。”
刘总监盯着他,嘴角那个泡一鼓一鼓的。他张嘴,又合上,换了句软话:“行,行,你说人不是你,那监控系统上你进去查了什么?”
“查了谁用我的电脑登录了跳板机。”
刘总监愣了一拍:“……什么意思?”
“下午三点多,”赵东升说,“我去王姐办公室之前,电脑没锁。有人用了我的账号,从我的机器登录了那个废弃的跳板机,往外导了数据。我下班之前改完脚本去打卡,那段时间也有空档。你们谁都能碰我工位上的电脑,你问问你们技术部的人,谁没有我电脑的开机密码?”
刘总监嘴唇动了动。他想说点什么,但赵东升看见他眼珠子往右上角转了一下,那个动作他太熟了——刘总监每年评绩效的时候会这样,他在算。
“那个跳板机……哪台?”刘总监问。
“半年前你批的那个测试通道,我跟陈默搭的,你说用完了就关,关了没有?”
刘总监不说话了。
赵东升把手机屏幕转过去给他看,截图上那串命令明明白白。刘总监凑近来看,鼻尖快贴到玻璃面上。他看完,退了半步,把羽绒服领子往下拉了拉,露出半边涨红的脸。
“这事不是我做的,”赵东升把手机收回兜里,“但谁做的,你大概心里有数。”
走廊里安静了三秒。旁边那户的狗在门后面低吠了两声,又停了。
“你进来吗?”赵东升侧开半个身位。
刘总监站在门口,犹犹豫豫地跨进来。玄关窄,他肩膀差点碰到鞋柜,一双沾了泥的皮鞋踩在瓷砖上,印出两个灰印子。他在客厅中间站住,看了一眼茶几上扣着的手机,又看了一眼沙发上那条搭着的毛巾。
“王姐知道了吗?”赵东升问。
“她……”刘总监顿了一下,“她跟CEO在开会。”
“在开会。服务器被攻击了,数据被导出去了,CEO在开会,你在我家。”
刘总监的脸色变了:“赵东升,你少在这儿阴阳怪气。公司出了这么大的事,我来找你谈,是给你面子。”
“801块的面子?”
刘总监的手攥紧了又松开:“年终奖的事……那是今年的绩效方案,跟今天的事没关系。”
“那你来干什么?”
“我来问你——你手里有没有备份?”
赵东升看着他的眼睛,没说话。过了大概五秒钟,他开口:“什么备份?”
刘总监往前迈了半步,鞋尖几乎碰着赵东升的拖鞋。他声音压得更低了,但嗓子还是劈着的:“半年前那个通道关掉的时候,你跟陈默做了一个镜像备份,那台机器的硬盘上有全套的核心业务数据冷备。机器你俩搭的,陈默说你肯定留了一份副本。你把那个副本拷到哪儿了?”
赵东升没动,他后背贴着沙发扶手,两只手插在卫衣兜里,表情没变。他脑子里转了一下——那个镜像备份他的确做了,但那是项目需要的正常流程,他拷在自己移动硬盘上,硬盘现在就在电脑桌第二个抽屉里。
他没说。
“你交出来,”刘总监说,“我跟上面说你全力配合,这事咱们能往小里处理。”
“怎么小里处理?”
“你的年终奖,我帮你找财务那边想办法调到B档,年底补给你。”
赵东升笑了一下。那个笑很浅,嘴角往上提了不到一厘米。“昨天你签C的时候,怎么没想给我调到B?”
“昨天是昨天!”
“今天数据丢了,你能调了。”
刘总监的牙咬紧了,颧骨那块肌肉绷着。他站在那里,两手垂在身体两侧,指头一下一下地蜷,像在数数。手机屏幕又亮了,他低头看了一眼,抬起来时眼里的血丝更重了。
“CEO在找你,”他说,“他说让你接电话。”
“我不接。”
“赵东升!”
“我不接怎么了?”
刘总监腮帮子鼓了一下,呼出一口气。他转过身,往门口走,鞋在玄关那儿蹭了一下,没回头:“你等着。”
门带上了,砰的一声。走廊里传来脚步声,然后是电梯铃响。
赵东升站在客厅里,低头看了一眼自己的手机。屏幕上又跳出来一个陌生号码,归属地是北京。他没接,等它震完了,才把手机翻过来,屏幕朝下搁在茶几上。
他走到电脑桌前,拉开第二个抽屉。那块银灰色的移动硬盘躺在角落里,数据线缠在上面。他伸手摸了一下,金属壳是凉的。
然后他把抽屉推回去了。
沙发上的手机又开始震。这次不是电话,是微信语音通话。屏幕上的名字是“陈默”。
他点了接听,还没开口,对面声音就炸过来了:“东升,刘总监是不是去你家了?”
“走了。”
“你先别——”陈默那边背景音嘈杂,像在户外,风声呼呼的,“你先别把那个硬盘交出去,那个东西——”
“我知道。”
“你不知道!下午出事的时候,服务器上的入侵日志被人动过手脚了,从我这儿看,执行命令的时间戳跟工位摄像头拍到你离开的时间对不上。有人故意栽到你头上,把时间改前了——”
赵东升的拇指按在音量键上,把声音调大了半格。“谁改的?”
“……我不确定。”陈默的声音忽然压下去,风声中他吸了口气,“但我查了一条日志,那个篡改操作是今天中午十二点零七分做的,操作账号……是王姐的。她怎么会有运维权限?”
赵东升握着手机,站在电脑桌前没动。窗帘没拉,窗外对面楼有一户灯亮了,暖黄色的光斜着投进来,在地板上拉了一条细长的影子。
他低头看了一眼那个抽屉。王姐。中午十二点零七分。她那时候正在给他准备那张801块的年终奖方案。
“硬盘还在吗?”陈默问。
“在。”
“东升,你千万别——”
“陈默,”赵东升打断他,“你跟我说句实话。那个境外IP,你认不认得?”
电话那头安静了两秒。风声还在,但人声停了。
“……东升。”
“你说。”
“那个IP,”陈默的声音忽然变得很平,像在念一个他不想念的词,“是我半年前辞职的室友。他走之前问过我,公司的数据安全做得怎么样。我以为他只是闲聊。”
赵东升把手机换到另一只耳朵上,左手伸下去,拉开了第二个抽屉。
银灰色的硬盘躺在那里。
“他现在人在哪儿?”赵东升问。
“不知道。”陈默说,“他拉黑我半年了。”
窗外那盏暖黄色的灯灭了。赵东升站在暗下来的房间里,手机屏幕上有一道裂纹他没注意过,从左下角一直延伸到听筒的位置。
他听见陈默在电话那头说了一句话,风太大,他没听清。他问:“你说什么?”
陈默说:“我说——你那个硬盘里,装的不只是公司的数据。”
赵东升的手指停在硬盘壳上,没拿起来。“还装了什么?”
“你记不记得,”陈默的声音很低,带着犹豫,“有一次你加班太晚睡着了,我帮你关电脑的时候,你桌面上有一个打开的文件夹,叫‘备份-个人’。我以为是你自己的东西,没动。后来我搭那个跳板机的时候,发现那个文件夹的路径指向了同一个物理磁盘。”
赵东升想起来了。那个文件夹里是他三年来的工作笔记和项目方案,还有一些自己写的脚本工具,跟公司业务数据混在同一块硬盘上,因为当时懒得分区。
他正要开口,手机屏幕上弹出一条新消息,来自刘总监,文字只有一行字:“CEO说,如果你不接电话,明天上午九点公司会议室见。全体管理层都在。”
赵东升盯着那行字看了一会儿,然后抬手把微信语音挂断。他在黑暗中站了大概三十秒,拇指在屏幕上划了划,翻到通话记录里那个北京号码。
他没拨。他退出通话记录,打开了手机相册,往下翻到三个月前的一张照片——公司团建那天拍的,行政部何姐拍完群发到所有人。照片里王姐站在刘总监旁边,两人侧着头说话,李萌端着饮料站在他们身后,表情有点紧张。
照片角落里有一个人影被虚化了,但赵东升认得那个体型。那是陈默的室友。他当时也在团建现场。
赵东升把照片放大,再放大,那个人的脸糊成了一片像素格。但他记得那张脸。半年前那台跳板机搭完的第二天,陈默带了一个人来办公室喝茶,介绍说是“我室友,搞安全的”。
那个人端起杯子的时候看了一眼赵东升的电脑屏幕,看了大概两秒。
赵东升把手机锁屏,扔在沙发上。他走进卧室,从衣柜最上面一层扯下来一件厚外套。
门铃又响了。
第3章
他没急着开门。赵东升站在卧室门口,手机揣进厚外套兜里,拉链拉到顶,手指勾了一下衣领。门铃在响第三遍的时候他才迈步,穿过客厅走到玄关,看了一眼猫眼。
外面站着三个人。何姐站在最前面,后面半步是技术总监老周,老周旁边缩着一个穿深蓝色夹克的年轻男的,脸熟,是运维组新来的实习生,叫苏畅还是什么来着。何姐手里攥着一个文件夹,老周双手插裤兜,苏畅低着头在看手机。
赵东升把门打开了。
何姐脸上堆着笑,那种笑她跟客户打电话的时候用得最多,嘴角咧得适中,眼底褶子不动。“东升啊,打扰了,刘总监说你一个人在家,我们顺道过来看看你。”
“你来得挺顺。”赵东升让开门口,“何姐你们进来坐。”
三个人鱼贯而入。老周进门的时候看了他一眼,那眼神没什么内容,只是飞快地扫了一下他脸上的表情,然后别开了。苏畅跟在最后面,鞋在门垫上蹭了三下才跨进来,全程没抬头。
何姐没坐沙发,她站定在茶几前面,把文件夹搁在膝盖上翻开。赵东升看见里面夹着几张打印纸,最上面一张是公司内部通报的模板。
“东升,”何姐抬起头,“我知道今天发生了很多事,咱们公司数据库的情况你也看见了。我跟CEO开完会了,他让我来跟你谈,他问了你几个问题要我转达。”
“你说。”
“第一个问题,”何姐声音放得很柔,“你下午四点左右登录监控系统,查的是什么东西?”
“查谁动了我的账号。”
何姐手上的笔停了一拍:“你的账号怎么了?”
“下午三点多有人从我工位的电脑上登录了半年前废弃的一个跳板机,用我的账号进了核心数据库,往外导了数据。我下班前发现了,上线查来源。”
老周在旁边插了一句:“那个跳板机谁搭的?”
赵东升转头看他:“我跟陈默。你批过的项目,半年前的测试通道。”
老周抿了嘴,没接话。何姐看了他一眼,又转回来:“那你查到的结果是什么?”
“来源IP是我的办公机,时间戳被人动过。操作的原始时间跟摄像头拍到我离开工位的时间之间有差距,被人往前调了。”
“你凭什么说被调过?”
“陈默给的日志。他从运维后台看了原始记录,篡改操作是中午十二点零七分做的,账号是王姐的。”
客厅里静了一下。苏畅终于抬起头来,他手机屏幕还亮着,上面是公司的报警平台界面,红色警报还没消。他看着赵东升,嘴唇动了动,何姐瞪了他一眼,他把头又低下去了。
何姐合上文件夹,那个动作很轻,但纸张碰在一起的啪嗒声在安静的客厅里格外响。她说:“东升,我们不说这些了。CEO让我转达的意思是——你把那块硬盘交出来,公司不追究你任何责任,离职流程给你走N加1,年终奖按B档算,补发差额。今晚的事就这么翻篇。”
赵东升看着她:“硬盘里有什么?”
“你问我?”何姐笑了一下,“硬盘是你自己拷的,你应该最清楚。”
“我清楚的是半年前项目备案的镜像备份,”赵东升说,“但陈默刚才电话里跟我说了一件事,我那个硬盘里还有我个人的文件夹。何姐,你们要的是哪个?”
何姐的笑容僵了半秒,然后重新长出来:“当然是公司的数据备份,你个人东西我们没兴趣。”
“那王姐为什么要篡改操作日志?”
何姐不笑了。她站直了,把文件夹夹在胳膊下面,转过头跟老周交换了一个眼色。老周往前迈了半步,把赵东升和何姐之间那点距离挤没了。
“赵东升,”老周开口了,声音低得像砂纸蹭铁皮,“我直说了吧。今天下午四点到五点之间,公司数据库共被导出存量数据约2.3个T,内容包括近三年的全部客户合同、产品源代码、还有今年所有项目的投标底价。这些数据如果流通到外部,公司今年全年的业务规划就废了。”
“嗯。”
“你那个硬盘里有一份完整的冷备份,”老周说,“这是目前公司唯一能恢复数据完整性的副本。如果你不交出来,CEO的意思是按商业秘密泄露立案。”
赵东升靠在沙发扶手上,两只手都插在兜里,左手手指碰着手机壳边缘。“你们立案的依据是什么?”
“服务器上你的账号日志——”
“那个日志被人改过。”
“改不改的——”老周的声音高了半度,“现在所有人看到的记录就是你的账号从你的机器上登录了跳板机,跳板机往外传了数据。你的工位摄像头拍到你在下午三点三十五分左右离开了工位,而数据导出命令的执行时间,被改成三点四十分。”
赵东升皱了皱眉:“改成?”
老周顿了一下,脸上的横肉抽了抽。他意识到自己说漏了一个词,但收不回来了。何姐在旁边咳了一声。
赵东升看着他:“你知道时间被改过?”
“你……”老周把视线别开了,“你听错了。”
“我没有。”赵东升从兜里把手机抽出来,翻开相册,找到陈默发来的那条截图——篡改操作日志的时间戳清清楚楚,账号王姐,时间十二点零七分。他把屏幕亮给老周看。“你跟我说改不改的,你们自己人改的,然后来管我要硬盘?”
何姐往老周那边退了一步,老周盯着那张截图看了三秒钟,腮帮子咬了一下。
苏畅忽然说话了,声音很小,像从嗓子眼里挤出来的:“周总……那个截图的格式跟咱们后台的日志格式对得上,是真的。”
老周回头瞪了他一眼。
赵东升把手机收回兜里。“我不给。”
何姐脸拉下来了,文件夹重新张开,她翻到第二页,那是一份打印好的协议书,一行字——“关于公司内部数据安全事件的个人协查声明”。下面有公司公章,还有CEO的签名,赵东升看了一眼日期,是今天的,下午六点签的。
“东升,”何姐把那份声明放在茶几上,“你签了这个,今晚的事就过去了。上面写的是你主动配合调查并提供备份数据,公司不予追究。你不签——”
“不签怎么了?”
“不签我这儿就帮不了你了。”何姐把笔搁在声明上面,笔帽没拔。“CEO让我带一句话——他说,年终奖的事是行政流程上的疏漏,他可以亲自跟你道歉。但是数据的事,不是他一个人说了算的。股东那边要看结果。”
赵东升低头看着那份声明。笔是黑色的,晨光的中性笔,公司行政标配,笔杆上还贴着一个小小的公司logo贴纸。他伸出手,把笔帽拔了,在声明右下角的签名栏里,写了三个字。
他把纸推回去。何姐低头一看,脸色顿时变了。
上面写的是:“我不签”。
何姐把纸折起来,捏在手里,指节发白。“赵东升,你这是要跟公司对着干?”
“我没对着干。”赵东升说,“我要求一个调查。谁改的日志,谁导的数据,谁删的监控录像,清清楚楚查一遍,查完了该交什么我交什么。今天下午之前我是全公司最晚走的人之一,我交出去的东西从没出过差错。你们凭一个被改过的日志就要我背锅,我不认。”
老周喉咙里发出一个奇怪的声音,像是什么话堵在嗓子眼里没出来。他往前走了一步,近到赵东升能闻见他外套上那股烟味,老周平时不抽烟,今天抽了不少。
“赵东升,”老周压低声音,“你知不知道你现在手里那个东西,除了我们之外,还有人在找?”
“谁?”
老周没直接回答。他看了一眼旁边的苏畅,苏畅把手机翻过去给他看,屏幕上是一个外网论坛的帖子。赵东升瞥了一眼,帖子里明晃晃写着公司名字的缩写,后面跟着一行字——“可出全套业务数据,带源代码及底价标书,感兴趣私。”
发帖时间是今晚七点十四分。发帖人的IP归属地是境外,但下面有人回复了一个地理位置标签,定位在国内,在东边某座沿海城市。回复人的账号头像是灰色的,昵称是一串乱码。
赵东升把那个昵称记下来了。他看着老周:“谁在卖?”
“我不知道,”老周说,“但你如果不把备份交出来,这个帖子里卖的东西就是唯一的副本。到时候数据流到市场上去,公司追责追的不只是那个发帖的。追的是最后一个保管副本的人。”
“你们有摄像头。调出来。”
“下午四点到五点的监控——”何姐插嘴,“机房那条走廊的摄像头坏了,从三点四十五分到五点之间的录像全是雪花。”
赵东升看着她:“坏了?”
“坏了。”
“王姐中午改日志,你们下午四点监控坏。坏得真巧。”
何姐抿紧了嘴,没接茬。老周把苏畅的手机拿过去,塞回他兜里,拍了拍他肩膀让他往门口站。苏畅缩着脖子退到玄关去了。
客厅里只剩何姐、老周和赵东升三个人。何姐把那份被他写了“我不签”的声明折了两折,塞进夹克内袋里。
“东升,我再问你一次,”何姐说,“硬盘在哪儿?”
赵东升把手从兜里抽出来,两只手空着,掌心朝上翻了一下。
“我没说不在我这儿,”他说,“但我没说不给。”
何姐眉毛挑了一下。
“我要见一个人,”赵东升说,“明天上午九点,那个会我去。但是我有条件——你们要把王姐叫到场,把她的后台操作权限日志拉出来,公开过一遍。如果那条篡改记录跟她没关系,当场我交硬盘。如果有关系——”
赵东升停了一下,他看着何姐的眼睛,声音不高不低:“那就不是我的问题了。”
何姐愣住了。老周往后退了半步,鞋后跟磕在茶几腿儿上,吓了他一跳。两个人站在那儿互相看了一眼。
赵东升走向门口,拉开大门。冷风从楼道里灌进来,苏畅往旁边缩了缩。
“你们走不走?”
何姐拿起文件夹往外走。老周跟在她后面,走到门口的时候回头看了赵东升一眼,嘴唇动了动,没出声,走了出去。
门关上。赵东升转身靠在门板上,把手机掏出来,翻到通讯录里陈默的名字,拨了过去。电话响了一声就接了。
“陈默,你那个室友,你最后一次见他是什么时候?”
“公司团建那次。”
“他当时跟王姐说过话吗?”
电话那头沉默了三秒。陈默的声音变得很轻:“说过。他们俩在外面阳台上单独待了大概十分钟。我当时以为王姐在跟他说公司的事,没在意。”
赵东升闭上眼睛。阳台。十分钟。团建那天天气好,行政部安排的烧烤在院子里,所有人都坐在外面。王姐跟一个外人去阳台单独待了十分钟,按她的性格,那不可能只是闲聊。
“东升,”陈默说,“还有一个事。我刚才又查了一下那个境外IP的历史记录,发现它跟公司内部一个账号有过两次联通记录。那个账号是……”
“谁的?”
“……李萌的。上个月,两次。”
赵东升睁开眼。走廊里电梯叮了一声。他看了一眼手机屏幕,时间刚过晚上九点半。
他伸手拉开门链,把外套拉链拉到顶。手机屏幕顶端弹出一条短信,发件人是他没存的号码,内容只有一行:“我知道硬盘里有什么。明天见了面,我告诉你是谁指使的。”
赵东升盯着那行字看了五秒,然后锁屏,把门带上了。
楼道里的灯全灭了。他在黑暗中站了一会儿,听见电梯厢下行时钢丝绳转动的嗡鸣声,越来越远,越来越远,最后什么也听不见了。
第4章
电梯门开的时候,赵东升看见一个穿灰色帽衫的人站在大堂的盆栽边上。那人半张脸藏在兜帽里,手插在衣兜,下巴缩着。大堂保安在值班台后面打瞌睡,电脑屏幕的光映在他脸上。
赵东升走过去,那人从兜里抽出手,举起一部手机,屏幕上亮着一条短信——跟赵东升收到的那条一模一样。
“你发的?”赵东升问。
“嗯。”那人把兜帽往后掀了一点,露出半张脸,颧骨高,下巴窄,左眼下方有一颗痣。赵东升认出来了。团建那天阳台上跟王姐站在一起的,陈默那个室友。
“你叫什么?”
“罗征。”
“上来。”
赵东升转身往电梯方向走,罗征跟在后面。两个人没再说话,电梯门关上,一层层往上走,密闭空间里只有换气扇嗡嗡响。赵东升靠在轿厢壁上看着罗征的后脑勺,那人兜帽又拉上去了,整个人缩着,像一只冷了的鸟。
进屋。赵东升没关门,把客厅灯打开,站到沙发边。“说。”
罗征站在茶几对面,把兜帽摘了,露出一头乱糟糟的短头发。他看上去比团建那天瘦了一圈,颧骨下面有凹陷。“硬盘里那部分东西,你还没交出去。”
“你消息挺灵通。”
“你应该猜到我是来干什么的了。”罗征从裤兜里掏出一个U盘,搁在茶几上,银色的小方块跟茶几下垫着的灰布一比格外扎眼。“这里面是通话录音和银行转账记录。你跟何姐见面的时候她跟你说摄像头坏了,对吧?坏的不是摄像头,是录像被提前删掉了。删录像的人不是王姐,是李萌。”
赵东升没有立刻伸手去拿那个U盘。他坐进沙发里,后背陷进靠垫,两只手交叠搭在膝盖上。“你跟李萌什么关系?”
“她是我前女友。”
“她帮你进的公司?”
罗征没否认。他拖了一把餐厅椅子过来,反着坐,胳膊搭在椅背上。“半年前我让陈默带我去你们公司,不是为了喝茶。王姐私下找了李萌,让她帮忙物色一个技术背景的人做点事情。李萌找到了我。”
“什么事?”
“拿数据。”罗征的语速很平,“王姐说她手里有一些公司的东西,需要一个外人经手。她给我开了三十万,让我做一个外网通道,把数据转出去。通道做完了,数据也转了,但转完以后她没给钱。她说要等后续,后续过了半年还是没动静。”
赵东升看着他:“你今天来找我,是因为钱没拿到?”
“不全是。”罗征左手摸了一下右手的虎口,那个动作像是习惯性的,“我今天下午收到一条消息。王姐让我今晚七点半之前把通道彻底清掉,把所有痕迹抹干净。我下午四点开始操作,但她不知道的是——我往外转数据的时候,顺手多复制了一份。”
“你手里的那一份?”
“你手里那一份,也有一部分。”罗征指了指赵东升电脑桌的方向,“你的硬盘上那个‘备份-个人’文件夹里,混了一部分我转出去的原始数据。因为当时陈默做跳板机的时候,路径映射写错了,把我导出队列里的一个批次自动写进了你的硬盘备份路径。你一直在不知情的情况下,保留了那个批次。”
赵东升坐在沙发上,脑子里飞快地过了一遍。半年前搭跳板机那几天,陈默做路径映射的时候他在旁边看了,确实有一行配置写岔了,当时陈默说“回头改”,后来谁也没改。那批被写错路径的数据,就在他移动硬盘里躺了半年。
“那是什么数据?”他问。
“你公司去年的股东分红内部分配方案,还有一份高管薪酬协议。”罗征把手机掏出来,滑开屏幕翻了一会儿,翻出一张照片,转过屏来给赵东升看。照片上是一份PDF文件的截图,被遮了,但下面的表格清清楚楚列着名字和数字。王姐的名字在上面,后面跟着一个六位数。刘总监的名字也在,后面跟着另一个六位数。CEO的名字在第一个,后面跟着一个七位数。
“这份文件如果流出,”罗征收回手机,“你们公司内部就炸了。因为跟对外披露的财报对不上。”
赵东升看着那张照片没说话。他脑子里那些散着的点开始往一起凑——王姐的午餐时间修改日志、李萌的账号联通记录、何姐带人上门逼他交硬盘、刘总监从半夜的慌乱到今天晚上的坚决要东西。表面上是数据泄露,底下的扣子在高管薪酬上。
“王姐让你拿这份数据,是给谁的?”
罗征在椅子上换了个姿势,椅背发出咯吱一声。“不知道。她让我往外传的IP是境外一个中转服务器,中转之后去了哪儿我就查不到了。但是——她让我清通道的时候,提了一个人名。”
“谁?”
“陈默。”
赵东升的左手指头收紧了。“陈默怎么了?”
“她说陈默知道得太多了,让我清完通道以后给陈默的机器上放点东西。”罗征说这话的时候眼睛是看着茶几面的,“她给我的指令是,在陈默的工作目录里丢一个脚本,脚本会自动往公司的生产环境里写几条错误配置,看起来像陈默操作的。”
“你放了吗?”
罗征抬起头来,跟赵东升对视了两秒。“没有。”
“为什么?”
“因为我复制数据的时候,在通道里留了一个后门。那个后门能记录谁在什么时候用什么账号登录过通道。我查了一下今年以来的登录记录,有两笔不是我的。两笔都来自同一个账号。王姐的。”
赵东升把那个U盘拿起来了,银色的金属壳凉得像一小块冰。他攥在掌心里,没插手机。“你跟李萌的关系,跟今天的事有什么关联?”
罗征的右手又摸了一下虎口,这次动作更明显了,像是在搓什么东西。“李萌上个月找过我一次。她说王姐让她帮忙在公司里盯一个人——就是你。王姐想知道你平时加班到几点、出差频率、带不带移动硬盘上下班。李萌把这些信息报给王姐的时候,用的是公司内部通讯工具。”
“所以你查IP联通记录的时候,查到了李萌的账号跟境外中转服务器有通信。那是她在给王姐传关于我的信息。”
“对。但她不知道那个中转服务器是我搭的。她以为那是王姐的私人云盘。”
客厅里静了好一会儿。赵东升低头看着掌心里的U盘,拇指摩着外壳上一个小小的划痕。他想起了一件事。上个月有次加班,他趴在桌上睡着了,醒过来的时候李萌端着杯咖啡站在他桌边,说“东升哥你睡着了,我怕你着凉给你倒了杯热的”。他当时迷迷糊糊道了谢,把杯子接过去喝了。那天他的移动硬盘就摊在桌面上,数据线连着电脑,灯还亮着。
“李萌翻了你的包。”罗征像是看穿了他的想法,“她跟我说过,王姐让她确认你移动硬盘的容量和型号。她趁你睡着的时候拍的照。”
赵东升把U盘攥紧了又松开。他站起来,走到电脑桌前,拉开第二个抽屉。银灰色的硬盘躺在里面,跟过去半年每一天一样安静。他伸手拿起来,搁在桌面上。
“这个硬盘里,除了公司的镜像备份和我个人的文件夹,还有你写错路径的那一包数据。”
罗征从椅子上站起来,走过来站在他旁边,低头看着那块硬盘。“现在你有几样东西。公司要的完整备份、我要的转账记录和录音、还有他们不想让人看到的高管薪酬方案。”
“王姐知道你来找我吗?”
“不知道。但她让我今晚之前清通道的时候,问了一句——‘那个赵东升的硬盘还在吗?’”
赵东升把硬盘揣进厚外套内侧的口袋里,拉链拉好。他转身看着罗征:“明天早上九点,公司会议室。你来不来?”
罗征把帽兜重新拉上,遮住半张脸。“我来。”
他把椅子推回餐桌底下,往门口走了两步,又停下来,侧过头。“还有一件事。那份高管薪酬协议的签发日期是半年前,签发当天,王姐的个人账户里收到了一笔钱,来自一个离岸公司。那个离岸公司的法人代表姓刘。”
赵东升看着他的背影:“刘总监?”
罗征点了点头,推开大门走了出去。
门关上以后,赵东升靠在电脑桌边站了很久。他把手机拿出来,打开通话记录,翻到陈默的名字,没有拨。又翻到刘总监今天晚上的那通语音,他点开听了第二遍——“赵东升,你知道那些数据值多少钱吗?”
现在他知道了。
他把手机锁屏,在客厅里走了两步。窗外对面那栋楼黑了大半,只有零星几扇窗还亮着。他走到阳台,夜风灌进来,外套内侧那块硬盘硌着肋骨。他伸手隔着衣服摸了一下,硬邦邦的,像一个证据的形状。
手机震了。屏幕上弹出一条微信,来自一个他半年没联系过的HR同事,那姑娘去年年底离职了,临走前跟他吃过一次离职饭。消息只有一行:“东升哥,刘总监今天下午五点让王姐把去年全年的人力成本表锁了。他说要重新核对。但那套表半年前就封存了,你觉得他在找什么?”
赵东升盯着那行字看了很久。然后他打了一行字发过去:“你离职的时候,有没有拷过什么备份?”
那边回得很快:“拷了。但那个备份里没有高管那部分。那个表到半年前就封存了,之后的更新只有三个人能看——CEO、刘总监、王姐。”
赵东升把手机塞回兜里,转身离开阳台。他走到客厅中央,灯还亮着,茶几上罗征留下的那个U盘还搁在灰布垫子上。他弯腰拿起来,跟移动硬盘放在同一个口袋里。
然后他关了灯。黑暗中他坐在沙发上,外套没脱,等着天亮。
手机屏幕在黑暗中亮了一次。凌晨两点十一分,陈默发来一条消息,两个字:“保重。”
赵东升没回。他把手机翻过去扣在膝盖上,两只手交叠搁在上面,闭着眼睛。
天亮之前他醒了一次,窗帘缝里漏进来灰蓝色的光。他坐起来揉了揉脸,把口袋里的两样东西摸了一遍确认还在,然后站起来去厕所洗了一把冷水脸。
镜子里的脸跟自己隔了半宿,眼底下有一层淡青色。他对着镜子把外套拉链拉到最上面,兜帽从抽屉里翻出来扣在头上,像罗征那样把自己裹紧了。
他拿起手机,七点三十一分。短信箱里有一条新消息,发送时间六点五十二分,发件人是何姐:“九点。会议室。CEO点名要你到场。”
赵东升把短信滑掉,推开门走进了走廊。
电梯下行的时候他看着楼层数字一层一层跳。手机贴在外套内袋里震了一下,他没看。又震了一下,又没看。第三下他掏出来扫了一眼,屏幕上三条未读,分别是陈默的“你在路上了吗”、罗征的“我到了”和一个陌生号码的消息。
那条陌生号码只有一句话:“别把硬盘给任何人。等你来,我告诉你谁签的薪酬协议。”
发件时间,七点五十八分。
赵东升把手机锁屏,电梯门开了。大厅外面晨光发白,保安换了一个人坐在值班台后面,看了他一眼没说话。
他推开玻璃门走出去,风兜头灌进来,外套下摆掀了一下。他伸手按住胸口那块硬邦邦的形状,往公司方向走过去。
第5章
公司大堂比平时安静。前台小张坐在工位上,电脑屏幕亮着,但她没在看屏幕,两只手交叠搁在桌面上,像被人按了暂停。赵东升走过的时候她张了一下嘴,没出声。电梯门合上的时候,他从反光的金属门上看见自己的脸——兜帽遮了半张,眼睛下面有没睡透的痕迹,嘴角平着。
电梯在十楼停下。门开的时候走廊里全是人。行政部三个女的站在茶水间门口端着杯子,看见他的一瞬间,三个人同时把头转过去了,但端着杯子的手没动。QA大刘靠在走廊尽头的窗台边,手里夹着一根没点的烟,看见他走过来,往墙边让了半步。
会议室的门敞着。长桌对面坐了五个人。正中间是CEO张立成,灰西装,头发往后梳得一丝不苟,面前摊着一个打开的笔记本电脑,屏幕光打在下巴上照出一层青。他左手边是王姐,右手边是何姐。刘总监坐在最靠门的位置,看见赵东升进来,手指在桌面上敲了一下,停了。
王姐面前放着一个保温杯,盖子拧开了没盖上。赵东升走进门的时候她伸手把杯子盖拧上了,拧得很紧,拇指在盖子上用力按了一下。何姐没抬头,在手机上打字,打完把手机翻过去扣在桌上。张立成抬起头,看了赵东升一眼,把电脑屏幕啪地合上了。
“坐。”张立成下巴朝对面的椅子抬了一下。
赵东升走过去,拉开椅子坐下。椅子腿在大理石地面上划出一道刺耳的声响,在寂静的会议室里格外突兀。他把外套拉链拉开一半,露出里面的灰色卫衣,手插在两侧口袋里,左手的指腹贴着那块硬盘的边缘。
张立成双手交握搁在桌上。“赵东升,你知道今天叫你来是为了什么。”
“知道。”
“那咱们不绕弯子。”张立成侧了一下头,何姐把一份文件从桌面推过来,是昨天晚上那份“个人协查声明”,右下角“我不签”三个字还明晃晃地留在上面。张立成看了一眼那行字,没碰那张纸。“这是你写的?”
“是。”
“我们昨晚查了内部系统。”张立成的语速很慢,每一个字都像是提前量过的,轻重缓急分得清清楚楚,“陈默的运维账号昨天下午三点五十分执行了一条清缓存指令,指令里带了一个参数错误,导致生产环境配置表被改写。我们查了操作日志,那条指令的来源IP……是你的工位。”
赵东升看着他没有动。“陈默账号执行的操作,来源IP是我的工位?”
“对。”
“陈默在哪儿?”
“在配合调查。”张立成把电脑重新掀开,转了个方向让赵东升看屏幕上的日志截图。上面确实有一条指令,账号是陈默的,IP是赵东升工位那台机器的地址,执行时间下午四点零八分。操作内容是写了一个错误的缓存过期时间,直接导致生产环境在后续一小时内发生了三次服务降级。
赵东升盯着那条日志看了大概五秒。然后他开口:“这条日志,跟昨天王姐篡改的那一条,时间相差五分钟。篡改日志的账号是王姐,这一条的执行时间刚好卡在篡改窗口里。你没查一下王姐的账号吗?”
张立成的手指在键盘上停了一下。“王姐的账号权限不该有运维操作记录。我们查了权限列表,她没有访问生产环境的授权。”
“那何姐昨晚带人去我家的时候,亲口承认了监控录像四点以后是雪花。”
何姐的头抬起来了,语气比昨晚硬了一层:“我说的是机房走廊摄像头坏了,不是监控录像全坏。”
“你告诉我走廊摄像头三点四十五分到五点全是雪花。陈默账号那条指令的执行时间下午四点零八分——你跟我说你要怎么根据一段雪花的监控确认坐在我工位上操作的人是我?”
何姐张了张嘴,王姐在旁边伸手碰了一下她的胳膊肘。那个动作很小,但在空荡荡的会议室里所有人都看见了。张立成的视线从何姐身上挪到王姐身上,停了两秒,没说话。
赵东升把左手从兜里抽出来。掌心朝上,搁在桌面上。“我手里有一块硬盘。公司要的镜像备份在上面,但上面不只有公司的数据。还有一份半年前的高管薪酬协议,和一份今天凌晨我收到的录音文件。录音里提到了一笔转账——半年前公司某位高管通过一个离岸公司往王姐的个人账户里打了钱。”
王姐的脸白了一下。那种白不是慢慢变的,是刷地一下,整个人脸上的血色在不到一秒之内退干净了。她伸手去拿保温杯,拧了一下盖子,盖子没拧开,她用力拧了第二下,还是没开。她把杯子放下了。
张立成的脖子微微僵直了。他两只手从桌面上收回去,搁在膝盖上。“什么高管薪酬协议?”
“你签的。”赵东升看着他的眼睛,“半年前那份跟对外财报对不上的分红方案,上面写着你的名字后面跟着一个七位数的数字。王姐的名字刘总监的名字也都在上面。公司对外披露的年度报告里没有这部分,因为那笔钱从公司账上出去以后转了三个账户才到了私人手里。”
会议室里安静了很长时间。空调出风口呼呼地响着,纸页被气流掀动的声音像一只蛾子在扑翅膀。
刘总监从座位上站起来了。椅子往后退了半尺,金属腿刮地板的声音比刚才赵东升拉椅子还刺耳。“赵东升,你——”
“我什么?”赵东升没转头看他,“你昨晚去我家的时候跟我说,如果我把硬盘交出来,年终奖调到B档补发给我。今天早上我收到的信息说那份协议的签发日期半年前,当天王姐的个人账户收到了一笔钱,来自一家姓刘的法人代表开的离岸公司。你告诉我,姓刘的法人代表是哪个刘?”
刘总监站着,两只手撑在桌面上,肩膀弓着像一只准备扑出去的兽。但他没扑。他的嘴唇动了两下,发出来的声音卡在喉咙里:“那是……那是王姐找的投资方。”
“投资方给公司行政总监个人账户打钱?这个投资方的尽职调查你们怎么做的?”
王姐突然开口了,声音尖:“赵东升你少在这儿血口喷人!你硬盘里有什么我们不知道,你拿着一个来路不明的东西在这儿凭空捏造——”
“来路不明?”赵东升把手机掏出来,滑开屏幕,翻到罗征凌晨发来的转账截图。截图上的账户信息清清楚楚,王姐名下的银行卡号、收款金额、汇款方公司的注册地,还有一个法人代表的名字。他把手机搁在桌上,屏幕朝上推过去,推到桌子正中间。
张立成第一个凑过去看了。他看完以后往后靠进椅背里,脖子上的筋蹦出来一条。刘总监没有坐回去,他站着从侧面看了一眼那张截图,看完以后他慢慢坐下了,椅子发出一声闷响。
王姐没看。她低头看着自己的保温杯,两只手都搁在杯盖上,指关节泛白。
张立成把手机推回来。“这张截图哪来的?”
“昨晚有人送来的。那个人的身份我不说了,但他说了一句很重要的话——王姐让他建外网通道往外传数据,通道搭完了钱没给。他扣下了一份副本,今天上午他说他会过来。他人在楼下。”
何姐猛地转头看向张立成。张立成的右手拇指按了一下太阳穴,那个动作很轻,但赵东升看见了。“让他上来。”
“等一下。”赵东升把手机收回来,“让他上来之前,我想先说另一个事。陈默账号那条操作记录——你们查了执行时间是被篡改的,但你们没查是谁改的。篡改操作今天凌晨还有一笔。凌晨三点二十分,有人用刘总监的权限登录了日志后台,把陈默那条指令的时间往前又调了四分钟,精确对准了我昨天下午去茶水间的时间段。你们查一下刘总监的操作记录就知道我在说什么。”
刘总监的右手从桌面上滑下去了,垂在椅子侧面。他没有站起来,也没有说话,他整个人像被压进椅背里,脸上的表情褪成了空白。
张立成把电脑屏幕重新转回去,十指落在键盘上噼里啪啦打了一串命令。会议室里的人都没出声,只有键盘声在响。他盯着屏幕看了半分钟,然后他抬起头来,看着刘总监。
“你的账号今天凌晨三点二十二分登录了日志管理后台。”张立成的声音变了,那种慢条斯理的从容从缝隙里漏出去了,剩下一种冷冷的东西,“你跟我说你昨晚八点以后回家了。”
刘总监没接话。他低头看着自己的膝盖,手指在裤腿上一下一下地刮,像在擦什么东西。
门被敲了两下。
罗征站在门口,帽兜摘了,灰色帽衫的拉链拉到锁骨位置。他手里捏着一个信封,薄薄的,侧面没封口。他走进来,把信封放在长桌空着的那一头,然后退到墙边靠着,两只手插回兜里。
信封里滑出来几张纸。第一张是银行流水单,第二张是王姐跟一个境外邮箱的通信记录截图,第三张是那份高管薪酬协议的完整PDF打印件,签发日期和签名页都在上面,张立成的签名清清楚楚。
赵东升站起来,把信封里的纸张一张一张抽出来,按顺序摊在桌面上。打印纸在灯光下反着白色的光,上面的黑字像一排排整齐的脚印。
“现在你们还要我交硬盘吗?”
没有人说话。
张立成把其中一张纸拿起来,竖着看了一遍,折了两折,又折了两折,折成一个很小的方块塞进西装内袋里。他站起来,把椅背上的西装外套重新穿上,扣好扣子。他走到门口的时候停了一下,侧过头看了赵东升一眼。
“硬盘你不用交了。”他说,“但那份备份你不能带走。公司需要它恢复数据。”
赵东升没站起来。“恢复数据可以。但我要先把我的个人文件夹拷出来。”
张立成看着他,两秒之后点了点头。他推开门走了出去。何姐跟在他后面,脚步很快,高跟鞋在大理石地面上踩出一串急促的嗒嗒声。刘总监还坐在椅子上没动,两只手搭在膝盖上,像一尊被人忘在角落里的雕塑。
王姐站起来的时候碰翻了保温杯,盖子掉在地上滚了两圈。她没捡,踩着高跟鞋走到门口,肩膀撞了一下门框。
会议室里只剩三个人。赵东升坐在原位,面前摊着那几张纸。罗征从墙边走过来,站在他旁边,低头看着桌面上摊开的证据。
“你把那个个人文件夹拷出来以后,打算怎么办?”罗征问。
赵东升把手机屏幕上的未读消息滑开,看了一眼那条凌晨收到的陌生号码。他按着那个号码拨了回去,响了四声,对面接起来了。
一个女声:“喂。”
“你是?”
“行政部离职那个。我去年走之前备份了一份全部人力成本表。离职饭那天我没来得及给你看,但王姐那天下午找我谈过话,她问我有没有留备份。我说没有。但半年前那份薪酬协议签字那天我正好在打印机旁边,我看了一眼上面的日期。”
赵东升握着手机:“那个日期是什么时候?”
“半年前的十二月十七号。”对面的声音低下去,“那天是周五,张总刚开完董事会出来就签了。第二天,公司人事系统里那份协议底稿被删除,但打印机缓存里还有一份。我拷下来了。”
赵东升闭了一下眼睛。
十二月十七号。那天晚上他加班到十一点,陈默搭跳板机的路径配置写岔了,他的硬盘里自动写进去了那批数据。那批数据从打印机缓存出发,经过陈默的路径映射,最后躺进了他的移动硬盘。半年来他一直带着那块硬盘上下班,坐地铁、去客户现场、趴在工位上睡觉。李萌趁他睡着拍过它的照片,王姐何姐刘总监轮番上门来找它。
他从口袋里把硬盘掏出来,银灰色的金属壳上沾着他外套内袋的绒毛。他看了两秒,把它放回去了。
“罗征,”他侧过头说,“你那个境外IP的通讯记录,能不能导出完整的?”
“能。”
“导出以后发我一份。”
赵东升站起来,把桌上的纸张收拢,折好塞进外套内袋,跟硬盘并排贴着。他往门口走,走到会议室门口回过头看了一眼。刘总监还坐在椅子上没动,背对着他,肩膀微微颤着,不知道是冷还是什么。
他走出会议室,走廊里空荡荡的。小张不在前台了,行政部那三个女的也不在茶水间了。整个十楼安静得像一间关着灯的仓库。
电梯下行的时候他手机又震了。陈默发来一条消息:“我刚从调查间出来。他们没问我别的,就问了一件事——你的移动硬盘最近一个月有没有借给过任何人。”
赵东升回了一个字:“有。”
陈默:“谁?”
赵东升:“李萌。上周她说硬盘坏了借我的拷个东西,拷完就还了。但那十分钟足够她把我的硬盘扇区哈希值拍下来传给王姐。”
电梯门开了。
大堂里站着一个人,背对着他,正在看手机。那人听到电梯门响回过头来。
李萌站在大堂中央,两只手握着一部手机,屏幕上是通话界面。她看着赵东升,嘴唇动了动。赵东升没停步,从她身边走过去的时候他侧了一下头,看见她手机屏幕上的通话记录显示的名字是“王姐”,通话时长四十六分钟。
他推开玻璃门走出去。太阳升得高了,光白晃晃地铺在广场的地砖上。他往地铁站方向走,口袋里的硬盘贴着肋骨,隔着两层布料还是硌得清晰。
手机在兜里震了第三下。他掏出来看了一眼,是罗征发来的完整通讯记录。附件下面跟着一行字:“那个境外中转IP昨天下午三点零七分的入口登录记录里,有一个MAC地址跟你公司内部网段对得上。终端是李萌工位那台电脑。”
赵东升站在地铁口的风里,把手机锁屏了。台阶往下延伸,灯光照在瓷砖上像一条发亮的长河。
他往下走了一步。
第6章
一个月后。赵东升搬完最后一只纸箱,把钥匙搁在鞋柜上,站在空荡荡的客厅里发了会儿呆。暖气停了,空气里有股冷飕飕的味道,窗户开了半扇通风,风掀着窗帘边角一下一下地拍。他拿起手机拍了一张玄关的照片,没有发给任何人,存进了相册里一个叫“旧”的文件夹。
新房子在城西,老小区六楼没电梯,厨房窗户朝东,早上能看到太阳从两栋楼之间升起来。客厅比原来那间小一半,但他一个人住,够用了。搬家那天陈默来了,帮忙抬了三个箱子上楼,喘着气坐在纸箱上喝冰水,赵东升把冰箱插上电,从袋子里摸出两瓶矿泉水,两个人一人一瓶坐在还没拆封的沙发上聊了半个小时。
“公司那边最后怎么处理的?”陈默拧上瓶盖问他。
赵东升想了想。“刘总监辞职了,离职手续办得很快,三天之内就走完了。王姐的事在走司法流程,何姐调去了分公司,张总留任了,但年底董事会要重新评估经营层。”
“张总没动?”
“他把那份薪酬协议主动提交董事会了。”赵东升把水瓶搁在茶几玻璃面上,“我当时在会议室摊开那些东西的时候他就知道留不住了。他主动交出来是止损最快的方法。后面补充披露里把多出来的那部分解释成了‘战略储备金预支’,签了延期发放协议。”
陈默啧了一声。“你呢?”
赵东升从外套内袋里把硬盘摸出来,搁在沙发扶手上。那块银灰色的金属壳已经磨花了,右上角有一道划痕,是搬家路上在纸箱角上磕的。“我的个人文件夹拷出来了。公司的镜像备份我导到了他们IT部的回收服务器上,全程有录像有签字。硬盘清空之前跟他们签了一份免责协议,他们不得就此事再追究我个人任何责任。”
“年终奖呢?”
“补发了。差额打到卡上了。”赵东升拿起水瓶喝了一口,“但那个数字我瞄了一眼,不多不少,正好是C档和B档的差值。原数补的,一分没多。”
陈默冷笑了一声。“真是精算过的。”
“能走就行了。”赵东升把水瓶放下,看着阳台外面灰蒙蒙的天。下午的阳光从云缝里斜着漏下来,照在对面的旧红砖楼上,窗户玻璃反着碎金似的光。“其实我后来想了一件事。如果罗征那天晚上没来找我,如果李萌没拍我硬盘的照片传给王姐,如果我那天去王姐办公室的时候把电脑锁了——任何一个环节差一步,那天坐在刘总监那个位子上辞职的就是我。而且不会有任何人在意。”
陈默没说话。他把空水瓶捏扁了,搁在茶几边角上。“你后来找过李萌吗?”
赵东升摇了摇头。“她隔天就提了离职,人是HR那边办的,我没碰上。走之前给我发了条微信,很长,我没看完。开头是道歉,中间说王姐找她的时候她也没办法,她还在试用期,不配合的话过不了转正。结尾说了句‘对不起东升哥,我知道这三个字没什么用’。”
“你回了吗?”
“回了一句。我说,把人家当枪使的人不会保你。你下次想清楚了再借硬盘。”
陈默拍了一下膝盖站起来,在客厅里走了两圈。他走到厨房门口探头看了看空荡荡的灶台,又折回来。“那个罗征后来怎么样了?”
“他把通道日志全交了。张总那边安排了法务跟他对接,协商处理。他没进司法程序,因为数据传出去以后没造成实际的商业损失——那个境外中转IP被截停了,对方签了数据销毁协议。罗征配合调查的程度比较高,拿了钱没销赃被定为从犯情节。”
“那他在你这儿算什么人?”
赵东升想了想:“算一个告诉我真相的人。他半夜来找我那段我后来反复想过好几遍,如果他那晚没来,我第二天早上去会议室的时候手里只有一份公司要的备份,没有那些转账截图和协议复印件,我就是个硬盘保管员,不是局里的人。他把我从一个替罪羊的位置上拉到了桌对面。”
陈默站在客厅中央,低头看着自己的鞋尖。“那你有没有想过,我那个位置呢?”
赵东升抬起头看他。
陈默的声音不大,但客厅小,字字都听得清楚。“通道是我搭的,路径配置写岔了的是我,你硬盘里那批数据是我亲手写进去的。如果你追究起来,我在这件事里的角色不比李萌干净多少。你那天晚上为什么让我别来了?”
赵东升靠在沙发背上,两只手搁在膝盖上,沉默了一会儿。“你室友走了以后你发现事情不对,你提前给我打了电话让我别交硬盘。篡改日志是王姐做的,但你后来查到李萌的IP联通记录也是真的。你有没有想过,如果你不告诉我那个境外IP的事,我可能到现在都不知道李萌那张照片是怎么拍的。”
陈默把脸别过去了,看着阳台外面,嘴角抿成一条线。
“你没跟他们站一边,”赵东升说,“你只是搭了一条路,没看着人往那条路上走。这两个是不一样的。”
陈默站着没动,过了好一会儿才转回来,眼眶有点红。“硬盘的事……我后来把那部分日志重新导了一份完整的交上去了。通道里所有的操作记录、路径映射配置的每一次修改、包括我写错的那一行,全部导出来了。”
“那很好。”
“东升,”陈默吸了一口气,“我想了想,明年我想换个工作。你能帮我推一下吗?”
赵东升看着他:“你觉得需要我推?”
陈默笑了,那笑里带着一点之前他没见过的自嘲。“我觉得我需要有人跟我说一句,你做的东西没问题。”
赵东升点了一下头。他从沙发上站起来,走到电脑桌旁边,拉开第一个抽屉,里面放着一本新的笔记本。他撕下来一张纸,写了三个字递给陈默。“这是我现在用的招聘平台的邀请码。你自己写简历,写完了发给我看一眼,别的我不替你做。”
陈默接过那张纸折好放进口袋。“成交。”
那天下午陈默走了以后,赵东升一个人把箱子拆完了。碗碟摆进厨房柜子里,衣服挂进衣柜,书塞满了那个靠墙的二手书架。所有东西归位以后太阳已经快落山了,西边的光从厨房窗户照进来,在瓷砖上拖了一道暖黄色的长影。
他坐在沙发上把手机拿出来,翻到相册里那张团建合照,放大看了很久。照片里王姐侧着头跟刘总监说话,李萌端着饮料站在后面,陈默的室友罗征被虚化在角落。这张照片拍的时候距离他收到年终奖短信还有将近三个月,距离他坐在会议室里把一叠打印纸摊开还有更久。但照片里所有人的站位和表情,好像已经把后来的事情都说完了。
他把照片删了。然后他把相册里所有跟公司有关的群聊截图也删了,只留下一个——罗征后来发给他的那条完整通讯记录。他没删,放在一个加密笔记里锁起来了,备注写的不是“证据”,他想了想,打了三个字:“别忘掉。”
为什么留这个?他坐在沙发上问了自己一句。答案浮起来得很慢,但清晰。“如果下次再有人把一块硬盘塞进我抽屉里的时候,我至少知道看一眼里面装的是什么。”
他把手机扔在沙发上,去厨房烧了一壶水。水烧开的时候他站在灶台前,看着玻璃壶里的气泡从底部翻上来,一串接一串浮到水面炸开。蒸汽扑在脸上热乎乎的,他把火关了,倒了一杯,端着走到阳台上。
晚风有点凉,但杯子热着。对面楼的灯次第亮了,橘黄色的小方块一扇接一扇填满窗框。他低头喝了一口水,手机在客厅里震了一下,他没急着去接。等水喝完了,他转身回屋,拿起手机看了一眼。
是何姐发来的,措辞客气得像换了个人:“东升,公司这边IT部想请你做一次线上咨询,关于数据安全流程优化的。按外部顾问标准付费。方便的话回个话。”
赵东升看着那行字。他把手机搁茶几上,没有立刻回。他在沙发上坐下,把那条消息又读了一遍,然后退出去,打开了备忘录。他在上面打了一行字:“有些事做错了就是做错了,覆水难收。”
他盯着那行字看了十几秒,后面又加了一句:“但做错事的人最后站的位置,取决于他有没有在第一次发现自己走错的时候停下来回头看一眼。”
他把备忘录关了。手机屏幕暗下去,他靠着沙发闭上眼睛,听见阳台外面风吹着晾衣架的铁丝发出细细的嗡鸣。厨房水壶里的水温还热着,热气从壶嘴冒出来,在射灯光线里扭成看不见的细丝。
后来他回了何姐那条消息,只打了一个字:“好。”
打完他想了想,又补了一句:“按市价。不接受打折。”
何姐回了一个“收到”。
他把手机翻过去扣在茶几上,拿起水杯把最后一口喝完,杯子搁进水槽。明天新工作平台那边还有两个项目的简历要看,他现在已经不在那家公司了,但手机里那些截图和通话记录他还留着,不为了别的,就为了提醒自己。
他走到阳台门口正要拉上纱窗,余光瞥见楼下路灯旁边站了一个人。灰色帽衫,兜帽扣着,低着头在翻手机。那人抬头朝六楼看了一眼,隔着灰蒙蒙的暮色,赵东升看不清那张脸,但他认得那个站姿。
罗征站在路灯底下,看了一眼他的窗户,然后转过身走了。
赵东升把纱窗拉上了。窗帘合拢之前,对面楼的灯全亮了,一片暖黄色铺在窗玻璃外面,像铺了一层碎金。
他在玄关的纸箱上坐着,鞋还没换,手机屏幕亮着,上面是那条陌生号码发来的消息——“别把硬盘给任何人。等你来,我告诉你谁签的薪酬协议。”时间戳显示的是三十天前,凌晨七点五十八分。
他已经知道是谁签的了。他也知道那块硬盘现在空了。
但他把那条消息留着。留着的意思是,他记得那个晚上发生的每一件事——从801块年终奖到375个未接来电,从王姐会议室里那句“你可以走离职流程”到罗征半夜敲门时那张苍白瘦削的脸。
他站起来,把外套挂在门后钩子上,走进客厅,打开台灯。光在桌面上拢了一团暖色,旁边搁着新公司的入职合同和一张还没拆封的工牌。
他坐下来,翻开合同第一页,笔帽拔开。窗外夜风贴着玻璃滑过去,灯影晃了一下,又稳住了。