年终奖到账188元,我准时下班,当晚公司260亿核心数据遭受对手攻击,直接收到上司的365个电话,我:反正都是188,不接怎么了?
第一章
“周扬,你他妈故意的是不是?数据被攻击,你在哪?”
电话那头的声音炸开,林总监的嗓子像被砂纸磨过,隔着信号都能闻到他办公室烟灰缸里的焦味。
我没说话,把手机拿远了一点。屏幕上裂了一条缝,是上个月摔的,一直没换。客厅没开灯,窗外对面楼的霓虹灯绿一阵红一阵,打在茶几上那张银行短信上。“您的账户于18:02入账人民币188.00元,余额……”余额我看了一眼就没往下看。
“说话!你知不知道现在全公司都他妈在加班救火?就你一个人——你是死人啊?”
他喘气的声音特别重,办公室有人喊“这边端口封了”“不对,还有后门”,声音混在一起,像菜市场。我坐在沙发上,脚边是刚脱的鞋,鞋带还系着,我没弯腰解。
“林总,”我说,“我下班了。”
电话那边沉默了大概两秒。然后他笑了,那种气到极致、嘴角抽着笑出声的声音。“你下班了?周扬,你他妈拿着全公司最高的底薪,你今天跟我说你下班了?你知不知道那些数据值多少钱?你知不知道你现在一分钟的损失是多少个你——你去问问HR,你这个级别的人,六点下班?你配吗?”
他说到后面嗓子劈了。
我喝了口水,杯子放下的时候磕了一下茶几。“今天发年终奖,林总。”
“什么?”
“年终奖。”我又重复了一遍,“188。我收到短信了。”
他没接话。电话里又传来那边的声音,键盘、椅子腿刮地板、有谁在骂娘。风灌进来,吹得我后脖子凉,才发现窗户没关紧。我起身去关窗。
“周扬,你现在回来,”他突然压低声音,“你回来,这事翻篇,我当没发生过。发多少,我私人补给你,双倍。你赶紧——你他妈知不知道对手公司那帮人等着呢?你现在回来,定位我给你发——喂?周扬?”
我关好窗,回了一声:“双倍,376,对吧?”
“对!你赶紧——?”
“不够。”
我挂了电话。
手机立刻又响了。我没接,把它扣在茶几上。屏幕朝下,震动得嗡嗡响,像一只被翻过来的甲虫。响了四次,第五次停了两秒,接着又响。我站起来去厨房烧水。煤气灶的电子打火“嗒嗒嗒”响了三次才着,蓝色的火苗舔着壶底。水还没烧开,门铃响了。
我没动。门铃又响。接着是拍门声,不怎么用力,但很执着,像催债的人知道你在家。“周扬,开门,是我。”
我听出来了,是行政部的方琳。我没穿外套,踩着拖鞋去开门,没看猫眼。门拉开一条缝。她站在走廊的声控灯底下,穿着公司那件灰不拉几的冲锋衣,头发随便扎了个马尾,脸冻得泛红。她往里看了一眼,没进来。“你……电话打不通,”她压低声音,“林总让我来叫你。公司现在乱成那样,你那块服务器……”
“我下班了。”我说。
她愣了一下。走廊灯灭了,她跺了一下脚,灯又亮了。“周扬,你别犟。林总刚才在办公室砸了键盘,他说你手里的那部分接口权限,只有你有。你不回去,整个应急方案跑不起来。”
“那他有没有告诉你,”我靠着门框,看着她,“今天下午五点半,年终奖到账了。188。”
方琳嘴唇动了动。她没说话,但她眼神变了,右手不自觉地捏着冲锋衣的拉链头,捏了两下。“我知道,”她说,“我们行政……也就这点。可是……”
“可是什么?”
“可是公司现在这样,你不回去,明天这锅肯定你背。你到时候就不是188的问题了。你……”
她没说完。我手机又在屋里震了起来。她下意识往屋里看了一眼。
“方琳,”我说,“你去告诉林总。年终奖188,我下班到点走人。公司救火是公司的事,数据被攻击是技术部的事,谁让我拿188,我拿188就干188的活。电话我不接。他打365个,也是188。”
她站在门口,没动。灯又灭了,她没跺脚,站在黑暗里,过了好几秒,才说:“周扬,你是不是早就想走了?”
我没回答。她后退半步,声控灯亮了,照着她脸颊上细微的毛孔和干燥起皮的嘴唇。“行,”她说,“我帮你带话。”
她转身走了。鞋跟在走廊里响了七八下,拐弯,没了。
我关上门。水开了,壶盖被蒸汽顶得啪嗒啪嗒响。我给自己倒了杯热水,捧着杯子坐到沙发上。手机还在震,这次是连续不断的,像有人把手机搁在键盘上一直按重拨键。我没看屏幕,把热水喝完,去洗手间洗漱。镜子里的我眼皮底下有点发青,白天开会的时候林总当着整个技术部指着我的鼻子说“周扬你这段代码写出来是给人看的吗”,然后把打印出来的代码纸揉了扔我桌上。那张纸后来被我叠了四折,放在工位抽屉最底层,和银行流水单放一起。
我刷完牙,把毛巾挂好,回到客厅。手机终于不响了。屏幕上三十七个未接来电,五个是林总,二十八个未知号码,剩下的是组里同事。还有三条微信消息。我打开,一条是林总的——“你完了”。一条是组里小刘发的“扬哥,你快回来吧,林总要疯了”。还有一条是方琳发的,就一行字:“话我带到了。他说让你等律师函。”
我把微信退出来,看了一眼时间。晚上九点十七分。窗外对面楼的霓虹灯变成了蓝色。我把手机充上电,关了客厅的灯,进屋睡觉。
第二天早上七点二十三分,我被门铃吵醒。这次不是方琳。
门外站着三个人。林总站在最前面,头发支棱着,领口歪了一颗扣子,眼白里全是血丝。他身后是人事总监贺明,四十多岁戴金丝眼镜,手里拿着一个牛皮纸信封。再后面是一个我不认识的男人,穿黑夹克,双手插兜,看着像外头冻得够呛。
林总看见我开门,嘴角扯了一下,没笑出来。“周扬,你牛逼。你真牛逼。”
我没让开门口,站在玄关,光着脚。“早,林总。”
“早?”他往前一步,我没动,他停住了,“你知道昨晚损失多少?你知道那批数据——算了,我不跟你说这个。”他转头看了一眼贺明。贺明把信封递过来,没递到我手里,举在半空。
“周扬,”贺明开口,声音像办公室广播,“公司决定,你严重违反劳动纪律,擅自离岗,造成重大业务损失。你的行为——这是解除劳动合同通知书。你签字,公司保留追偿权利。”
我没接信封。我看着林总。他后槽牙咬得腮帮子那块肌肉一鼓一鼓的。
“林总,”我说,“昨天下午五点半,年终奖到账188。银行短信我还留着。我合同签的是早上九点到晚上六点。我六点零八分打卡离岗,监控能查。我违反哪条纪律了?”
林总脸白了。不是形容词,是真白了,颧骨那块的血色唰一下褪下去。他张了张嘴,贺明在旁边接了话:“周扬,公司现在有紧急情况,非常时期,你不能拿上下班时间说事。你作为核心技术人员——”
“贺总,”我打断他,“公司有非常时期。我的工资没有非常时期。入职合同第三页第十七条写的‘年终奖根据公司经营状况和个人绩效发放’,这句话的意思是不是说,公司想发多少就发多少?188,你们谁定的这个数?你们知道这个数发出来,是在告诉我什么吗?”
走廊里安静了两秒。那个穿黑夹克的男人看了林总一眼。
林总往后退了半步,声音压得很低,像是从齿缝里挤出来的:“周扬,你手里那部分接口权限,你昨天走的时候没交接。昨晚对手公司攻击的入口,就是从你那块——”
“林总,”我再次打断他,“接口权限,昨天下午三点,我发邮件给组长抄送你了。交接文档在我工位电脑桌面上,文件名就叫‘交接’。你们没看,是你们的问题。”
他的脸又白了一度。贺明的金丝眼镜反了一下光,我看不清他表情。林总转头看了贺明一眼,又看回来。
“行,”林总点头,点了好几下,像脖子抽筋,“行,你——你行。贺明,把东西给他。周扬,你签字。我告诉你,这事儿没完。你等着。”
贺明把信封塞到我胸口。我没接,信封掉在地上,啪地一声,不重,但走廊里有回音。
我低头看了一眼信封,又抬头看林总。“我不签。你们单方面解除,就去走仲裁。还有——那个穿黑夹克的,你手机录音,最好关了。”
黑夹克男人愣了一下,右手从兜里掏出来,手机屏幕上确实亮着录音界面,红点还在跳。他按了一下,灭了。
林总盯着我,眼珠子不动。他嘴张开,又合上,又张开。“周扬,你昨晚接我电话的时候,是不是故意的?你就等着今天,对不对?”
我没说话。
他盯着我看了三秒。然后他笑了,笑出声,笑得肩膀抖,笑得走廊灯都亮了。“行,你狠。”他转身往电梯走,走了两步停下,没回头,“但周扬,你问问你自己——你在这行,还能待下去吗?”
电梯门开了,他走进去。贺明跟进去。黑夹克看了我一眼,也进去了。门关上。
我弯腰把信封捡起来,撕开看了一眼。一张A4纸,上面盖了章。我把纸放回信封,扔在玄关鞋柜上。
回到屋里,我拿了手机,打开一个对话框。对方头像是黑的,备注名是一个字:“哥”。上一次聊天记录停在三个月前,我发了一句“还招人吗”,对方回了一个“随时”。
我打了一行字:“我这边差不多了。你上次说的那个,位置还在吗?”
发出去,我放下手机去刷牙。刷到一半,手机震了。我漱完口回来看。
对方回:“在。你来,马上。”后面跟了一个地址,在城南,一栋我从没去过的写字楼。我看了一眼,把地址截图存好。正要锁屏,又弹出一条消息。
“对了,昨晚那波攻击,你怎么知道是今天?”
我盯着那行字看了几秒。然后我打了三个字发过去。
“我不知道。”
对面回了一个笑脸。
我把手机揣进裤兜,穿上鞋,拉开家门。走廊里很安静,声控灯亮着。我锁好门,走到电梯口摁了下行键。电梯从顶楼往下走,数字一格一格跳。我站在那儿,等着电梯门开。手指在裤兜里摸到那张银行短信的纸片,被我揉成了团,捏在手心里。
电梯到了。门打开。里面没人。我走进去,按了一楼。门合上的时候,我看着走廊尽头那扇关着的门,鞋柜上那个牛皮纸信封,边角露在外面。
然后门关严了。电梯往下走。我松开手心,纸团皱巴巴地躺在掌纹里。我没有把它扔掉,重新塞回了兜里。
第二章
城南那栋写字楼叫创域中心,外墙贴着灰蓝色的玻璃,底下三层的底商全关着卷帘门,卷帘门上喷着拆字,歪歪扭扭,刷了白漆又盖不住。
我站在一楼大堂,前台没人,只有一台安保闸机亮着红灯。手机震了一下,对方发来一条:“直接上九楼,出电梯右拐走到头。”
我没打卡,闸机红灯变绿,自己开了。电梯里一股柠檬味清洁剂的味道,按键面板上九楼的数字被人按到漆都掉了,露出底下的塑料白。我摁了一下,电梯往上走,轿厢轻轻晃了一下。
九楼出电梯右拐,走廊里铺着灰地毯,踩上去软绵绵的没声音。走到头是一扇没贴标牌的玻璃门,里面灯亮着,隐约能听见键盘声。我推门进去。
是一个大开间,摆着五排工位,坐了大概七八个人,没人抬头看我。最里面靠窗的位置,一个穿黑色卫衣的男人把脚架在桌上,手里转着一支笔。他看见我,笔停了,脚放下来。
“来了。”他站起来,比我矮半个头,头发剃得极短,露出头皮上一道旧疤,“坐。”
他指了指旁边的椅子。我坐下。他从桌上拿了一瓶矿泉水拧开喝了一口,拧回去,搁桌上。瓶身水珠滚下来,洇湿了一小片桌面。
“你昨晚说的那话,我当时没信。”他看着我,“你说你不知道,那你今早怎么就来了?你算好的?”
“我没算好。”我说,“昨天下午五点半,年终奖到账188。我就知道差不多了。”
他盯着我看了两秒。然后笑了,嘴角往上扯了一下,不像林总那种笑,更轻。“188?你们那家公司,去年流水我查过,过亿了吧?给你发188?”
“发了。”我说。
他靠回椅背,手交叉放在肚子上。“行。你上回问我那个位置,我现在告诉你,不是什么好活。我给一家公司做安全运维——不是外包,是挂在他们下面的一个独立组。活儿脏,不体面,有时候要帮客户干点擦边的事。你干不干?”
“干。”
“不问价?”
“你给多少我都干。”
他又看了我两秒。然后他站起来,走到旁边一个工位,拉开抽屉拿了一个信封,走过来递给我。“下个月一号入职。薪资这个数,你看一眼。”他递过来一张对折的纸。
我打开看了。月薪是原来的三倍,没写年终。
“没年终?”我问。
“有。”他说,“按项目发,一个项目结一次,什么时候结不一定。干得好能超过你原来年包。干不好——这个数你都拿不满。”
我把纸折好放进口袋。“行。”
他点了点头,走回自己座位,又点开了什么页面。我起身要走,他在后面叫住我:“周扬,还有件事。”
我回头。
“昨晚攻击你原来公司的那批人,你知道是谁吗?”
我看着他。屏幕的光映在他脸上,那道疤在光里更白了。“不知道。”
“那你最好也别知道。”他说,“不过我可以告诉你一件事——攻击时间,不是对手公司定的。是有人给他们递了话,说那天晚上六点半到七点之间,核心系统会有一个空窗期。因为运维那边有个接口权限交接没做顺,那段窗口期大概四十分钟。”
他没看我,盯着屏幕,手指在键盘上敲着什么。“你交接文档写的是三点发出去的。但组长收到之后没转发。林总晚上八点才看到邮件。空窗期从六点二十开始。”
“所以呢。”
“所以你要想清楚,昨天晚上你接那个电话的时候,你以为你只是下班走人。但有人在你下班之前,就已经把你那个窗口期卖了。”
他说完停了一下,转过来看我。“我不是吓你。我是让你知道,你从那儿出来是对的。那儿已经烂到骨头里了。”
我站在门口,手里还捏着那张入职确认的纸。“谢了。”
“谢什么。”他又把脚架回桌上,“那公司叫鼎恒,对吧?”
“对。”
“你先回去歇几天,一号来。你们原来那公司,这几天怕是要热闹了。”
我没再问,推门出去了。走廊里还是那股灰地毯的气味,电梯往下走的时候,手机又响了。我掏出来看,是方琳发的微信:“林总今天开了一上午会,关着门骂人,把组长叫进去骂了半小时。你还好吗?”
我回了一个“嗯”。方琳秒回:“他让法务那边准备材料了,可能要告你。你小心点。”
我没回。电梯到了一楼,我走出去,阳光打在外头停着的车顶上,亮得晃眼。我眯了一下眼,往地铁站走。走路的时候数了一下步数,大概三百二十步到入口,刷卡进站,站台上人不多,非高峰时段。
我找了条空的长椅坐下,手机又震了一下。这次是陌生号码,属地是本市的。我接了。
“周扬?”
声音很耳熟,但我两秒才对上号——组里的小刘。他的声音压得极低,像捂着嘴在说话。“扬哥,你听我说,我长话短短说。林总今天上午去了楼上大老板办公室,出来的时候脸色煞白的。他让贺明把法务叫来了,要发函。但是——”
他顿了一下,我听见他那边有脚步声靠近又远去,然后声音更低了。“但是你知道组长今天什么反应吗?他请假了。上午十点他就走了,说是胃疼,去医院。但我刚才看见他在楼下停车场,坐进一辆黑车里。车里坐着两个人,他不认识,但我记得车牌,尾号732。”
“然后呢。”
“然后他走了。扬哥,我是说——”小刘呼吸有点急,“组长昨天收到你那个交接邮件之后,他没转发。他拖到晚上七点四十才转的。中间那一个小时,他不在工位上。我看了打卡记录,他五点半打卡走了,七点二十才回来。这一小时他去哪了,没人知道。”
他没等我回话,又说:“我什么都不知道,我就是跟你说一声。你保重。”
电话挂了。
我把手机握在手里,地铁进站,带起一阵风,吹得裤腿贴在小腿上。车门开了,我没上车。等车门关上,地铁又开走了,我坐回长椅,把刚才那段话在脑子里过了一遍。
组长请假。组长昨晚五点半打卡走了。组长七点二十回来转发邮件。那一个小时。昨晚攻击开始的时间,是六点三十七分,比他们说的六点二十窗口期还晚了十七分钟。如果组长那一个小时去见了什么人,那他昨晚六点三十七分的时候在哪儿?
我又想起方琳说的那句“林总要疯了”。林总疯了,是因为损失大。但林总今天上午进大老板办公室出来脸是白的——如果只是损失大,他最多是气。白,是怕。
我站起来,走出地铁站。外头的太阳已经移过头顶,我找了家便利店买了一瓶冰水,靠在店门口的墙边喝完。拿手机给方琳发了一条:“组长今早请假?”
过了一分钟,方琳回:“嗯。胃疼。贺总批的。”
“他平时胃疼过吗?”
那边正在输入了很久。最后只回了四个字:“没有。”
我把瓶盖拧上扔垃圾桶,打了个车,报了林总公司楼下那个地址。司机从后视镜看了我一眼,没说话,起步了。车在市区里绕了二十分钟,停在一栋灰色写字楼门口。我没下车,隔着车窗看着那扇旋转门。保安坐在前台后面玩手机。大堂里没什么人。从外面看,三楼那层窗户拉着百叶帘,帘子缝里透出来白惨惨的灯光。
“师傅,走吧。”我说。
司机往前开了,我没说去哪,他就顺着路走。手机亮了一下,是那个黑头像的对话框又弹出来一条消息:“忘了跟你说。你原来那个组长,今天上午那辆黑车,是我们的。”
我盯着屏幕,手指悬着没动。
他又发了一条:“他找我们卖了一个东西。但我们已经有了。你猜他卖的是什么?”
我打字:“我不知道。”
对方回:“他卖的是你那封交接邮件的时间戳。他说他扣了一个小时,就能把锅扣你头上。但他不知道,昨晚攻击的那个漏洞,是他在三周前自己留的。他卖窗口期的时候,把自家后门一起卖了。”
我手指停了。三周前。组长三周前有一天加班到凌晨两点,第二天来的时候手腕上贴了一块创可贴。他说回家切水果割的。那时候他在做什么?
手机又震:“你来不来?他还在我们车上。他说想见你。”
我抬头看了一眼车窗外,车正好停在一个红灯路口。路对面有家兰州拉面,热腾腾的蒸汽扑在玻璃上,里面坐着几个穿工装的人在埋头吃面。
我低头回了一个字:“来。”
对面发了一个定位。离这儿不远,十五分钟车程。我把地址报给司机,车掉了个头,往城南更偏的方向开。路两边从写字楼变成居民楼,又变成一片待拆的旧厂房,墙上刷着大红的“拆”,有些字被雨淋得往下淌,像血丝。
车停在一栋三层旧楼前面。我下车,周围没什么人,只有一个老头坐在路边小马扎上晒太阳,眯着眼看我一眼又闭上。楼门口没牌子,铁门半掩着,我推门进去。
一楼是个空厅,水泥地,堆着几个旧货架。楼梯往上走,二楼拐角,我看见那辆黑车了,停在后门外面一条窄巷子里。车牌尾号732。车窗贴着深色膜,看不见里面。
我还没走到车跟前,后门开了。
组长坐在里面,手被一根黑色扎带绑在前面,脸上的表情不是怕,是累。他看见我,动了动嘴,嘴唇干裂了。“周扬,”他说,“你来了。”
“组长。”我说。
他笑了一下,难听。“你知不知道,我昨晚为什么扣你那个邮件?”
“你说。”
“因为林总让我扣的。”他说,“他说你最近太不稳了,要找个由头把你弄走。但他没想到昨天晚上真有人攻击。他以为只是普通漏洞测试。他说你走了,年终奖省下来的钱,给我提五个点。五个点,够我半年工资。”
他舔了一下嘴唇。“但他妈的他骗我。他根本不知道攻击是真的。对手那边的人——是林总自己惹的。他去年的一个项目,得罪了中间商,人家早就在等他。”
“所以你卖窗口期的时候,”我说,“你不知道那是真攻击?”
“我不知道!”他声音高了,又压下来,“我只知道林总让我扣邮件,说最多就是晚一点被发现,然后给你扣个失职。我没想到——周扬,我他妈真的没想到——”
车头方向传来一声轻响,驾驶座的门开了。那个黑卫衣的男人走下来,手里夹着一根没点的烟。
他看着组长,又看着我。“他说完了?”
“说完了。”
“那行了。”黑卫衣走到我旁边,“你走吧。这事儿你不用管了。他卖的东西,我们已经截了。昨晚的数据攻击,你是被他们绑着当替罪羊的。但你的交接邮件发在三点,他七点四十才转。这个时间差,你已经把自己摘出来了。”
他转头看了一眼车里的组长。“他有没有跟你说,林总今天上午打了365个电话?”
我愣了一下。“什么?”
“他打给你365个,今天又打了一遍,还是365个。”黑卫衣从兜里掏出手机,“你那个号码我做了个脚本,一接通就自动挂断。他每打一次,系统记录一次。365次整,不多不少。”
他说完,手指划了一下屏幕,把手机翻过来给我看。屏幕上是一个计数界面,红色的数字停在365。
我看着那个数字,后脑勺那块头皮麻了一下。昨天晚上的震动,今天早上走廊里的对峙。他打了365个电话,不是一时冲动,是数着打的。
“他什么意思?”
“意思就是,你记着这个数。”黑卫衣把手机收回去,“他让你记着,他打了365个。以后他有的是办法跟你算。”
我站在巷子里,风从两头灌过来,吹得脖子发冷。车里的组长低着头,没再看我。我转身往巷子外走,走了七八步,黑卫衣在后面喊了一声:“周扬。”
我停步。
“一号来的时候,”他说,“门口闸机录一下人脸。我叫赵衍。”
我点了点头。走出巷子,那老头还坐在路边,这回睁着眼直直看着我。我没看他,径直往前走,找到路口打了辆车。
上车之后,手机又震了。方琳发来一条消息,说:“林总刚才把法务叫走了,说律师函不发了。他让行政把你工位的东西收拾好,放前台让你来拿。他说——他说,让你有空来拿,不着急。”
我看着这条消息,窗外的高架桥在头顶掠过,阳光从桥墩之间一截一截打进来,车里的影子明暗交替。
我回了一个:“好。”
然后我把手机锁屏。车窗外的天色开始偏黄了。傍晚又要来了。
第三章
我第二天下午去拿东西。
前台的小姑娘认识我,看见我进来,从柜台底下拖出一个纸箱,边角用透明胶带封了两道。她没说话,把箱子搁台面上,手缩回去,像怕碰到什么。
“就这些?”我问。
她点头。“林总说……你的工位已经清了。电脑回收了,抽屉里的私人物品都在这里。你检查一下。”
我没当场拆。搬起纸箱,比想象中轻。转身往外走,走到旋转门的时候,余光瞥见大堂电梯间的方向站着一个人。灰西装,头发油得贴头皮,手里拿着一个保温杯。
林总。
他没走过来,就那么远远地站着,隔着整个大堂的距离。我看不清他脸上什么表情,但看到他在笑。嘴角往上勾着,下巴微微抬着,像在看一只被他捏住翅膀的苍蝇。
我停了一下,他笑得更开了。我抱着箱子推门走出去,阳光晒过来,箱子上那两道透明胶带反着光,刺眼。我走到路边打车,把箱子搁脚边,等车的时候朝大堂方向看了一眼,他还在那儿站着,没走。
车来了。我弯腰搬箱子,纸箱底被透明胶带扯开了一道缝。我没管它,把箱子塞进后座,自己也坐进去。
回到出租屋,我把箱子搁在茶几上撕开。里面东西不多:一个用了三年的保温杯,杯底有一圈褐色的茶渍洗不掉;一本翻卷了边的《TCP/IP协议详解》,书页里夹着几张便利贴;一个U盘,银灰色,标着“32G”的字样已经磨没了;一袋没吃完的陈皮梅,拆了封口,拿皮筋扎着;还有一张A4纸,叠了四折——我上个月被林总揉掉扔我桌上的那张代码打印纸,我叠好放抽屉的那张。
我把它展开。纸面上全是折痕,中间还留着他攥出来的皱。角落里我用水笔写的一行小字:“6月17日,第3次。”这是第三次被他在会上公开扔纸。第一次我忍了,第二次我说“林总我改”,第三次我没说话,把纸叠好放抽屉了。
还有一封手写信。不是打印件,手写的,字迹歪歪扭扭,像小学生描红。我拆开,信纸上写着:
“周扬,我知道你委屈。但公司有公司的难处。你能力大家有目共睹,就是有时候太较真了。这次的事,大家各退一步。你要是愿意回来,技术部还有个位置,条件我可以再谈——你考虑一下。林。”
信纸底下压着一张名片,林总私人手机号。跟公司通讯录上那个不一样,这个号我从来没存过。我捏着那张名片翻过来,背面是空白的。
我把信纸对折夹回书里,U盘插上电脑。里面只有一个文件夹,命名是日期:昨天下午三点整。我点开,里面是五份文件。全是代码归档,时间戳显示是三个月前到两周之前陆续写的。但文件名统一改过,改成了一些莫名其妙的名字:版本备份1、版本备份2、临时副本。我扫了一眼,里面有几个文件是组长签过字的上线版本。
我正看到第三份文件,手机亮了。一个陌生号码打进来。我接起来,那边先是一阵咳嗽,然后一个男声:“周扬,是我,组长。”
我合上电脑。“你说。”
他嗓子哑得像砂纸磨过。“林总今天上午找我。他问我去哪儿了。我说去医院,他不信。他说有人看见你在楼下上黑车。我没认。他就笑,说没事,你好好养病。”
“然后呢。”
“然后他走了。”组长顿了一下,呼吸有点急,“周扬,我跟你说个事。林总手上有东西。他今天来的时候,拿着一份打印的聊天记录——是我和一个号码的。他问我认不认识这个号。我说不认识。他说,没事,不认识最好。”
“谁的号码?”
“我不知道。”他说,“但我看了那串数字前面几位,是境外号段。而且那个聊天记录里有一句——一句原话,是两周前我在他办公室跟他汇报的时候说的。那句话我只跟他说过,不在微信里,不在邮件里。他拿着那句原话,印在聊天记录里,说是我跟境外的人说的。”
我后背靠进椅背。椅子发出一声嘎吱。
“他伪造了一份聊天记录,”我说,“上面有你的号码?”
“不,是我的微信头像。”组长声音抖了,“他把我的微信头像P在那个对话里。我周一来上班的时候看了一眼,我头像没换过,那个对话里用的就是旧版头像——我两个月前换过一次,新头像是带个眼镜的,旧的是不带眼镜的。他截图用的是旧版。”
我沉默了两秒。“你还跟他汇报别的什么吗?”
“汇报什么?我什么都不说了。”他咳嗽了两声,“周扬,我来跟你说这个,不是要你帮我。我是想告诉你——他不是冲你。他是冲所有人。他把我们都装进去了。他手里可能不止我一个人的假聊天记录。你想想,你那天晚上没接电话,他打了365个。他要是真想找你,打一个就行。他打365个,就是为了留个证据——证明他联系过你,证明你失联。”
我攥着手机,手指关节发白。
“组长,”我说,“你知不知道赵衍?”
那边安静了足足五秒。“谁?”
“没事了。”我说,“你好好养病。”
挂了电话之后,我看着窗外。天阴下来了,云压得低,楼下的垃圾桶被风刮倒了一个,盖子在地上滚了两圈停住了。我站起来走到窗边,手撑在窗台上,凉意从手心传上来。
他打365个电话,不是为了找到我。他是为了将来有一天有人问“你联系过他吗”的时候,他可以调出通话记录说:我联系了,365次,是他不接。
他伪造聊天记录,不是为了拿捏组长。他是为了给将来可能查的人看:这些人跟境外有来往,攻击是他们干的。
他在做证据链。
我蹲下来打开手机搜索“鼎恒 数据泄露”。前三条新闻都是昨晚的,措辞模糊,说“某互联网公司遭受境外黑客攻击,暂无数据外泄确认”。没有提公司名字,但评论区有人猜出来了。我往下翻,翻到一个个人博客,发布时间是今天凌晨三点,写着“鼎恒年终奖188,技术骨干被迫离职,然后公司炸了”。
点进去。一千多字,写得粗糙,但核心信息全对:年终奖188、六点下班、数据攻击、技术骨干被开除。底下评论有几百条,都在骂公司。我刷新了一下,页面变成404。
被删了。动手很快。
我把手机放下,重新拿起那本《TCP/IP协议详解》,翻到夹着便利贴的那几页。便利贴上写的是某几个函数接口的调用路径——是我离职前最后一周改的那部分代码里涉及的。我看了两遍,把便利贴撕下来,揉成一团,又展开。
那个U盘里还有一份文档我没注意,藏在“临时副本”文件夹下一层子目录里,文件名是乱码。我双击打开,是一张表格。表格分三列:日期、金额、备注。日期从去年十一月开始,到上个月截止。金额有十几笔,几千到两万不等。备注栏写了人名缩写,有些我认识,是供应商那边的人,有些我不认识。但备注里有一个名字我认出来了——中间商姓陈,去年林总跟他合作过一个项目,后来闹崩了,陈老板在外面放话说要让林总“长长记性”。
攻击就发生在这张表格记录的最后一天之后第三天。
我把表格关了。U盘拔下来,揣进口袋。外面开始下雨了,雨点子打在窗户上,啪嗒啪嗒,先是稀疏的,然后密起来。我坐在沙发上,听着雨声,手机又震了一下。
赵衍发来的:“你组长刚才给林总发了一条微信。内容是:周扬今天下午去公司拿东西了,我在附近看见他了。”
我盯着这条消息,眼睛没眨。过了好几秒,我回:“他发的?”
“嗯。发完就把记录删了。但我们截到了。”
“他为什么发?”
“林总让他发的。条件是,发了这条,那五份聊天记录就不流出去。”
我放下手机。窗外的雨下大了,对面楼的晾衣架被风吹得晃,挂着一件没人收的白衬衫,湿透了贴在上面。我走到茶几旁边,把那张叠了四折的代码纸拿起来,对着窗外的光看了一眼。折痕缝里还卡着一点灰,工位上擦不干净的那种灰。
我把它放回箱子,盖好盖子。然后给赵衍回了一条:“他那个位置,你安排一下。”
赵衍过了半分钟才回:“你是说……让他也进来?”
“不是让他进来。是让他觉得他要进来了。”
对面安静了很久。然后回了一个字:“行。”
我把手机扔沙发上,去洗手间洗了把脸。水龙头打开,冷水冲在脸上,冲进眼角里,我闭着眼撑在洗手台上。镜子里看不见自己,全是水雾。我用手掌抹了一下,镜子里的我眼周发红,嘴角抿成一条线。
雨越下越大,天彻底黑了。
第四章
组长给我发消息是第三天晚上。晚上九点四十七分,他发了一条:“周扬,你那边还缺人吗?”
我看了一眼,没回。把手机扣在桌上,继续看电脑屏幕上那张表格。表格被我重新梳理了一遍,按时间顺序排好,对照着林总去年所有项目的公开招标记录。十七笔打款,七个供应商代号,其中有五个是同一个中间商陈老板的关系户。去年十一月到今年五月,每个月都有钱从鼎恒财务流出去,备注栏里签字的审批人都是同一个缩写——林。
我把表格另存了一份到云盘,然后把U盘拔下来放进抽屉。
十一点十四分,组长又发了一条:“我知道我之前做得不对。但现在这个局面,你也看到了。林总要搞我。他手里那份假聊天记录,他今天下午发给我看了截图。他说只要我配合他,他就毁掉。周扬,我没有别的路了。”
我打了几个字:“你想怎么配合?”
他秒回:“他让我盯你。你去了哪,见了谁,他都要知道。他说只要我提供有用信息,他就放我一马。”
“你告诉我这个干什么?”
“因为我不想盯了。”他发了一条语音,我没点开,转了文字。上面写的是:“他今天下午当着我面,给另一个同事打了电话。那个同事跟你差不多时间进来的,去年年底拿了个A绩效,今年年终发了一千二。一千二,周扬。那个同事昨天提离职了,林总在电话里跟他说:你走了出去问问,哪家还敢要你?”
我盯着那段转文字,里面有两个错别字,他没来得及改就发出来了。
我把手机放下,走到窗边。外面夜市刚出摊,炒饭的油烟顺着风飘上来,带一点孜然味。对面楼的窗户亮着黄光,有人坐在窗边吃饭,筷子夹起来的东西看不清是什么。我站了一会儿,回他:“明天下午三点,老地方楼下的面馆见。”
他秒回:“好。”
第二天下午两点五十五分,我坐在鼎恒楼下那家重庆小面馆里,要了一碗豌杂面,没动筷子。老板娘认识我,多给我舀了一勺豌豆,说“好久没见你来了”。我说换工作了。她噢了一声没再多问。
三点零二分,组长推门进来。他穿了一件藏青色的夹克,比上次车里见到的时候瘦了一圈,下巴上冒出一层青茬,没刮干净。他看见我,径直走过来坐下,先看了我面前的碗一眼,然后说:“你没吃?”
“等你。”我说。
他搓了一下手,手指关节因为干燥发白。“我长话短说。林总昨天找我谈话,开了个价。他说只要我证明攻击那段窗口期是你故意留的——他说他帮我准备好了一套东西,我只需要签字——签完字,他就把假聊天记录销毁,再给我补半年工资。”
“你签了?”
“我没签。但他说不着急,让我考虑三天。”他看着我的眼睛,“周扬,他准备好了一套东西。我不知道那是什么,但他说全是证据,能坐实你故意留漏洞、主动泄露接口路径。他说那个U盘你带走了,U盘里那些文件,就是证据。”
我看着他。他额头上出了一层薄汗,在面馆的灯底下亮亮的。“他说U盘里有什么?”
“他说有你复制代码的记录。你离职前一周,每天下午六点整,都在往U盘里拷东西。机房门口的监控拍到了。”
我拿起筷子挑了一口面,没吃,又放下了。“监控拍到的,是我每天下班前把当天改过的代码拷到U盘里做本地备份。公司的备份服务器经常崩,你也知道。我拷完第二天早上会删掉U盘里的副本,只留当天版本。”
组长嘴巴动了动。“那监控录像……”
“监控录像只拍到我拷进去,拍不到我第二天删掉。所以只要他把录像剪出来前面那段,看上去就像我在偷偷往外带。”
他坐在那儿没动。面馆里有人在吸溜面条,声音很大。老板娘在后厨喊了一声“小面一碗加辣”,热气从出菜口冒出来,白蒙蒙的。
“周扬,”他声音低了,“他连这个都想到了。他是不是从很早就开始准备搞你了?”
我没回答。我把手机拿出来,打开和赵衍的对话框,点开一条语音,音量调到最小,放在桌上,按了播放。赵衍的声音从听筒里传出来,不大,但组长听得见:“你问问他,林总让他签字的那套东西,是不是还有一份备份在贺明办公室保险柜里。”
组长的脸唰一下变了。他像被刺了一下,整个人往椅背上一靠,椅子腿刮了一下地板。“你怎么知道——”
“你知道那个保险柜?”我看着他。
他嘴唇抿紧了,过了好几秒才说:“林总那天带我去看过。他说东西都存在那儿,一式两份,签字的时候当着贺总的面签,签完当场存档。他带我去看保险柜的时候,贺明就在旁边。”
“贺明打开给你看了?”
“没有。就指了一下。说东西在里面。”
我拿起手机,给赵衍打字:“保险柜,贺明办公室,存档备份。”发出去之后我把手机翻面扣在桌上。
组长看着我,喉结上下滚了一下。“周扬,你现在到底在替谁做事?你告诉我。我也许还能帮你。”
“你不需要帮我。”我说,“你只需要接着盯。”
“盯什么?”
“盯林总。他让你盯我,你就盯我。我每天去了哪,见了谁,你该汇报的汇报。一条都别少。”
他愣住了。面前那碗面已经凉了,油凝在表面一层,辣椒碎沉在底下。“你是说……我继续给他报?”
“报。精确一点。时间、地点、我都见了谁。越细越好。”
“可是——”
“你报了,他才会信你。他信你了,才会让你再看一次那个保险柜。”
组长咽了口唾沫,喉咙发出一个细微的咕噜声。面馆外面有电动车骑过去,鸣了一声笛,声音尖细。
“周扬,你到底要干什么?”
我站起来。碗里的面一口没动,辣椒油在碗边凝了一圈红。“你告诉他,我今天下午三点到四点,在鼎恒楼下重庆小面见了你。你告诉他我剪头发了,精神不错。你告诉他我问你公司现在怎么样。你都告诉他。”
我拿手机扫了桌上的付款码,付了十六块钱。组长坐在那儿没动,我走出面馆的时候回头看了一眼,他还坐在那儿,手搭在桌沿上,拇指抠着桌边的贴皮,一下一下抠着。
天阴着,风比昨天凉了。我顺着路往地铁站走,走了一百多米,手机震了一下。赵衍发来的:“他已经报过去了。整段,包括你说你剪头发了。”
“回得这么快?”
“嗯。他在面馆厕所发的。”
我脚步没停,进了地铁站。刷卡进闸,下楼梯的时候人不多,站台上有对情侣在吵架,女的在抹眼泪,男的歪着头看手机。我走到站台尽头靠墙站着,给赵衍打了一行字:“保险柜的事,你有办法吗?”
过了两站地的时间他才回:“办法有。但得让贺明亲自开。”
“怎么让他开?”
“让他以为有人要偷里面的东西。”
我盯着屏幕想了一会儿。列车进站,风把头发吹起来,车门开的时候车厢里的冷气扑出来。我走上车,找了一个角落站定,手机攥在手里。列车启动,窗外的广告牌一帧一帧往后滑。
我给赵衍回:“那让组长以为,他今晚要去偷。”
赵衍发了三个字:“有点脏。”
然后又发了一条:“我喜欢。”
列车驶入隧道,车窗上的影子变成我自己。手里握着手机,屏幕上还亮着那段对话。我没锁屏,就那么看着自己的脸在玻璃里晃,明暗交替。
三站之后我下车了。出站的时候雨又开始下了,细密的毛毛雨,沾在脸上痒痒的。我没打伞,顺着人行道往出租屋走。走到楼下的时候手机又响了,这次是电话。
我接起来,是组长。他的呼吸很急,连称呼都忘了叫。“周扬,林总刚才给我打电话了。他说——他说今晚贺总加班到九点,保险柜钥匙在贺总抽屉里。他说他想让我——”
“让你干什么?”
“让我去开那个保险柜。他说里面的东西需要‘整理一下’。他说他会把贺总支开二十分钟。让我进去把那份签字的原件拿出来,换一份新的进去。”
“新的那份是什么?”
“他没说。但他问我信不信你。我说信。他就笑了,说信就好。他说只要你信他,你就把原件换了,以后你跟周扬的事就翻篇了。”
我站在单元门口,雨从门檐淌下来,在脚边汇成一条细流。鞋头溅湿了一点。
“你去吗?”
他那边沉默了。风声从听筒里灌进来,呼呼的。“我不知道。”
“你去。”我说。
“去了会怎样?”
“去了,你就会看到保险柜里有什么。你看了,你才知道,林总让你换掉的到底是什么东西。”
他呼吸粗重了几下。“那你呢?”
“我在楼下等你。”我说,“你拿到了,给我看。你看完之后,再决定信不信他。”
那边又沉默了。然后他挂了。
我把手机收进口袋,没有上楼。站在单元门洞里看着外面的雨,雨丝变密了,地面上的水洼被雨点打出密密麻麻的圈。我靠墙站着,门洞里有一股阴凉的水泥味和发霉的纸箱味。
街对面亮起路灯,黄澄澄的光照在湿漉漉的柏油路上。我开始数时间。从他公司到这里,打车二十分钟。二十分钟他能到楼下。从进楼到开保险柜,十分钟。二十分钟开完出来。
我数到第十七分钟的时候,手机震了。不是电话,是一条微信。组长发来一张照片。照片拍的不清楚,有点晃,像是手在抖的时候按的快门。但能看清那是一沓文件,封面是打印的,黑体加粗,写着一行字:
“关于周扬同志严重违纪及涉嫌商业间谍行为的调查结论”
底下盖了一个红章。看不清章上的字。但章底下有一行手写的日期,墨水还新着,没干透。
紧接着又发来一条文字:“保险柜里不止一份。还有别人的。六个名字。六个。”
我盯着那“六个”两个字看了好几遍。雨声很大,打在单元门顶的雨棚上,砰砰砰的,像有人在上面敲。
我回他:“出来了吗?”
他回:“出来了。我在后门巷子里。他们没发现。”
“别动。”我打字,“我过来。”
我把外套拉链拉到顶,走进雨里。雨打在脸上,凉的,顺着下颌淌下去,淌进领口。我往他公司后门那个方向快步走过去。路上一个人都没有,只有车轮碾过湿路面的声音从远处传来。
走了大概四分钟,拐过路口的时候,我看见他站在巷子口的路灯底下。浑身湿透了,头发贴着脸,手里攥着那个文件袋,攥得指节发白。他看见我,朝我走了两步,脚踩进水洼里,溅起来的泥点沾在裤腿上。
“周扬,”他说,“他把我们全装进去了。”
他递过文件袋。我接过来,扯开封口,抽出里面那沓纸。雨把纸面打湿了一点,但字还能看清。第一页是“调查结论”,第二页开始是“证据材料”,包括代码比对记录、监控截图描述、某几封邮件正文的复刻。最后附了一页名单,六个名字排成两列,每列三个。第一个是组长,第二个是我,第三个是方琳,第四个是小刘,第五个是去年离职的一个老同事,第六个是技术部另一个我一直不怎么说话的女生。
我合上文件袋。抬头看他。他的嘴唇冻得发紫,站在雨里,浑身在抖。
“他打算用这个,”我说,“把你们六个全送上法庭。”
组长抬手抹了一把脸上的雨水,手在抖。“那我们现在——”
“你继续跟着他。”我把文件袋塞回他怀里,“你把原件拿回去,告诉他你换好了。他让你放什么新的进去,你就放什么。”
“然后呢?”
“然后他下一步就会让你把这份原件销毁。他让你亲手烧掉,你就烧。但烧之前——拍照。每一页都拍。发给方琳,发给小刘,发给所有人。”
他看着我,雨从他下巴滴下去。“周扬,你为什么帮我?”
我没看他。转头看着雨幕里那栋写字楼,三楼的灯还亮着,窗户上蒙着一层雾。“因为那六个名字里头,有我。”
雨更大了。
第五章
组长回去之后没再发消息。我回到出租屋换了件干衣服,把湿外套挂在门把手上晾着。手机放在茶几上,屏幕朝上,亮着,什么也没弹出来。
九点四十分,方琳发了一条微信:“周扬,你睡了吗?”
我回:“没。”
“小刘刚才跟我说,组长找他私聊了。说了一堆莫名其妙的话,什么保险柜、什么文件。还让他别往外说。小刘吓坏了,问我怎么回事。你知道吗?”
我还没打完字,她又发过来一条:“组长也找我了。给我发了一张照片,糊的,但好像是一份文件名单。我看见我名字了。周扬,那到底是什么?”
我放下手机。过了十几秒,拿起手机打字:“你明天到公司,什么东西都别往外带。工位上不要留任何私人物品。你抽屉里那盆多肉,带回家。”
方琳回了一个问号。我没再回。
十点十一分,小刘的电话打进来。我接了,他声音压得很低,背景音有键盘声,他还在公司加班。“扬哥,组长刚才来找我了。他整个人状态不对,浑身湿的,走进来的时候把地毯踩了一路水印。他把我拉到消防通道,跟我说了一句——他说林总办公室保险柜里有一份文件,上面有我的名字。他说那份文件要是发出去,我以后不用在这个行业混了。”
“他还说什么?”
“他说让我明早提前半小时到,他带我看一样东西。”小刘呼了一口气,“他让我保密。但我觉得这事儿不对。扬哥,我在公司干了两年,我年终奖发了四百六。四百六,我连他妈的辞职钱都攒不够。他跟我说什么行业不行业……”
他话没说完,我听见那边有人喊他名字,他应了一声,匆匆说“我先挂了”,电话断了。
我把手机搁桌上。窗外的雨小了,变成稀稀拉拉的雨丝,打在玻璃上声音细碎。我打开微信,给赵衍发了一句:“贺明今晚几点走的?”
等了大概三四分钟,赵衍回了一条语音。我点开听,他声音带着点倦意:“贺明九点二十走的。走的时候把办公室门锁了。保险柜钥匙在他右手裤兜里。但他走之前去了趟林总办公室,两个人关着门聊了十分钟。出来之后贺明脸色不太好。我的人看见他下楼的时候在楼梯间站了一会儿,掏出手机打了个电话,接通之后说了句‘他要动那批东西’。然后挂了。”
“打给谁?”
“不知道。但那个号码我们追了一下,是虚拟号段,一次性用的。”
我把语音听完,又听了一遍。贺明打了一个电话,用虚拟号段,说“他要动那批东西”。那个“他”是谁?如果是组长,贺明应该在电话里说“周扬的人动了”。但他说的是“他”。
我靠进沙发里,后脑勺抵着墙。墙皮有一小块翘起来,硌在头皮上,有点疼。
十一点整,组长发来一段文字。长长的一大段,分成了七条消息发过来。
第一条:“换好了。新放进去的东西是一份签字页,上面签的是我的名字,日期是今天的。我把我自己放进去了。”
第二条:“他说只要我签了这份,旧的那份就销毁。他当着我的面把旧的那份文件袋封进了碎纸机。看着它碎的。”
第三条:“但是我留了一页。那个名单页。我没碎。我藏在裤腰里带出来的。”
第四条:“我现在在车上。我快到了。你在哪?”
第五条:“周扬,你跟我说实话。你让我换进去的那份东西,是什么?”
第六条:“我换的时候看了一眼。那是打印出来的六份单独的‘个人检讨书’。每一份上面都有本人签字。但那六个签字,有三个是复制的。我自己那份签字的笔迹不对,不是我写的。”
第七条:“周扬,你在哪?”
我站起来走到窗边,楼下的路灯底下停着一辆出租车,双闪没开。后座门开了一条缝,组长坐在里面,侧脸朝着我这栋楼的方向看。他手里攥着手机,屏幕亮着。
我拿起手机回他:“你上来。”
两分钟后门铃响了。我开门,组长站在门口,身上还是湿的,夹克外头那层面料颜色深一块浅一块。他手里捏着半张纸——撕下来的边角参差不齐,上面排着六个名字,水渍把纸边泡皱了。
他走进来,把那张纸递给我,然后站在玄关没往里走。“你看看。你告诉我,这个名单,他打算什么时候用?”
我接过纸在茶几上铺平。六个名字,顺序和我看到的原件一样。但仔细看才发现,每个名字后面都有一行极小的数字,像日期。我名字后面写的是“12.18”,方琳后面写的是“12.19”,小刘后面是“12.20”。依次往后推,最后那个女生后面是“12.23”。
“他排了日子,”我说,“一天一个。”
组长慢慢蹲下来,双手撑在膝盖上,像站不住了。“从你开始。明天是你。他要明天发你那份。”
“我那份。”
“对。你那份是第一个。”他抬头看我,眼白里全是红血丝,“我今天换进去的东西,就是六份检讨书。他让我换的时候说,旧的那份‘调查结论’留着的意义不大了。他新做了一套,每份检讨书都是每个当事人自己签过字的。他告诉我,按日期一封一封往外发。先从你开始。”
我蹲下来,跟他平视。“检讨好写什么?”
“写你主动承认泄露了接口路径。写你承认那天晚上故意不接电话。写你承认攻击之前你就已经把数据卖给了中间商。落款是你自己的签字。”
“签字是复制上去的。”
“复制上去的。但他说,没人会去鉴定笔迹。他说只要这个东西在行业圈子里传开,你在外面就找不到工作了。他不需要告你,他只需要让所有人都觉得你是个叛徒。”
我站起来。膝盖蹲得有点麻,走了一步,脚底像踩了棉花。我走到厨房倒了杯水喝了一口,水是凉的,顺着食道下去,胃里抽了一下。
“那方琳呢?方琳那份写什么?”
“她那份写她帮你在攻击当晚删了后台日志。”组长说,“小刘那份写他帮你伪造了打卡记录。老同事那份写他离职前跟你合谋。每个人都是你的帮凶。”
我攥着杯子,指节咯了一下玻璃。“他要把六个人绑成一条绳。只要他们相信你和我是一条船上的,他就把所有人一起沉了。”
组长蹲在地上没起来,头低着。“周扬,我今晚把那份东西换了。我不知道我换对了没有。但如果明天你那份真的被发出来——你打算怎么办?”
我没有立刻回答。窗外的雨彻底停了,屋檐还在滴水,滴在楼下空调外机的铁皮上,一下一下的,像钟摆。
“你那份检讨书,”我说,“放进去之前,你拍照了吗?”
他抬头。“拍了。我拍了整份。”
“发给我。”
他掏出手机,翻了几秒,把六张照片发到我微信上。我点开第一张,是我签名的复制件。笔画稍微粗了一点,林总让谁照着描的,描得不算好,但乍一看确实像。
我把手机放回口袋。“你今晚别回去了。在我这儿睡沙发。明早你正常去上班。他要是问你换好了没有,你说换好了。他要是问你那张旧名单呢,你说你亲手碎了。”
“那你呢?”
“我明早约了林总。”
他愣了一下。“你约他?他怎么可能见你?”
“他会见的。”我说,“因为我告诉他,我手里有那张旧名单的备份。我还告诉他,明天早上八点半,我在他办公室等他。他要不来,我把备份发到公司大群里。”
组长看着我,嘴张了一下又合上。过了好一会儿他站起来,膝盖咔地响了一声。“你怎么拿到备份的?那张名单只有保险柜里那一份。我碎之前拍了照,但你应该没有——”
“我本来没有。”我走到茶几边,打开电脑,点开桌面一个文件夹,调出一张截图。“但赵衍手上有。你摔碎之前,赵衍的人在你身后,隔着两步远,拍到了全部内容。”
组长转过身去看屏幕。截图上那份文件的、日期、红章全都清清楚楚。他盯着看了几秒,转过头来的时候脸色发青。“所以你从一开始——你根本不需要我去换那份东西?”
“我需要你去换。”我说,“我需要你知道,那份新东西是什么。我需要你自己看见签字是复制的。我需要你自己蹲在我家地上问我怎么办。因为从明天开始,你不是帮我盯他。你是帮你自己。”
他嘴唇哆嗦了一下,没说话。
我把电脑合上。“沙发上有毯子。枕头在衣柜最上层。你自便。”
我回了卧室,关上门。靠着门板站了一会儿,听见客厅里传来他慢慢坐进沙发的声音,布料摩擦了一下,然后安静了。
我拿起手机,给赵衍发了一条:“明早八点半,林总办公室。你安排人在外面等着。”
赵衍回得很快:“等着干什么?”
“等着看戏。”
对面回了一个大拇指。然后紧跟着一条:“你那份‘调查结论’备份,我已经让人做好一个链接了。明早八点二十九分,自动发到鼎恒全体员工邮箱。包括大老板的。你八点半进去的时候,他们应该正在看。”
我看着那条消息,手机屏幕的光照在脸上。窗外的云散了,月光从云缝里漏下来,照在对面楼的墙面上,白惨惨一片。
我锁了手机。客厅那边传来组长翻身的动静,沙发弹簧吱呀了一声,又静了。
第六章
早上七点二十我就醒了。客厅里组长还在睡,毯子卷在腰间,头歪在沙发扶手上,呼吸重而慢。我没叫他,去洗手间洗脸刷牙,换了一件干净衬衫,深灰色的,领口扣到最上面一颗。换好出来,他睁开眼了,直直看着天花板,好一会儿才转过来。
“几点了?”
“七点半。”我说,“你可以再睡半小时。你九点到公司就行。”
他没动,盯着天花板又看了几秒。“你穿成这样,像是去谈判的。”
我没回他,把钥匙和手机装进口袋,穿鞋。拉开门的时候他在后面说了一句:“周扬,你小心点。林总那个人,急了什么都干得出来。”
“我知道。”我关上门。
外面的天灰白灰白的,地面还是湿的,昨晚的雨没干透。我打车,路上花了不到二十分钟,下车的时候八点零二分。鼎恒楼下那家包子铺刚撤了蒸笼,老板娘在拖地,水渍在瓷砖上拖出一道宽痕。我走进大堂,保安看见我愣了一下,没拦。电梯里碰到了财务部一个叫不出名字的同事,她看了我一眼,往角落里缩了缩,没说话。
八点零七分,我到了三楼。走廊里很安静,保洁阿姨在拖地,拖把的水在地上洇出一条暗色的水线。林总的办公室在最里面那间,门关着,门缝底下透出一线光,他到了。
我走过去,门没锁。我推开。
林总坐在办公桌后面,面前摆着一杯咖啡,没冒热气,应该倒了有一会儿了。他没穿外套,只穿了件灰蓝色的衬衫,袖口挽到小臂中段。看见我进来,他没站起来,笑了一下。
“周扬,你比我想的早。”
“你比我想的镇定。”我走进去,没关门。办公室比外面暖,空调打着热风,嗡嗡响。
他靠进椅背,十指交叉搁在桌面上。“你昨晚给我发的消息,说你有备份。你发来看看。”
“不着急。”我走到他办公桌对面的椅子上坐下,椅面有点凉。“你先说说,你今天打算发什么。”
他笑容没变,但嘴角的弧度收紧了一点。“你听谁说的?”
“贺明昨晚打的那个电话。虚拟号段,一次性用的。他打完之后,你八分钟之内就给组长下了指令。让他今早把第一份检讨书发出去。”
林总眼睛眯了一下。他沉默了两秒,然后松开了交叉的手指,右手拿起咖啡杯,喝了一口。咖啡凉了,他咽下去的时候喉结动了一下。“你连贺明的电话都知道。你在我这儿放了人?”
“不需要放人。”我说,“你公司的夜班监控有个死角。消防通道拐角第二根柱子后面,三年前就盲了,你一直没修。贺明昨晚站那儿打了三分钟电话,从我这边看,屏幕内容一清二楚。”
他端着杯子的手停了。咖啡杯悬在半空,没放下,也没喝。“你昨晚在我楼下?”
“你猜。”
他把杯子放回桌上,杯底磕了一下桌面,发出一声脆响。他看了一眼电脑屏幕右下角的时间,八点十二分。“周扬,你现在走,我当没这回事。你那份备份,你留着。我那份我不发。大家两清。”
“两清?”我看着他,“组长昨晚换进去的那份新东西,六份检讨书,落款全是复制的笔迹。你打算一天发一个,从我开始,到24号结束。发完之后,六个人在行业里全臭了。你管这叫两清?”
他的脸终于变了。下巴那块肌肉绷紧,太阳穴上血管微微鼓出来。“你连检讨书都看见了?”
“我看没看见不重要。重要的是,”我掏出手机,放在他桌上,“现在八点十四分。再过十五分钟,你全体员工邮箱会收到一封邮件。写的是‘关于鼎恒科技内部管理问题的说明’。附件里是一份完整的保险柜文件扫描件,包括旧的那份名单和新的那份伪造签字页。”
他盯着我手机,眼珠子不动了。“你什么时候发的?”
“定时发送。你拦不住。”
他猛地站起来。椅子往后退了半步,轮子磕在墙上。他双手撑在桌面上俯视着我,鼻翼翕张了一下。“周扬,你知不知道你这么做会毁了公司?邮件发出去,所有人都会看见那份名单。明天外面就会写报道。你——你手里的那份东西,那些钱从哪来的你清楚,你发出去自己也得进去。”
“那钱不是我转的。”我抬头看他,声音没提高,“钱是陈老板转的。你忘了吗,去年十一月第一笔打款,备注栏签的是你的名字。你在合同里做的手脚,你在项目验收单上改的数字,审批流上你一个人的签字,一查就能查出来。你要拉人陪葬,我陪你。但你把六个跟你毫无关系的人装进去,你想过没有,他们每个人的年终奖是多少?”
他僵在那,嘴唇张开,又合上。额角的汗顺着发际线淌下来,钻进了眉毛里,他抬手擦了一下。
我继续说:“方琳干了五年,今年年终五百二。小刘干了两年,四百六。我干了三年半,一百八十八。你把这六个人的名字钉在行业耻辱柱上的时候,你想过你去年年会喝了多少茅台吗?你想过你给中间商陈老板那边的人,一顿饭花了多少吗?”
他后槽牙咬紧了,咬得颧骨那块凸出来。“周扬……”
“你打了我365个电话。”我说,“你打着个电话的时候,你手指疼不疼?你按了365下,你按到第几个的时候手酸了?你打完之后把通话记录截屏存了吗?你存了,对不对?你等着用这个东西说我失联、说我故意不接。但我告诉你——那天晚上方琳来敲我家门,我当着她的面接了你第一个电话。第一个我就接了。后面364个是你自己非要打的。”
他往后退了一步。后腰撞在办公桌边缘,文件架晃了一下,上面一个笔筒倒了,圆珠笔滚出来,有一支掉在地上,弹了两下滚到墙边。
我没站起来,坐在椅子上看着他。“八点二十分。还有九分钟。你现在可以做三件事。第一,你打电话给IT,让他们锁员工邮箱外收件权限。但IT主任今天请病假了,接电话的是实习生,他不会锁。第二,你打电话给贺明,让他去找大老板求情。但你昨晚九点二十五分让贺明给虚拟号码打电话的时候,你在电话里跟他说了什么,你还记得吗?”
他脸上血色彻底褪了,嘴唇泛白。“你——”
“你在电话里跟贺明说:‘那批东西明天发完,你就出国休年假。回来之前,把所有聊天记录清了。’贺明听完之后在楼梯间站了三分钟没动。他当时在想什么,你可以猜一猜。但有一件事我可以告诉你——他今天早上七点四十分到公司之后,第一件事是把自己的电脑硬盘拆了。”
林总的肩膀塌了一下。他伸手去够桌上的手机,手指抖了一下,手机滑到桌面上没拿稳。他摁亮屏幕,看了一眼时间。八点二十三分。
“还剩七分钟。”我说,“你还能做第三件事。你现在打电话给大老板,亲口告诉他保险柜里有什么。你告诉他那些材料是你让人做的,那六份签字全是复制的。你告诉他你准备把六个人推出去背锅。然后你问他——他要是知道了,他会留你过年吗?”
他的手动了一下,手机从桌面滑下来,屏幕朝下摔在地毯上。他没弯腰捡。他就那么站着,垂眼看着地上亮着的屏幕,一言不发。
我站起来。椅子腿轻轻擦了一下地面。我走到他办公桌侧面,拉开最上层的抽屉。里面躺着一个U盘,银灰色的,标着“32G”字样已经磨没了——和箱子里那个一模一样。我拿起来放进口袋。
“这个我拿走了。备份而已。”
他像被人掐住了脖子,喉咙里发出一个含糊的音节。“你什么时候放的?”
“第一次被你在会上扔纸那天。”我说,“你说我的代码是垃圾,你把纸揉成一团扔我桌上。我当时什么话都没说,把纸叠好放抽屉了。但我在你办公桌抽屉里也放了一个U盘。同一个批次买的,同一个型号。你用了三个月,不知道那是我的。”
他靠在办公桌上,整个人像被抽了骨头。
我走到门口,停了一步。“邮件还有四分钟发出去。你现在打给大老板,他还来得及替你挡一下。你要是不打——那就让整个公司的人,亲眼看看他们年终奖的188块到底去哪儿了。”
我走出门。走廊里没人,空调出风口吹出来的风扑在脸上,凉的。我往楼梯口走了几步,背后的办公室里传来一声闷响——像是拳头砸在桌面上的声音,又像是什么东西倒了。我没回头。楼梯间的声控灯亮着,我顺着台阶一层一层往下走,脚步声在空荡荡的楼梯间里回荡。
走到一楼大堂的时候,手机震了一下。赵衍发来的:“邮件发了。全公司都在看。HR那边炸了。”
我回了一个字:“好。”
走出旋转门,外面太阳出来了。昨晚的雨把空气洗得透亮,阳光照在湿路面上,反出一片白晃晃的光。我站在台阶上眯了一下眼,手机又震了。这次是方琳。
她发了一条语音。我点开放在耳边,她的声音在抖,但憋着没哭:“周扬,我收到了。所有人都收到了。林总办公室的门关着,里面有人在大声打电话。我听见他喊了大老板的名字……我不知道说什么。我就想说,谢谢你。”
我听完语音,把手机揣回兜里。太阳晒在脸上,暖的。台阶底下有一滩浅浅的积水,倒映着天空和楼角。我下了台阶,踩过去,水花溅到鞋面上,凉了一下,然后干了。
第七章
后来,那封邮件的截图在行业群里传了整整三天。
第三天下午,林总的办公桌被清空了。行政部的人拿纸箱装的时候,箱底漏了,几支笔和一本工作日志掉在走廊地上,没人去捡。贺明提交了辞职报告,理由是“个人原因”,但当天下午就删了公司通讯录里所有人,包括前台的座机号。
那六个名字的人里,有四个主动提了离职。方琳没有。她说她想看看大老板到底会怎么收场。小刘也没有,他说他年终奖四百六还没发全,得等发完再走。
我在第四天凌晨接到一个电话。号码显示是鼎恒的座机,接起来是林总。他嗓子哑透了,像三天没喝过水。
“周扬,”他说,“你赢了。大老板让我走。下周一办手续。”
“嗯。”
“你那份邮件里,只放了名单和伪造签字页,没有放转账记录。”他说,“你为什么不放?”
“因为放了,我就跟着你一起进去了。”我说,“我不需要你进去。我只需要你走。你需要记得的是,你走的时候,你是什么身份走的。”
他沉默了十几秒。那边传来什么东西被碰倒的声音,然后他说:“你那份U盘里,到底有没有转账记录?”
“有。”
他呼吸粗了一下。“你会不会用?”
“看你。”
他没再说话,把电话挂了。
七天之后,十二月二十六号,我正式入职赵衍那边。
第一天早上到创域中心九楼,闸机刷脸开了。赵衍坐在老位置,脚架在桌上,嘴里叼着一根没点燃的烟。看见我进来,把脚放下来。
“你组长,昨天发了条朋友圈。”他说,“他拍了一张火锅照片,对面坐着贺明。两个人喝啤酒,桌上摆了一打空瓶。配文是‘新的开始’。”
“贺明跟他一起?”
“嗯。你组长跳槽去了贺明新开的一个工作室。两个人合伙,接外包,听说第一个月的单子就排满了。”赵衍把烟从嘴里拿下来,夹在指间转了一圈,“另外,陈老板那边,听说林总临走前给他打了个电话。具体说了什么不知道,但陈老板第二天就把去年那批项目的尾款全退了。退到鼎恒账上,一分没扣。”
“大老板收下了?”
“收下了。而且补发了全公司所有人的年终奖差额。按原本该发的那一版。”赵衍靠在椅背上,看着我,“你那份,补了多少?”
“不知道。”我说,“我还没查。”
他没追问,转了个话题:“工位在那边,靠窗第三个。电脑配好了,桌面软件你回头自己装。今天没什么事,你先熟悉环境。有什么不懂的问老孙——那个戴帽子的一直在吃零食那个。”
我走到工位坐下。桌面是干净的,只有一台显示器和一个没拆封的键盘。我把手机连上充电线,放桌上。正要把背包塞进桌下,手机弹了一条银行短信。
我点开。显示:“您的账户于09:32入账人民币47,812.00元,附言:年终奖差额补发。余额……”
我看了两眼,把短信标记为已读,锁了屏。窗外太阳升起来了,斜着照进来,落在桌面上,把键盘的白边映得发亮。老孙在旁边拆了一包薯片,咔嚓一口,嚼得脆响。
下午三点,赵衍发了一条内部消息,说晚上六点有周例会,新人做个自我介绍就行。我回了个“好”。五点半的时候方琳给我发消息说:“大老板今天下午开全体会了。他念了一份道歉信,说今年公司管理出了问题,明年会改革。他念的时候,说到‘个别管理人员’的时候顿了一下,底下没人鼓掌。”
我回了一个笑脸。
六点整,会议室坐了一圈人。赵衍站在白板前面,手里转着笔。“来,新同事,自我介绍一下。”他说完看了我一眼。
我站起来。会议室里七八个人都在看我,有人嘴里还叼着饼干。我开口:“我叫周扬,之前在一家互联网公司做技术,刚离职。来这儿是赵衍找我的。没什么特别的,就是——”
我顿了一下。窗外的天已经开始暗了,对面楼亮起零星的灯。我接着说:“就是干活比较较真。该下班的时候,我一般会准时走。”
安静了两秒。然后老孙笑了,饼干渣喷出来,笑声带起一片。赵衍把笔往桌上一扔,嘴角也压不住。
散会之后,我收拾东西准备走。电梯口碰到赵衍,他靠着墙等我。“那个事儿,”他说,“你回去别多想。林总走了,陈老板退了钱,你那组长和贺明合伙开了工作室,都是他们自己的选择。你没推任何一个人。”
“我知道。”
“那你下班了,走吧。”他朝电梯偏了偏头,“打卡机在进门左手边。别忘了。”
我走到打卡机面前,摁了一下,绿灯亮了,显示“已打卡”。电梯门开,我走进去,转身的时候看了一眼走廊尽头那扇玻璃门,里面灯还亮着,老孙在收拾零食包装袋,赵衍走回工位坐下,打开了电脑。
电梯门合上。轿厢往下走,轻微的失重感。我掏手机看了一眼,方琳发了最后一条消息:“他说改革。但你知道最可笑的是什么吗?他补发的年终奖差额,是按我们实际应得的那一版发的。也就是说,他本来就知道该发多少。他一直都知道。”
我没回。电梯到了一楼,我走出去。创域中心外面的路灯全亮了,橙黄色的光连成一条线,往远处延伸。街上有人在遛狗,绳子绷着,狗在闻一截露出的树根。有外卖骑手从身边掠过去,餐箱上有水珠,下雨的时候溅的,干了没擦。
我顺着路往地铁站走。走出大概一百米,手机在口袋里震了一下。我没掏出来看。走了又十几步,又震了一下。然后手机没再响了。
我走到地铁口,刷卡进站。站台上人不少,晚高峰刚开始。车门开的时候我走进去,找了一个靠门的位置站定。列车启动,窗外的广告牌一帧一帧往后滑。我看着玻璃窗上映出来的自己,衬衫领口最上面那颗扣子还扣着,嘴角平的,没笑也没绷着。
列车进隧道,窗上的影子暗了。我低下头,伸手进口袋,摸到手机还没看。我掏出来,摁亮屏幕。两条未读消息。
第一条是方琳发的:“林总今天下午走了。他走的时候没跟任何人说话。我站在窗边看见他走到楼下,抬头看了三楼一眼,站了大概十几秒。然后他走了。他走得很慢,我就想,他会不会希望有人下楼送送他。但没有人下去。”
第二条是赵衍发的,只有四个字:“明天见。”
我把两条消息都标记已读。锁屏,把手机放回口袋。车门开了,到站了。我走出去,顺着出站通道往上走,台阶一级一级踩过去,外面的风吹进来,有点凉,但不算冷。
出站口外面有人在卖烤红薯,铁皮桶上冒着白气,香味散开,混着晚风。我走过烤红薯摊的时候那个人正把一只红薯翻了个面,热气扑了他一脸,他眯着眼笑了一下。
我没买,继续走。路灯把人影子拉得很长,一会儿在前头,一会儿在后头。经过一家便利店的时候我停了一下,想了想,没进去。
走到楼下,单元门口声控灯亮着。我上楼,开门,换鞋。屋里还是老样子,茶几上那本《TCP/IP协议详解》还摊着。我走过去把它合上,放回箱子里。
窗外对面楼的晾衣架上,白衬衫不在了。