苏然把车停在路边,车窗摇下来,风灌进车里吹了她一下头发。她看着站在路边抱着纸箱的陈默,纸箱里露出一盆绿萝的叶子。陈默的左臂上缠着绷带,绷带底下缝了二十七针,隔着衣袖看不出来,但他抱纸箱的时候把重心偏到了右边。苏然看了他几秒,然后说了一句话:“赶紧上车。跟我走。”陈默没有问去哪。他把纸箱放在后座,坐进了副驾驶。车门关上之前他说了一句:“你签字的时候,想什么了?”苏然挂挡踩油门,车开出去两秒钟之后她才回答:“想了一件事——你挨的那一刀不能白挨。”
**第1章**
陈默坐在工位上,面前是三个窗口。左边是部署脚本,中间是日志分析,右边是明天的排期表。屏幕的光把他的脸照得有些发白,眼镜片上反射着一行行代码。他左手的保温杯盖子拧开了放在桌角,里面的茶凉了,深褐色的液面在杯口停着,没有热气冒出来。这是新系统上线前最后一周。技术部全员在加班,三十八层的办公区里还亮着十几盏灯,键盘声此起彼伏,偶尔有人站起来去茶水间接水,步子很快,路过别人工位的时候低着头不打扰。
陈默端起保温杯喝了一口凉茶。眼睛发涩,他在眼角按了一下,然后继续看排期表上的时间节点。还有五个人在,一个趴在桌上睡着了,后脑勺对着屏幕,电脑还在循环播放一段代码编译过程;一个戴着耳机在敲代码,手指的频率几乎没有变过;一个端着咖啡从茶水间走出来,杯里的热气在空调风里散得很快。陈默在排期表上改了几个时间节点,然后站起来。他看了一眼走廊尽头,苏然办公室的灯还亮着。
他拿起杯子去茶水间接了一杯咖啡。纸杯,黑咖啡,不加糖,热水从机器里流出来的时候咖啡粉被冲开的气味在茶水间里散了一下。他端着那杯咖啡往苏然办公室走。走廊铺着灰色地毯,两侧的壁灯亮着暖黄色的光,吸顶灯没开,整条走廊的光线是偏暗的。他走到门口的时候听到里面有动静。不是键盘声,是一种更闷的、像什么东西被压住的声音。他推开了门。
苏然坐在办公椅上,背对着门。一个男人站在她身后,戴着黑色鸭舌帽,帽檐压得很低。他的左臂从后面环住苏然的肩膀,右手握着一把刀,刃口窄,刀刃约十厘米长。刀尖抵在苏然脖子的侧面,颈动脉的位置。苏然的右手放在桌面上,手指搭着鼠标边缘,没有动。面前的电脑屏幕亮着,显示的是集团核心数据库的登录页面,用户名已经填好了,密码框是空的。她在等他逼她交密钥。
陈默站在门口,手里端着那杯咖啡。他花了大概零点几秒看清楚了:歹徒的右手握刀,手腕外侧朝着他的方向;左脚在前右脚在后,重心在左脚上。陈默把咖啡杯轻轻放在门口的地毯上,没有发出声音。他往前走了一步。歹徒听到动静回头了。刀刃从苏然的脖子上挪开了半寸,朝向他这边。陈默冲上去抓住了歹徒持刀的手腕——他的左手扣住对方手腕外侧往外掰,右手去够那根握刀的手指。歹徒被他扳着转了一个身,两个人在办公桌旁边拧在一起。刀刃在拉扯中从陈默的左臂外侧划过去,从肩膀开始,一直拉到肘弯。一条线。
血涌出来的时候是温热的,从皮肤裂开的地方往外渗,很快就浸透了夹克的袖子。他没有松手,还扣着歹徒的手腕,手指掐进对方腕骨的凹陷里。歹徒在他手上挣了两下,挣开了。他往后退了一步,刀还在手里,但看了一眼陈默左臂上的血,没有继续。他转身冲出了办公室,走廊里传来急促的脚步声,然后安静了。陈默靠在办公桌边上。左臂的血滴在地毯上,洇出深褐色的圆点。他的右手还伸着,保持着抓握的姿势,但那只手腕已经不在了。苏然从椅子上站起来。她脸上的颜色白了一层,嘴唇抿得很紧,但她的声音是稳的:“你别动。我叫救护车。”她拿起手机拨号,手指在屏幕上点得很快。陈默靠在桌沿上,左臂的疼痛从肩膀往下蔓延到指尖,像有一根灼热的铁线从皮肤底下穿过去。他看了一眼自己的袖子,深灰色的夹克变成了深褐色,血往下淌,在地毯上聚成一小滩。他说了第一句话:“系统部署明天还能不能按时?”苏然站在他旁边正在跟急救中心说话,看了他一眼,没有回答。
他记得自己是走下楼的。左臂的血一路滴在楼梯扶手上和台阶上,深褐色的圆点一个接一个。救护车停在楼下,他被扶着上了车。躺下来的时候医生剪开他的夹克袖子,布料粘在伤口上,撕开的时候有一声响。他没有看那条伤口,但能感觉到医生用手托着他的手臂时那种稳妥的力道。医生用碘伏棉球擦了一遍伤口边缘,他偏了一下头没看,手指攥着担架边缘的布料。苏然坐在救护车的对面,羽绒服上溅了几滴血,已经干了,颜色从鲜红变成了暗褐。她看着他的左臂,没有说话。急诊室的灯是白色的。他躺在处置床上,护士拉了一条帘子。医生让他把左臂伸出来,他开始清理伤口。陈默能看到那盏顶灯,灯罩边缘有一圈黑色的灰尘,不知道在那里积了多久。缝针的时候医生用了二十七针,黑色的线从皮肤外面穿过去拉出来,穿过去拉出来,一针接一针。他没有叫。医生说了三遍“忍一下”,第三遍的时候医生说:“你倒是出个声啊。”陈默说:“出声了是不是能少缝两针?”医生笑了一下:“不能。”
缝完之后护士给他缠了纱布,绕了七圈,在肘窝的位置打了个结。他说:“不住院。”护士说:“你伤口那么深不住院?”他说:“明天有事。”护士看了他一眼:“你那只手明天能干什么?”他说:“能开会,能看文件,能签字。”护士没有再劝。苏然站在急诊室门口,一直没有进来。他走出去的时候她问了一句:“能走?”他说:“能。”两个人走出急诊大楼的时候外面的天全黑了,路灯的光把地面照得发白。她把车开到门口,他拉开车门坐了进去。车开出去两个路口之后她说:“你明天请假。”他说:“不休。”她看了他一眼:“你手这样去公司能干什么?”他说:“能开会,能看文件,能签字。”她没有再说话。
第二天的早上海是阴的。陈默在公寓里换了件干净的深灰色夹克,左臂的绷带他自己重新缠了一遍,绕了七圈,在肘窝的位置打了一个结。他看了一眼镜子里的自己,目光在左臂上停了一下。他拿了手机和钥匙出了门。盛鼎大楼的大堂早上人不多,老周从保安室里探出头来。老周穿着一件深蓝色保安制服,袖口卷了两圈,露出小臂上晒出来的深色印子。他看见陈默的时候身子探出了窗户:“陈工你手怎么了?”陈默步子没停:“划了一下。”老周站起来探头看了一眼:“划一下能裹这么厚?”陈默已经走到电梯口了,回头说了一句:“划得长了点。”电梯门开了,他走了进去。门关上之前他看见周立诚从另一部电梯里走出来,那部电梯是从负一楼车库上来的高管专用梯。周立诚穿着一件深蓝色西装,袖口平整,手里端着一个白色保温杯。他看见了陈默缠着绷带的左臂。目光停了大约半秒,然后嘴角动了一下。那个表情很短,快得像风吹了一下水面,又恢复了原样。电梯门合上了。陈默当时没有多想。
工位上的电脑屏幕是黑的。他坐下来打开显示器,屏幕亮起来的时候右下角跳出一封未读邮件提醒。发件人是人事部,标题是“关于工作安排的临时通知”。他的手停在鼠标上没有动。走廊那头传来脚步声——两个人的脚步,一重一轻。他转过头看到了人事部的人,男的走在前面,女的跟在后面拿着一个牛皮纸文件夹。文件夹的封面贴着一张红色标签,标签上印着“人事决议”四个字。他知道那个标签。他见过三次,都是别人被叫走的时候。他伸手端起桌角那杯已经凉了的茶喝了一口,然后放下了,等着他们走过来。
---
**第2章**
人事部的人在他面前站定。男的戴着工牌,女的拿着文件夹。女的把文件夹打开放在他桌面上,翻到了签字页。男的开口了,语气很标准,像念一份模板:“陈工,昨天发生的安全事件定性为系统安全漏洞。您作为技术部副总监直接负责系统安全保障,经管理层决议,即日起解除劳动合同。”陈默低头看着那份文件。第一段、第二段,他的目光扫过去没有停。第三段写着:“因技术部副总监陈默同志未能及时发现系统安全隐患,导致公司核心数据面临泄露风险,经管理层决议,即日起解除双方劳动关系。”他的目光继续往下走,落在右下角的签字栏。有两个签名。第一个是周立诚的,行楷,笔锋圆润,每个字的间距都匀称,像是提前练好的。第二个是苏然的。“苏”字草字头写得很低,低到跟下面的“然”字第一笔叠在了一起。她平时的签名“苏”字草字头一贯写得平、写得宽,跟“然”字齐平。这个签名里草字头低了一截,像是有人从背后推了一把她的手,笔尖落下去的时候偏了。陈默看了两秒,然后抬起头:“苏总知道?”人事部男职员没有回答。他站着,两只手交叠放在身前。周立诚从他身后走上来,白色的保温杯端在手里,杯盖拧开又拧上了一下,发出一声轻微的咔嗒声。他站到人事部男职员旁边,语气很客气,像在安抚一个老同事:“老陈啊,公司也是没办法。安全事件总得有人担责任。你放心,补偿给到位了。”他嘴角带着那个笑,跟刚才在电梯口那个动了一下的嘴角是同一种弧度。
陈默站起来。他站起来的时候椅子往后挪了一掌,没发出什么声响。他低头看了一眼桌面上的文件,然后转过去开始收拾东西。他弯腰的时候左臂的绷带在桌角上蹭了一下,他没有停。保温杯放进去,用了五年,底部有一个凹痕,是某次加班手滑磕的。他把杯子放在纸箱右上角。一本翻烂了的《设计模式》放进去,封面磨白了,书脊裂了,他用透明胶带粘过两次。书页间掉出来一张纸——女儿画的生日卡片。蜡笔画了一个笑脸,圆脸,两个黑点的眼睛,嘴巴是一道弯弯的弧线往上翘。底下用歪歪扭扭的字写着:“爸爸最棒。”他把卡片夹回书里,一起放进去。一盆绿萝。五片叶子,最大那片长到巴掌大了,边缘有一个米粒大的虫洞。他把它放在纸箱最上面,靠着保温杯放稳了。
他收拾完的时候办公区里安静了很久。技术部的人都在看他。有人低着头假装在看屏幕,有人靠在椅背上,有人嘴张开了一点又合上了。没有人说话。陈默抱起纸箱,把重心往右臂上挪了一些,左臂的伤在箱子的重量下微微发麻。他往走廊走。走到拐角的时候他看见了林小雨。她站在自己的工位旁边,戴着圆框眼镜,手里攥着一份文件,嘴唇动了一下,但没有发出声音。他走过她身边的时候她低声说了两个字——“陈工”。他没有停步。她在他身后站着,看着他的背影消失在走廊拐角,然后转身回了工位,在电脑上打开了一个空白的Word文档,开始打字。她没有保存那个文档,只打了一行字:“2027.9.15,陈工被解雇。原因:安全事件。签字人:苏然、周立诚。”她看了几秒,然后删掉了。但是那行字她记住了。
陈默抱着纸箱等电梯。电梯从高层下来,门打开,里面没有人。他走进去,按了一楼。门合上之前他回头看了一眼走廊——办公区的灯还亮着,有人从工位上站起来往他这边看了一眼,隔着十几米的距离。门合上了。他在电梯里低头看了一眼纸箱里的绿萝,用右手食指碰了一下最大那片叶子的边缘。叶子微微颤了一下。电梯到一楼,门打开。他走出去的时候大堂里有人在看他。前台的小姑娘站了起来,嘴张了一下,没说话。他经过保安室的时候老周探出头来,看见他抱着纸箱,嘴张了一下又合上了,合上了又张了一下,最后说了一句:“陈工……”陈默说:“没事,周哥。”他继续往门口走,没有停步。老周坐在保安室里看着他抱着纸箱的背影穿过大堂,推开了玻璃门。门在他身后合上的时候外面的风灌进来,吹了一下他的头发。他站在路边等出租车。左臂的伤在疼,绷带底下的皮肉在发热,像有人在皮肤底下用小锤子一下一下地敲。纸箱搁在脚边,绿萝的叶子在风里摇了一下。一辆黑色保时捷从地下车库出口开上来,车头灯在灰白色的天光里显得很亮。它在他面前停住了。车窗摇下来,苏然坐在驾驶座上。她今天的头发有些乱,脸上有一道红印——是趴桌上睡了一夜压出来的。她看了他几秒,然后说了一句话:“赶紧上车。跟我走。”
陈默弯腰把纸箱抱起来。左臂碰到车门的边缘,绷带下面的伤口被挤了一下,他嘴角抽了一瞬。他拉开副驾驶的门坐进去,纸箱搁在膝盖上。苏然挂挡的时候看了一眼他的左臂:“疼?”他说:“不疼。”她把车开上了路,没有说话。过了两个路口她才开口:“解雇的事是我签的字。但我没有想赶你走。”陈默坐在副驾驶座上,纸箱搁在膝盖上。绿萝的叶子在他手腕侧面蹭了一下,冰凉的。“我知道。”他说。苏然转头看了他一眼:“你知道?”他说:“周立诚站在后面笑的时候,你的字是签在文件右上角的。你签字永远签右下角。右上角是被人逼着签的位置。”苏然没有说话。她的手攥着方向盘,攥得很紧,指节发白。车在高架上匀速地开着,空调的风声在两个人之间来回了一下。
---
**第3章**
苏然把车开上了高架,车速不快不慢,保持着稳定的间距。她的右手还是攥着方向盘,指节的颜色一直没缓回来。“昨天晚上那个不是普通抢劫。”她说,“他是冲着数据来的。有人指使他。指使的人是华源集团那边的。”陈默在副驾驶座上侧头看了她一眼。她没有看他,看着前面的路继续说:“歹徒昨天晚上要的密钥不是普通权限。是核心数据库的底层接口。拿到那个接口意味着能看到所有的客户合同、报价底价、五年内的战略规划。”她顿了一下,“周立诚跟华源那边有联系。”陈默没有说话。
她又开口了,语速比平时快了一些:“华源的人在系统里开了账户,‘PENG’这个账号已经用了两年了。以前我一直不知道。这次你出事之后我把所有的系统日志翻了一遍,花了四个小时。”陈默问:“你什么时候开始查的?”她说:“你被抬上救护车那天晚上。我在医院等到你进手术室之后回了公司。”陈默低头看了一眼膝盖上的纸箱。绿萝的叶子抵在他手腕侧面,凉丝丝的。“周立诚逼我解雇你,”苏然说,“他说如果我不处理你,他会把安全漏洞的责任推到我头上。”她把语速放慢了一些,“他说‘苏总,安全是技术部的活,出了事你让技术副总监走人很合理。你留着他不处理,那你自己负责。’”
陈默听完了。他沉默了一会儿,然后问:“你今天来找我,是想让我帮忙?”苏然在红灯前面停住车,转过头看着他:“是你先帮我挡的刀。”陈默的右手搭在纸箱边缘,手指轻轻叩了一下纸板:“那一刀我挨得值不值,你说了算。”苏然没有回答。绿灯亮了,她踩了油门。车继续开了一段之后她开口:“我手上现在有东西。周立诚三年的报销记录里有一些不该出现的名字。还有彭远用‘PENG’账户访问系统的时间记录。但这些东西目前只能证明‘异常’,不能证明‘指使’。”陈默说:“歹徒呢?”苏然说:“没抓到。但监控拍到了脸。”陈默想了一下:“监控在谁手里?”“保安室。老周值夜班,但他那天晚上不在岗。”陈默说:“那老周应该备份了。”苏然看了他一眼:“你怎么知道?”“他干了十六年保安,看到一个戴鸭舌帽的人半夜进大楼,第一反应肯定是录下来。这是他的职业习惯。”苏然没有再追问。
她把车停在陈默公寓的路口。陈默抱着纸箱下车的时候,左臂碰到了车门框,绷带下面的伤口被挤压了一下,他嘴角抽了一瞬。苏然看到了,没有说话。他关上车门之前她说了一句:“手机别关机。”陈默没有回头,点了一下头,走进了弄堂口。他进了门,把纸箱放在书桌上。绿萝放在窗台上,阳光透过玻璃落在叶子上,把那道小虫洞照得分明。他把保温杯洗了,杯子底部那个凹痕被水光覆盖了一下又露出来了。他把女儿那张生日卡片夹进《设计模式》里,夹在第一百四十七页,那页讲的是“策略模式”,页边有一行他自己的批注:“选择比努力重要。”然后他打开电脑。
他登录了盛鼎的OA系统。不是用自己的工号——那个账号已经被锁了。他走的是另一条路。系统内部有一个“审计跟踪”模块,是他十年前亲自写的,用来监控异常访问。那个模块本身不被认为是“敏感数据”,所以它的访问日志不记录“谁查看了它”。他当时为什么留这个口子,他自己也说不清楚。可能是写程序的人的习惯,总觉得“留个后路”比“没有后路”好。现在这个习惯成了他手里唯一还能用的工具。他输入了一段命令行,绕过权限层,进入了后台日志库。页面上滚过一行行记录,他在搜索栏里输入了“周立诚”和“华源”两个关键词,一条一条看过去。他用了两个小时,发现了三件事:第一,周立诚的报销记录里每季度都有一笔“技术咨询费”打给一个叫“华源数据”的公司;第二,华源数据的法人代表叫彭远,而彭远三年前从盛鼎跳槽去了华源;第三,每一次报销审批后的两到三天,系统后台都会出现异常访问记录,访问来源IP指向同一个地址段。他把这三条记在了心里,没有写在任何地方。窗外的天已经全黑了,他把电脑关了,屏幕黑下去的时候映出他自己的脸——眼窝比昨天深了一点,下巴上冒出了胡茬。他伸手摸了一下左臂的绷带,隔着布料摸到下面缝合线的轮廓。二十七针,一整条。他想到一件事。歹徒拿刀的姿势很专业——不是乱捅,是控制性的挟持,刀抵在苏然颈动脉的时候刃口没有倾斜,手很稳。他见过这种手法,退伍军人或者安保行业的人才会这样握刀。他拿起手机给苏然发了一条消息:“那个歹徒的手法像受过训练。你查一下周立诚有没有跟安保公司的人有往来。”苏然隔了半小时才回了一句:“我查到之后再告诉你。”陈默把手机放在桌上。窗帘缝里透进来的路灯在桌面上划了一道细长的亮线,他盯着那道线看了很久,然后站起来去厨房,倒了一杯水,站在水槽边喝完了。
---
**第4章**
第二天中午陈默请老周吃饭。地点在公司对面的一家小馆子,塑料台布,玻璃板下面压着一张泛黄的菜单。陈默比老周先到,点了一壶茶坐在靠窗的位置。老周进门的时候穿着灰色保安制服,袖口上印着盛鼎集团的logo。他坐下来看了一眼陈默的左臂:“你这手……真没事?”陈默说:“真没事。”老周看了他几秒,没有再追问。两个人点了菜,边吃边聊,说的是天气、菜的味道、老周新配的眼镜腿有点紧。吃到一半老周把手机掏出来放在桌面上,手指划了两下,然后推过来。屏幕上是一段监控视频,画面有些暗,但能看清。一个戴着黑色鸭舌帽的男人从正门走进去,直接进了电梯。右下角的时间戳是晚上十点四十五分。下一段是同一个出口的画面,同一个男人走出来,手里拎的那个黑色背包消失了。陈默看了两遍,把手机推回去:“周哥,这个你什么时候录的?”老周夹了一筷子菜:“第二天。我上班之后调了前一天的录像,拿手机录了一遍。我说不清为什么录,就觉得该录。”陈默说:“你帮了我大忙。”老周低头吃面,含含糊糊的:“我就一保安,能帮啥忙。”陈默说:“帮得正好。”
陈默把那段录像传到了自己手机上。传的过程中两个人谁也没说话,只有面碗里筷子碰碗沿的声音。传完之后老周放下筷子擦了擦嘴:“陈工,你手好了之后回来不?”陈默站在柜台前面扫码付款,没有回头:“不一定。但要是回来了,我第一个找你报到。”老周没有再说话。陈默转身走回桌边拿外套的时候老周在背后说了一句:“那你要快点好。”陈默点了点头,推门走了出去。外面的天阴着,他站在门口把手机里的录像看了一遍,然后把手机放回口袋里。
当天下午陈默把三样东西放在了一起。第一样:老周传给他的监控录像——歹徒进出大楼的完整记录,视频里时间戳是连续的,没有断帧。第二样:他从OA后台导出的周立诚报销记录——每季度一笔“技术咨询费”,收款方全部指向“华源数据科技有限公司”,金额每笔都在四万到五万之间,审批流程签批人都是周立诚,没有经过第二道审核。第三样:苏然发来的时间线文档——彭远从盛鼎跳槽到华源的日期、周立诚与华源数据接触的时间节点、“PENG”账户在系统内的活动记录。他把三样东西平铺在书桌上,排成一行。窗外是黄昏的天色,灰蓝色里透着一线橙红色的光,落在打印纸的边缘上。他看了很久,然后拿了一支笔在一张空白纸上写了三个名字。第一行:华源数据。第二行:周立诚。第三行:苏然。他在华源和周立诚之间画了一条线,线是直的,从第一行连到第二行。在周立诚和苏然之间也画了一条线。第三条线他犹豫了几秒,笔尖在纸面上停了一下,最后只在苏然名字旁边画了一个圈。不是心的形状,只是一笔画完的圆圈,圈住她的名字。他拍了张照存在云盘里,然后把那张纸折了两折放进了抽屉。
手机亮了。林小雨发来一条消息,没有寒暄,直接是一张截图。陈默点开,是盛鼎内部的公告截图。标题:“关于公司安全管理事务的临时人事安排通知”。正文:“因近期系统安全事件,公司决定由常务副总裁周立诚同志分管技术部日常事务,原技术部分管副总裁苏然同志暂停工作接受调查。”陈默看着那行字,把手机放在桌面上。窗帘透进来的路灯在桌上划了一道细长的亮线,他拿起来给苏然发了一条:“你被停职了?”苏然隔了很久才回了一个字:“嗯。”陈默说:“那正好。你休息,我干活。”苏然没有回。陈默把手机放下,窗台上的绿萝在夜风里轻轻晃了一下叶子。他伸手碰了一下那片叶子,手指触到叶面的时候是凉的,光滑的,那道小虫洞的边缘有些干。他收回了手。
---
**第5章**
第二天陈默去了一个做企业征信的朋友那里。朋友姓刘,四十多岁,戴一副厚框眼镜,桌面上堆了七八个档案盒,有的已经合不上了,用橡皮筋箍着。陈默跟他认识十几年了,以前在上一家公司的时候找他查过几次供应商背景。他坐在老刘对面:“帮我查一家公司。华源数据。法人代表是谁,背后的人是谁。”老刘在键盘上敲了几下,转了一下屏幕。页面显示:华源数据科技有限公司,成立时间四年前,注册资本五百万,法人代表彭远。陈默看着那个名字,想了三秒。彭远。三年前从盛鼎跳槽去华源的副总裁。他在盛鼎的最后一年,正好是周立诚从部门经理升到副总裁的那一年。也就是说,彭远是周立诚在盛鼎时的直属上司。陈默把那个名字记了下来,拍了张照存进手机。“谢了刘哥,改天请你吃饭。”老刘抬了一下下巴指了指他的左臂:“你手怎么了?”陈默低头看了一眼绷带:“没事,划了一下。”
回程的地铁上,他的手机震了。林小雨发来一条文字消息:“陈工,周立诚今天开始动技术部的权限了。他开了一个新账户。账户名是‘PENG’,全拼。”陈默看到那个名字的时候后背的汗毛竖了一下。“PENG”。彭远。周立诚在帮彭远在盛鼎的系统里开了一扇后门。他一只手拉着地铁吊环,另一只手打字:“‘PENG’账户什么时候开通的?权限级别是什么?”林小雨回得很快:“今天上午十一点零三分。权限级别是‘系统管理员’。”系统管理员。这意味着“PENG”可以看到盛鼎所有服务器的文件、数据库的备份、客户名单、报价体系、所有未公开的战略规划文档。陈默看完那行字,地铁到站了他没下。他坐过了一站。下一站他下车换乘往回坐。
晚上他在电脑上打开了系统日志的追踪页面。他没有登录那个“PENG”账户——登录会有记录,会被查到。他用了另一种方式:系统自带的“活动监控”功能,可以看到所有账户的访问行为,但不会记录“谁查看了它”。他输入了一段查询语句,等了三秒,页面刷新了。“PENG”账户在过去七十二小时内访问了三个文件夹:客户名单——打开过两次;报价体系——打开过一次;一份名为“2027Q4战略”的文档——打开过一次。每一次访问都有时间戳,精确到秒。陈默把审计日志下载了一份,存进了一个加密U盘。U盘是黑色的,没有任何标识。他拔下来,拉开抽屉放了进去,跟那张“三人关系图”放在一起。他拿起手机给林小雨回了一条:“这件事你别管了。把聊天记录删了。”林小雨回:“我删了。但截图了。”陈默看着那行字。他忽然觉得这个戴着圆框眼镜的小姑娘比他以为的大胆得多。他打了一行字:“截图存好,别发。”林小雨回了一个字:“好。”
当天晚上十一点,陈默给苏然打了一个电话。响了七声她才接。她的声音从听筒里传出来,很平,像什么都没发生:“什么事?”陈默说:“周立诚给彭远在系统里开了账户。‘PENG’。系统管理员权限。过去三天访问了客户名单、报价体系和战略规划文档。”苏然沉默了两秒:“你确定?”陈默说:“我确定。”苏然又问:“你手里的东西够不够?”陈默说:“够不够重要吗?重要的是你得回来。”电话那头安静了很久。然后苏然说了一句:“陈默,你知道我为什么一直没提拔你吗?”陈默说:“因为你怕我坐你的位置?”苏然笑了一声,很短,像是从鼻子里哼出来的:“因为你在技术上的本事,坐什么位置都浪费。”陈默没有说话。苏然说:“行了,你早点睡。”然后挂了。陈默坐在书桌前,手机屏幕还亮着。他看着通话结束的画面看了几秒,然后把锁了屏。窗台上的绿萝在夜风里动了一下,他转过头看了一会儿,然后关了灯。
---
**第6章**
陈默把审计日志和周立诚的报销记录放在一起。他用红笔在时间轴上画了四条线。第一条:报销审批日期往前推两天,是“PENG”账户第一次访问客户名单的日期。第二条:第二笔报销审批日期往前推一天,是“PENG”账户第一次访问报价体系的日期。第三条和第四条也一样,每一次支付之后,“PENG”账户都会在两天内访问一次敏感文件夹。四条线全部对得上。他把每一条线的起止日期写在了纸上,然后在旁边画了一个箭头,从周立诚的名字指向彭远的名字。链条闭环了:周立诚付钱,彭远收钱,彭远用“PENG”账户看数据。陈默把这些证据整理成一份PDF——报销记录截图、审计日志截图、访问时间对照表——加密,存在U盘里。他把U盘从电脑上拔下来的那一刻,手指在U盘外壳上停了一下。这个U盘里装的,是他十二年来在盛鼎攒下的全部信用。
与此同时,盛鼎集团内部正在发生另一件事。周立诚联合技术部新来的代总监和另外两个部门负责人向董事会提交了一份正式报告。标题是:“关于原技术部副总监陈默涉嫌利用职务之便预留系统后门、造成公司数据泄露风险的调查说明。”报告正文里“陈默”这个名字出现了十七次,每一次都跟在“漏洞”“风险”“追责”后面。新来的代总监打印了两份报告,一份交给周立诚,一份留底放在公共打印机上忘了拿走。林小雨路过打印机的时候看到了那摞纸,她停下来翻了两页,然后拿起来看了一遍。她用手机拍下了每一页,然后发给了陈默。附了一句话:“陈工,他们说可能要追究你的法律责任。”陈默点开那些图片的时候正在吃一碗泡面。他放下筷子,把图片一张一张放大看完,然后放下了手机。他没有慌。他打开电脑,翻出了十年前他写系统架构时的设计文档。那份文档在硬盘的“归档”文件夹里,文件名是一串日期加编号,四年前的记录,他每两年整理一次,没有删过。里面有一份关于“应急维护通道”的技术说明——在系统上线之初,他设计了一条只有最高权限才能访问的“安全通道”,用于紧急情况下的数据恢复。那条通道的设计方案在文档里写得清清楚楚,每一页都有时间戳。如果周立诚说的“后门”指的是那个通道,陈默可以用这份文档证明那是系统设计的一部分,不是“预留漏洞”。他用手机拍了一张文档封面的照片发给苏然,附了一句:“这是我的底牌。”苏然过了大概二十分钟才回了一条语音。陈默点开听,背景里有风声,她在室外。她的声音被风吹散了一些,但每一个字都清楚:“你管好你手里的东西。董事会那边我来。”
当天晚上十一点,陈默的手机收到一条短信。陌生号码,没有署名。内容只有一句话:“陈工,我是彭远。你手里的东西我出价买。你开个价。”陈默看着那行字,把手机屏幕锁了。他没有回。他端起桌上的保温杯喝了口水,水是凉的,但他还是咽下去了。他打开电脑把那份加密的PDF重新加密了一次,换了密码,然后把新密码记在了一张便签纸上,贴在了台灯底座下面。手机没有再响。他坐在书桌前,窗外的路灯透过窗帘缝隙在桌上划了一道细长的亮线。他关了灯,躺在床上看着天花板。左臂的伤口在发痒——拆线前的最后阶段,那种从皮肤深处往外顶的痒,像有蚂蚁在皮肤底下爬。他在黑暗里睁着眼睛,手机放在床头柜上,屏幕朝下。他没有再拿起来看那条短信。但他知道彭远的号码他存下来了。没有删。
---
**第7章**
董事会当天。苏然出现在会议室门口的时候,里面已经坐了大半的人。她穿了一件黑色西装,头发重新剪短了,整个人比停职前瘦了一圈——颧骨的位置更明显了,肩膀位置比之前松了一指宽。但她推开门走进来的时候,她的目光很稳,跟以前一样。周立诚坐在长桌的一侧,手里端着那个白色保温杯。他看到苏然进来,笑纹收了一瞬,然后恢复了原样,就像什么都没发生。苏然没有在自己的位子上坐下来。她走到长桌的一端站定,把手里的公文包放在桌面上,打开,取出一份正式函件。函件封面印着标题:“关于盛鼎集团核心系统安全事件的补充调查说明。”她把函件放在桌面上,没有翻开。然后她打开了投影仪。
第一张图片投在大屏幕上:周立诚过去三年签批的所有支付给华源数据的报销记录,每一笔都用红笔标注了金额和日期。会议室里有人往后靠了一下椅子,椅子腿在地板上蹭了一下。第二张图片:华源数据的企业信用报告,法人代表彭远的名字被圈了出来,旁边画了一个箭头指向下一张图片——彭远在盛鼎集团的任职记录,时间线与周立诚升职的时间线高度重合。第三张图片:“PENG”账户在系统内的活动日志——访问时间、访问文件、访问IP,每一条都列在上面。苏然放完第三张图片之后转过身,看着周立诚。会议室里安静得能听见投影仪散热风扇的低频嗡鸣。“周总,”苏然的声音不高,但足够让整张长桌两侧的人都听见,“你解释一下——为什么你签批的技术咨询费,每一笔都打给了华源数据?”
周立诚坐在椅子上。他的右手放在桌面上,食指和中指并拢着,关节微微泛白。他看着投影屏幕上的那些截图,没有说话。他的嘴张了一下又合上了,合上了又张了一下。然后他说了一句:“这是正常的业务往来。”这句话在投影屏幕面前很薄。苏然看着他:“业务往来需要开系统后门吗?”周立诚没有再说话。他放在桌面上的手指松开了。苏然继续说:“‘PENG’账户是你们技术部新开的。时间点跟周总签批最后一笔技术咨询费的时间相差一天。那一天,华源数据收到了盛鼎集团十八万的付款。第二天,‘PENG’账户上线了。”她停了大约两秒,“周总,你还想说什么?”周立诚靠在椅背上,右手从桌面上收回去放在了膝盖上。他说了一句:“我没什么好说的。”声音比刚才低了两度,像是嗓子里的气被抽走了一层。
投票结果是:周立诚停职调查,苏然恢复职务,陈默的“解雇决定”被撤销。投赞成票的人里有两个人之前是站在周立诚那边的,他们在苏然放完第三张图片之后就已经把椅子往苏然那边挪了一点。苏然最后说了一句话,声音不高,但整张桌子的人都听得到:“昨晚陈默给我发了一条消息。他说‘你管不管’。我说我管。我今天管了。”她合上公文包,拉好拉链,走出了会议室。
陈默不在会议室里。他坐在公司楼下的一间咖啡馆里,面前放着一杯拿铁,奶泡已经塌了,杯壁是凉的。他的手机亮了,是苏然发来的消息:“结束了。你什么时候回来?”他看了几秒,拿起那杯拿铁喝了一口。凉的,咖啡的苦味在舌根停了一下。他回了一条:“伤口还没拆线,我歇两天。”苏然回了一个字:“好。”隔了一会儿她又发了一条:“回来之后职位不变。但你报告对象以后直接是我,不经过任何副总裁。”陈默看着那行字,没有回。他把那杯拿铁喝完了,空杯放在桌面上,杯底磕了一下桌面,声音很轻。那天晚上老周发来一张照片——周立诚从盛鼎大楼走出来的背影,穿着灰色夹克,手里拎着一个纸箱。陈默认出了那个纸箱,跟他那天抱出来的是同一款。老周在照片下面写了一行字:“陈工,天道好轮回。”陈默看着那张照片,存了下来。他没有回。
---
**第8章**
拆线那天陈默坐在诊室里,护士拿着剪刀和镊子站在他旁边。剪刀刃口很薄,镊子尖很细。她把线结剪开,然后夹着线头一根一根往外抽。黑色的线从粉白色的皮肤里被拉出来的时候,他能感觉到每一根穿过皮肉的摩擦感——轻微的、线状的痒。二十七根线,护士抽了七八分钟。抽完之后她用碘伏棉球擦了一遍伤口,贴了一条医用胶带。“好了。愈合得不错。这条疤会在皮肤表面留下,时间久了会淡一些。”陈默坐起来低头看了一眼自己的左臂。从肩膀到肘弯,粉白色的凸起,边缘暗褐色,像一条半合拢的拉链。他看了几秒,然后放下袖子。他走出诊室的时候苏然坐在外面的塑料椅上,手里拿着一份文件但没有翻开。她看到陈默出来,站起来看了一眼他的左臂——袖子放下来了,看不到疤。“走吧,请你吃饭。”她说。
两个人在医院附近一家小馆子坐下来。馆子很小,只有六张桌子,塑料台布下面压着菜单。苏然点了一碗面、一盘青菜、一碟酱牛肉,把筷子递给陈默。他低头吃面,吃了几口之后苏然说了一句:“陈默,你下次别冲上来了。”他放下筷子看着她:“不冲上去你被捅一刀怎么办?”苏然说:“那也比你挨一刀强。你这一刀替谁挨的,你得想清楚。”陈默拿起筷子又夹了一筷面停了一下:“我想得很清楚。我在那家公司干了十二年。你是唯一一个我不觉得该被捅的人。”苏然低头吃了一口饭,嚼了很久才咽下去。她把筷子放下:“周立诚那边你打算怎么处理?”陈默也放下了筷子:“他走程序。该查的查,该移交的移交。我当不了判官,但我当得了原告。”苏然没有再说话。她端起水杯喝了一口,然后站起来去结了账。
两个人走出小馆子的时候天已经黑了。苏然的车停在路边,她上车之前回头看了他一眼:“陈默,你当初为什么进盛鼎?”陈默站在路灯下面想了一下:“因为你爸跟我爸是老同事。你爸让我爸转告一句话——‘这家公司需要能干活的人。’”苏然站在车门旁边,路灯把她的影子拉得很长:“那这句话到现在还作数。”她拉开车门坐了进去。车发动之后她隔着车窗看了他一眼,然后开走了。陈默站在路灯下面,风从路面上刮过去。他的左臂在袖子里面微微发痒——拆线后的伤口正在愈合,那种痒比之前更轻了一些,但一直存在。他低头看了一眼袖子下面的那道疤,然后转身往地铁站走。那天晚上他坐在书桌前,把那张“三人关系图”从抽屉里拿了出来。三个名字,三条线。周立诚那根线他用红笔划了一道横线,彭远那根线他还留着。他在彭远那根线上也划了一道横线,然后停了一下,在苏然名字旁边的那个圈外面又画了一个更大的圈。两个圈叠在一起。他把那张纸折起来放回了抽屉里。窗外夜色安静,远处高架上有车灯的光扫过天花板又消失了。
---
**第9章**
回到盛鼎上班的第一天,陈默走进大堂的时候老周从保安室里探出头来:“陈工——不对,得叫陈总了。”陈默说:“别叫总,叫老陈就行。”老周笑了一下:“行。老陈,你手好了?”陈默抬了一下左臂:“好了。”他走进电梯的时候电梯里有三个人,都在看他。有人点头打了个招呼,有人低头看手机。他按了三十八层的按钮。他走出电梯的时候走廊里站着技术部的几个人,有人鼓起掌来,稀稀拉拉的几声响,在走廊里回荡了一下就散了。有人从工位上站起来跟他握了一下手,握得用力,手掌是干的。他的工位还是原来的位置——但桌上那盆绿萝被人换了一盆新的。原来那盆他带走了,现在这盆叶子更大,每一片都是深绿色,没有虫洞,没有黄边。盆是新的,土也是新的。他的工牌被人挂回去了,白底,照片上的人比现在年轻几岁,头发比现在多。他坐下来,左臂搭在桌面上。
他打开电脑登录OA系统,所有权限都恢复了,而且多了一个新的权限标签——“系统架构审阅”。这意味着他能看到所有对系统架构的修改记录。他把过去一个月代总监做过的所有权限变更浏览了一遍,然后把“PENG”账户的创建记录、活动日志、权限调整全部导出了一份备份,存在U盘里。他又打开新系统的部署方案重新看了一遍,方案上的修改点跟他记忆中的一致,没有被人动过。林小雨端了一杯咖啡过来放在他桌上,白瓷杯,没有任何字。“陈工,欢迎回来。”陈默说:“谢谢。”林小雨转身走了两步又回头:“那个‘PENG’账户已经锁了。”陈默说:“我知道。”
中午他去食堂吃饭,经过大堂的时候老周从保安室里探出头来喊了一声:“老陈。”他停下来回头。老周坐在保安室里,面前的桌上放着一杯茶,手机搁在旁边。“你手好了?真的好了?”陈默抬了一下左臂:“好了。”老周点了点头:“那行。走吧,别耽误你吃饭。”陈默说:“周哥,你今天换眼镜了?”老周摸了一下脸上的镜框——黑色方框,比之前那副大了一圈。“嗯,配了副新的。之前那副腿断了。”陈默说:“新的不错。”他转身往食堂走了。走了几步之后他低头看了一眼自己的左臂,袖子挡住了那道疤,但他知道它在那里。下午快下班的时候他在电梯里碰到了林小雨,她正低头看手机,看到他进来把手机锁屏了。“陈工,明天你有时间吗?我想给你看个东西。”陈默说:“什么东西?”林小雨说:“我整理了一个时间线。从你挡刀那天到你被解雇,再到董事会。每个节点我都记了日期和当事人。”陈默看着她:“你整理这个干什么?”林小雨推了一下眼镜:“因为我觉得这件事不应该被忘记。”电梯到一楼,门打开了。陈默走出去之前说了一句:“明天中午,食堂见。”
---
**第10章**
周立诚被带走的那天下午,陈默正好在走廊里。他刚从苏然办公室出来,手里拿着一份批完的文档。周立诚的办公室门开了,他走了出来,身后跟着两个穿正装的人。没有打领带,外套扣子没系,衬衣领口最上面一颗扣子敞开着。他走到走廊尽头的时候停了一下,转过头,隔着十几米看了陈默一眼。那个眼神里没有恨,也没有遗憾,更像是一种“你赢了”的确认,干巴巴的,像一张签收单。陈默站在走廊另一头看着他,没有动。周立诚转回头跟着那两个人走进了电梯。电梯门合上之后走廊里安静了两秒,然后办公室里有人松了一口气——很轻的一声,像是窗帘被风吹起来又落下去。没有人说话。
当天下午苏然把陈默叫进办公室。她坐在办公桌后面,面前放着两份文件。第一份是周立诚的离职确认书,第二份是一份新的任命书。她把任命书推过来:“技术部总监,从下个月开始。原来的总监调去新项目了。这份工作,你干不干?”陈默低头看了一眼,然后拿起笔在签字栏签了自己的名字,三个字,笔锋收得利落。“我干。”苏然说:“新水调了四成。权限翻了一倍。周立诚以前能看的文件你都能看了。”陈默说:“我不是为了权限签字。我签字是因为你把话说清楚了。”苏然看了他一眼,没有再问。他走出办公室之后站在走廊里把任命书又看了一遍,然后拍了张照发给老周,附了一行字:“周哥,以后你来技术部盖章不用排队了。”老周回了一个竖大拇指的表情。陈默看着那个表情笑了一下,嘴角动了一下又恢复了。他把手机放回口袋里走回了工位。
那天晚上他坐在公寓的书桌前,把那张“三人关系图”从抽屉里拿了出来。三个名字都划掉了,只剩下一个圈。他看了一会儿,然后拿起笔在圈的右边画了一条延伸出去的线——没有终点,只是画到了纸的边缘,像路还在往前。然后他把那张纸折好放回了抽屉里。窗台上的绿萝叶子在夜风里摇了一下,他看了一眼,然后关了灯。
---
**第11章**
彭远在周立诚被带走之后的第三天被华源集团“暂停职务”。消息出来的时候陈默正在开技术部的周例会,他看了一眼手机推送,然后把手机翻了个面继续开会。散了会之后他给苏然发了一条消息:“彭远的事你做的?”苏然回:“不是。是他自己老板怕了。”陈默看着那行字明白了——华源集团的老板在彭远和周立诚的事情曝光之后立刻切割,把彭远推出去顶了锅。
当天下午陈默收到一封邮件。华源集团人力资源部发来的。标题是“关于聘请陈默先生担任华源集团技术顾问的邀约”。正文写得很客气——“陈先生在系统安全领域的建树”云云,“希望能有机会合作”。年薪栏的数字比他现在高出一倍。陈默看完之后笑了一下,把邮件转给苏然,附了一行字:“他们挖我。”苏然回了三个字:“你别走。”陈默没有回。他打开那封邮件,点了删除。邮件进了回收站,他清空了回收站。那天晚上他给老周发了一条消息:“周哥,你说一个人背叛了你一次之后还能信吗?”老周隔了很久才回了一条语音。陈默点开听,老周的声音从听筒里传出来,背景里有电视的杂音:“陈工,我干了十六年保安,见过的人比你家小区门口那棵树的叶子还多。信不信一个人,不看他说了什么,看他做了什么。你刚才问我这个问题——你心里已经有答案了。”陈默把那段语音听了两遍,然后把手机放在桌上。他把“彭远”那条线上的所有文件——报销记录、审计日志、系统访问记录——全部打包加密,存进了一个云盘文件夹,名字叫“备查”。然后关掉了电脑。
---
**第12章**
中午在食堂吃饭,老周端着餐盘坐在他对面。“陈工,你升官了还来食堂吃饭?”陈默夹了一筷青菜:“食堂便宜,省下来的钱给闺女交学费。”老周嚼着饭含含糊糊地问:“你闺女多大了?”陈默说:“七岁,上小学一年级。”老周点了点头:“那还小。”陈默低头继续吃饭,老周吃完了自己那份擦了擦嘴,然后忽然说了一句:“你前妻是不是住浦东那边?”陈默愣了一下:“你怎么知道?”老周说:“上次我在医院看到你了——你带闺女看病,你前妻也在。”陈默低头看着面前的空碗:“周哥,你眼睛够尖的。”老周说:“我干保安十六年了,认脸的本事练出来了。”陈默端起碗喝了一口汤:“她的事她自己管。我不管。”老周没有再说什么。陈默站起来收餐盘的时候老周在背后说了一句:“陈工,你这个人替别人想得多。也得替自己想想。”陈默端着餐盘停了一下,没有回头。他把餐盘放回了回收架上。那天晚上他给前妻打了一个电话。响了四声才接。她的声音淡淡的:“什么事?”陈默说:“听说你在找工作?”前妻沉默了两秒:“你听谁说的?”陈默说:“一个朋友。盛鼎在招行政,你可以投一下。”前妻说:“你帮我投?”陈默说:“我帮你看简历。你发我。”前妻沉默了一会儿,然后说了一个字:“好。”电话挂了。他坐在书桌前没动。窗台上的绿萝在夜风里晃了一下叶子,他伸手碰了一下最大那片叶子的边缘,指尖触到叶面的时候是凉的,光滑的。第二天前妻把简历发过来了。他在“自我评价”那一栏停住了——她写了一句:“性格独立,不依赖他人。”他看着那六个字看了几秒,然后保存了简历,没有转发给任何人。
---
**第13章**
夏天到了。陈默开始穿短袖上班,左臂的疤痕露在外面。那天他在走廊里遇到了苏然,她停下来看了一眼那条疤,粉白色的凸起从肩膀延伸到肘弯。“还疼吗?”陈默说:“阴天下雨的时候有一点痒。”苏然说:“那以后下雨天别加班。”她说完没有马上走,又看了那条疤一眼,然后转身走了。陈默站在走廊里低头看着自己的左臂,然后把袖子拉下来遮住了。
下午苏然把他叫进办公室。桌上放着一份红头文件。“周立诚的事基本了结了。华源那边主动撤了彭远的职,发了公开致歉函。你的解雇记录从档案里清掉了,改成了‘职务调整期间的短暂离岗’。”陈默低头看着那份文件,盖着盛鼎集团的公章。他看完之后抬起头:“苏总,我有个问题。”苏然说:“你问。”陈默说:“你当初签解雇文件的时候,想过我会回来吗?”苏然看着他的眼睛,沉默了几秒,然后说:“想过。但我不敢赌。”陈默点了点头。他没有再问。那天晚上他坐在书桌前把那张“三人关系图”从抽屉里拿出来看了一眼,三个名字都划掉了,只剩下一个圈。他看了一会儿,然后放回了抽屉。老周发来一条消息:“陈工,我今天看见周立诚了。他在别家公司门口排队面试。”陈默回了一句:“哪家?”老周说:“华源。”陈默笑了一声,很短,然后放下了手机。
---
**第14章**
三个月后。陈默早上走进盛鼎大楼,老周在保安室里探出头来:“陈工早。”他戴着那副新眼镜,黑框,镜片擦得很亮。陈默回了一句“早”。他今天穿了短袖,左臂的疤痕露在外面,粉白色的线从肩膀延伸到肘弯。他走过大堂的时候有人跟他打招呼——“陈总早”——他点了一下头。他坐下来打开电脑,收到一封邮件来自苏然:“下季度系统升级方案,你牵头。下周一开会。”他回了一个字:“好。”然后打开了OA系统开始审阅权限变更记录。桌面上那盆绿萝换了新土,叶子比三个月前更密了,最大那片叶子上的虫洞还在,但旁边新长的几片已经把它夹在中间了。他伸手碰了一下那片老叶子的边缘,然后收回手继续看文件。林小雨端了一杯咖啡放在他桌上。“陈总,明天的会议纪要模板我发你邮箱了。”陈默说:“好。”她转身走了,马尾辫在背后甩了一下,又回头:“陈总,你手好了之后那条疤还会痒吗?”陈默抬头看了她一眼:“有时候会。但比以前少了。”她点了点头走了。
下班之前他把文件批完了,站起来收拾桌面。绿萝往窗台里侧挪了一点,怕晚上的风把它吹倒。他走出办公室的时候走廊尽头的窗户外面是滨江路的方向,太阳正落下去,江面上的光碎成一片片的金色。他站了两秒,然后转身走向电梯。电梯到一楼,门打开。他走出去的时候保安换班了,老周不在,新来的保安不认识他,冲他点了点头。他推开玻璃门走出去,外面的风是暖的。六月的上海,晚风带着江水的潮气和一天的热气混在一起。他站在门口停了一步,抬头看了一眼天,然后走下台阶。他把公文包换到右手拎着,左臂垂在身侧,袖子已经挽到了肘弯上方。那道疤痕在路灯的光里是粉白色的,从肩膀到肘弯。他没有看它。他知道它在那里。它在阴天下雨的时候还会痒,但不会再疼了。前面的路还长着,但路在脚下,走着就是了。