
警笛声像两把生锈的锯子,来回拉扯着CBD清晨那层薄薄的宁静。红蓝光在“创辉科技”那栋玻璃幕墙写字楼上乱闪,晃得人眼晕。两辆警车斜插着停在楼门口,车门敞开,像两只张着嘴的怪鸟。
我坐在街对面那家“慢时光”咖啡馆靠窗的位置,手里捧着一杯早就凉透了的拿铁。咖啡表面的拉花早就糊成了一团,像此刻楼下那场闹剧一样难看。隔着一条街,我都能看见王浩——那个昨天还在朋友圈晒新买的百达翡丽、配文“天道酬勤”的中年男人——正被两个警察半架着胳膊,从旋转门里带出来。他身上的阿玛尼西装皱得跟咸菜一样,领带歪到一边,精心打理过的头发炸了几缕,在晨风里可笑地飘着。
他整张脸涨成了猪肝色,脖子上的青筋一跳一跳,冲着警察,也冲着周围那些举着手机偷偷拍摄的上班族嘶吼,唾沫星子在晨光里都能看见:“是他!绝对是周远那个王八蛋干的!我公司四千八百万的客户数据,一夜之间全成了乱码!你们快去抓他!抓他啊!”
声音尖利,带着破音,穿过街道的嘈杂,隐约钻进我耳朵里。
我端起凉透的咖啡,抿了一小口。苦涩,冰凉,顺着喉咙滑下去,却让胸腔里那股烧了整整一年的暗火,奇异地平静下来。嘴角自己就往上扯了扯,勾出一个没什么温度的弧度。
王总,别急。
这出我为你量身定制的戏,幕布,才刚刚拉开。
***
我的离职日,天气阴得能拧出水来。灰白色的云层压得很低,沉甸甸地盖在城市上空,像一块巨大的、脏了的抹布。这天气,跟我过去一年在“创辉科技”的心情,简直是绝配。
人力总监赵姐——一个四十多岁,永远穿着紧绷套裙,试图用浓妆盖住法令纹的女人——把我叫进了她那间用玻璃隔出来的小办公室。那地方像个鱼缸,我们就是里面游来游去供人观赏的鱼。外面开放式工位上,那些熟悉的、不熟悉的脸,或假装盯着屏幕敲得噼里啪啦,或借着喝水、起身的间隙,把目光斜斜地投过来。那目光里有同情,有好奇,有麻木,当然,也少不了那种“终于走了个刺头”的隐秘轻松。
赵姐脸上堆着那种培训过的、标准到虚假的笑容,嘴角弧度像是用尺子量过。她推了推鼻梁上的金丝眼镜,开口是那种甜得发腻的腔调:“周远啊,今天手续最后一步了。王总那边……嗯,他想跟你再聊聊。你……过去一下吧?”
我“嗯”了一声,脸上没什么表情。心里那点最后的不耐烦,也被一种更冰冷的、近乎看戏的情绪取代了。聊聊?还能聊出什么花来。
推开总经理办公室那扇厚重的胡桃木门,一股混合着昂贵雪茄、檀香,还有某种皮革护理剂的味道扑面而来。王浩就陷在那张据说花了十几万定做的真皮老板椅里,背对着门口,面朝落地窗,看着外面灰蒙蒙的天际线。听到动静,他慢悠悠地把椅子转过来,手里盘着一串油光水滑的小叶紫檀佛珠,珠子碰撞发出沉闷的“咔哒”声。
他今年四十七,保养得不错,头发染得乌黑,梳得一丝不苟,肚子被爱马仕皮带勒得微微凸起。脸上总挂着一种“一切尽在掌握”的淡笑,看人的时候,眼皮习惯性耷拉着,从缝隙里透出审视的光。
“来了?”他眼皮依旧没怎么抬,声音从鼻腔里哼出来,带着一种居高临下的慵懒,“坐。”
我在他对面那张硬邦邦的访客椅上坐下,脊背挺直,没靠椅背。这椅子据说也是他特意选的,让人坐不舒服,谈话就不会拖太久。
他终于把佛珠放在那方巨大的紫檀木办公桌上,十指交叉,手肘撑在桌面,身体前倾,用一种评估货物般的眼神上下扫着我:“周远,听说……铁了心要走?”
我迎着他的目光,脸上平静得像一潭死水:“是的,王总。离职流程走了一个月了。”
“嗯——”他拖长了调子,这声“嗯”拐了好几个弯,似乎对我这副油盐不进的样子有点不爽,“公司待你,不算差吧?啊?当初你从那个小作坊跳过来,是我亲自点的头。技术部主管,月薪两万三,五险一金顶格交。放眼整个行业,你这个年纪,这个待遇,不算委屈你吧?”
我心里那点看戏的情绪,瞬间被这句话点燃,烧起一片冰冷的火焰。
不算差?不委屈?
我记得太清楚了。入职那天,我揣着那份墨迹未干的劳动合同,心里揣着对未来的那点热乎气。合同上白纸黑字:试用期三个月,月薪两万,转正后两万三。我甚至记得当时赵姐指着那数字,笑眯眯地说:“王总很看重你,这是破例了。”
三个月,我几乎住在公司。把创辉那套原来跑起来像老牛拉破车、动不动就崩溃的客户数据系统,从底层架构开始,一行行代码重构。优化了数据库,重写了前后端,引入了新的缓存机制和负载均衡。系统响应速度从原来的十几秒提升到毫秒级,稳定性提高了百分之两百。那段时间,我熬得眼里全是红血丝,头发一把把地掉。
第四个月,我拿到转正后第一张工资条。手指有点抖,不是激动,是累的。可当我看清上面那个数字时,整个人像被扔进了冰窟窿。
实发金额:一万零五百。
我反复看了三遍,确认名字是我的,卡号是我的。然后我拿着工资条去找赵姐。她一开始打哈哈:“哎哟,是不是财务算错了?我帮你问问。” 问了两天,没下文。我再去,她躲不过了,把我拉到楼梯间,压低了声音,脸上带着为难和一丝不易察觉的轻蔑:“周远啊,这事儿……是王总的意思。公司最近几个大单子回款不顺,成本压力太大了。管理层决定,所有员工的薪资结构都要……重新评估。你的岗位,公司暂时只能按一万的基数来。王总说了,你是人才,眼光要放长远,等公司渡过难关,效益好了,肯定给你补上,一分不会少。”
“暂时”。这个词,我用了一年。
一年里,我带着技术部那七八个人,不仅维护着那套已经成为公司命脉的系统,还接了三个重要的定制开发项目。其中一个为某大型连锁超市做的数据中台,项目款就收了四百多万。我为公司创造的利润,早就远远超过了那所谓“两万三”月薪的几十倍。
每次项目庆功宴上,王浩拍着我的肩膀,对客户吹嘘:“这是我们公司的技术顶梁柱,周远!年轻有为!” 酒酣耳热时,我也曾试着提过一嘴薪资的事。他要么把话题岔开,大谈公司未来上市蓝图,给我画一张巨大的、飘在空中的期权大饼;要么就瞬间变脸,开始哭穷,说房租涨了,税负重了,竞争对手挖角了,公司是在苦苦支撑,大家要体谅。
体谅。我体谅了一年,体谅到房租都快交不起了。女朋友苏婷跟我挤在四十平的老破小里,看着商场橱窗里的裙子眼神发亮,却从来不说要买。她只是默默地把购物APP删了,说刷多了心烦。
“周远啊,”王浩的声音把我从冰冷的回忆里拽出来,他身体往后一靠,重新拿起那串佛珠,慢悠悠地捻着,语气带着一种令人作呕的“语重心长”,“年轻人,眼光要放长远,别老盯着眼前这点工资条上的数字。我看重的是你的能力,是你的潜力!那一万来块钱的差距,就当是公司帮你存着了,是磨炼你的心性!等以后公司做大了,上市了,你手里的期权,可能就是几百上千万!那时候你再回头看,就会感谢我今天对你的‘打磨’。”
他说得那么自然,那么理直气壮,仿佛克扣我的血汗钱,是在执行某种神圣的“锻造”仪式,是我修来的福分。
我看着他油光满面的脸,看着他那双戴着昂贵腕表、捻着佛珠的手,胃里一阵翻腾。但我脸上依旧没什么波澜,只是点了点头,声音平直得像一条冻住的河:“谢谢王总的‘用心良苦’。既然我要走了,工作上的事情,我会交接清楚。”
王浩对我这副“认命”的顺从样子显然非常受用。他脸上那种掌控一切的笑容又回来了,甚至带着几分施舍般的宽容。他站起身,绕过巨大的办公桌,走到我旁边,用力拍了拍我的肩膀,手掌厚实,带着汗湿的热气。
“这就对了嘛!我就知道你是聪明人,一点就透!”他嗓门大了些,显得很豪爽,“交接一定要细致,特别是核心数据那块,那是咱们公司的命根子,不能出半点岔子。新招的小伙子叫刘洋,我已经让他过来了,这几天你好好带带,务必让他把所有东西都接过去,能独立操作!”
“好的,王总。”我答应得没有一丝犹豫。
这种彻底放弃挣扎的态度,让王浩最后一点戒心也烟消云散。他甚至拍了拍我的后背,假惺惺地叹了口气:“晚上技术部聚餐,地方我定,给你饯行!以后出去了,常联系,江湖再见,还是朋友嘛!”
朋友?我在心里冷笑。我们之间,从你决定用一万块买断我所有努力和尊严的那一刻起,就只剩下一种关系了——猎人和掉进陷阱的猎物。只不过,现在角色该换换了。
走出他办公室,赵姐果然抱着文件夹等在外面。她递过来几张纸,最上面是醒目的黑体字:《离职保密及竞业限制协议》。我快速扫了一眼,条款比传说中的更苛刻:离职后三年内不得从事任何相关行业,不得以任何形式使用或泄露公司“任何商业信息”,违约金高达两百万。
“周远,在这里,还有这里,签个字。”赵姐指着几个地方,语气轻松,好像让我签的是份收据。
我接过笔,笔尖在纸张上停顿了不到一秒,然后流畅地签下了“周远”两个字。笔迹稳定,没有丝毫颤抖。
赵姐明显松了口气,接过协议,脸上的笑容真切了不少,甚至带了点安慰的意思:“行了,手续齐了。以后有啥需要帮忙的,尽管说。” 我知道,在她眼里,我不过是个终于认清了现实、不再闹腾的麻烦精,顺利打发走了,她这个月的绩效考核又能好看一点。
回到那个我坐了一年、此刻已经清理得差不多的工位。桌面上只剩下一台公司配的笔记本电脑,屏幕亮着,幽幽的光映着我没什么表情的脸。屏幕上,正是那套我一手搭建起来的数据系统后台管理界面。深蓝色的背景,左侧是整齐的功能菜单,右侧是实时监控图表。一行行日志安静地滚动着,记录着这个庞大数字躯体的每一次呼吸。
它们曾是我的孩子,每一行代码都浸透着我的心血和汗水。我熟悉它们就像熟悉自己的掌纹。但现在,它们在我眼里,只是一堆排列整齐的、冰冷的符号,是我复仇棋盘上,早已布好的棋子。
我深吸一口气,开始整理所谓的“交接文档”。我写得极其认真,甚至可以说是一种虔诚的表演。我用了整整一个下午加一个晚上,写出了一份足足六十五页的PDF文档,图文并茂,事无巨细。
从如何登录服务器(IP地址、端口、账号密码),到日常巡检需要看哪些指标(CPU负载、内存使用率、磁盘空间、网络流量),再到数据库的备份和恢复操作(步骤分解,附带命令行截图),以及前端应用发布的全流程(从代码拉取、编译、打包到部署、重启服务)。我甚至把一些常用的、用来处理琐碎事务的Shell脚本和Python脚本都整理出来,打包在一个文件夹里,每个脚本都写了详细的注释,说明用途、输入参数和可能的风险。
文档的措辞极其“小白友好”,我假设接手的人是个完全的新手,把每一个可能卡住的点都标红加粗,配上箭头和说明框。任何一个智商正常的人,拿着这份文档,照葫芦画瓢,至少能让系统表面上维持运转。
部门里几个平时关系还行的同事,陆续过来跟我打招呼。话里话外无非是“以后常联系”、“去了好地方别忘了兄弟们”、“保重”之类的客套。空气里弥漫着一种微妙的尴尬和淡淡的惋惜。
只有张昊,那个跟我同期进公司、一起熬过无数夜的后端开发,把我拽到了消防通道。这里没监控,只有安全出口指示灯泛着绿油油的光。他递给我一支烟,我没接,他也没勉强,自己点上,狠狠吸了一口。
“远哥,真就这么算了?”他压着嗓子,烟雾从他鼻孔里喷出来,“王扒皮这手也太脏了,卸磨杀驴都没这么狠。你那系统,给他赚了多少钱?他就这么对你?”
我看着楼梯下方无尽的黑暗,声音没什么起伏:“不然呢?劳动仲裁?耗时间,耗精力,最后就算赢了,赔我那点钱,还不够恶心我的。算了,没意思。”
张昊叹了口气,把烟头在冰冷的楼梯扶手上碾灭:“你走了,技术部算是完了。新来那刘洋,我侧面打听过,以前在个外包公司干测试的,代码都写不利索。王扒皮图便宜,真是……”
“我留了手册,”我打断他,语气甚至带了点轻松,“按着做,出不了大岔子。”
张昊看了我一眼,那眼神有点复杂,好像想说什么,又咽了回去,最后只是又拍了拍我的肩膀:“行吧,你心里有数就行。以后……多联系。”
他转身推门回了办公室。消防通道里只剩下我和那点烟味,还有安全指示灯单调的绿光。
没人知道,在那份详尽到啰嗦的交接手册下面,到底藏着什么。那套系统的真正核心——底层的分布式架构设计、关键的数据分片规则、核心加解密模块的算法逻辑、以及那套我自己编写的、用来保证数据最终一致性的消息队列机制——我一个字都没提。那六十五页文档,就像一本豪华汽车的使用说明书,只告诉你怎么开空调、怎么调座椅、怎么播放音乐,至于发动机怎么工作的、变速箱是什么原理、行车电脑的核心代码是什么,只字未提。
我留下的,是一个看起来功能完备、运行平稳的漂亮外壳。而通往它心脏的钥匙,以及早已埋设在心脏深处的那些“小礼物”,还牢牢地、唯一地,握在我自己手里。
***
刘洋是在我离职前倒数第三天来报到的。个子不高,有点瘦,戴着一副黑框眼镜,镜片很厚,看人的时候眼神有点躲闪,说话声音细细的,带着刚出校园没多久的那种怯生生的紧张。王浩亲自把他领到我工位前,手搭在刘洋肩膀上,用力按了按,声音洪亮,确保周围人都能听见:
“小刘啊,这位就是周远,周工!咱们公司的技术大神,顶梁柱!你接下来几天,啥也别干,就一件事——把周工脑子里的东西,给我一滴不剩地学到手!能不能留下,能不能转正,就看你这几天的表现了!”
刘洋被他按得肩膀一缩,连忙朝我弯了弯腰,声音发紧:“周老师,您好!我……我一定努力学,给您添麻烦了!”
我看着他那张还带着青春痘印、写满惶恐和渴望的脸,仿佛看到了五年前刚毕业的自己。也是这样,对技术充满近乎虔诚的向往,对职场带着笨拙的讨好,以为只要努力,就能得到相应的回报。
可惜,他踏进的是创辉科技,遇到的是王浩。
我心里掠过一丝极淡的、几乎察觉不到的涟漪,但很快就被更坚硬的冰层覆盖。我没有流露出任何不耐烦,反而表现得异常耐心,甚至称得上“慈祥”。
我把那本厚厚的六十五页手册打印出来,装订好,郑重地放到他手里,语气温和:“别紧张,技术这东西,都是慢慢积累的。这是我整理的交接文档,里面每一步都写得很清楚,还配了图。你先从头到尾看一遍,有个整体概念,哪里看不懂,随时问我。”
刘洋双手接过那份沉甸甸的文档,像接过什么圣旨,眼睛都亮了一下,连连点头:“谢谢周老师!我一定认真看!”
接下来的两天,我进入了“全职导师”模式。我几乎寸步不离地坐在他旁边,看着他对着手册操作。从最基础的通过SSH连接服务器开始,到查看系统日志,检查数据库连接状态,监控应用进程。
他基础确实薄弱,很多在我看来是常识的概念,比如“负载均衡”、“数据库索引”、“事务回滚”,他都需要我反复解释两三遍才能勉强理解。我没有任何斥责,反而解释得更加细致,用上各种比喻,甚至直接在纸上画示意图。
我带他熟悉了每一台线上服务器的IP、主机名、用途。告诉他哪些是Web服务器,哪些是数据库主从节点,哪些是缓存服务器。我打开文件管理器,一个个目录指给他看:“这里是应用部署目录,千万别乱动。这里是日志目录,出了问题首先来这里查。这里是备份目录,每天凌晨的备份文件会放在这里……”
我把那些整理好的运维脚本文件夹拖到他桌面,一个个点开讲解:“这个脚本是用来清理三天前日志的,每天凌晨四点自动跑。这个脚本是监控数据库慢查询的,如果发现异常会发邮件报警,收件人列表在这里,你记得把你的邮箱加进去。这个脚本是用来一键重启所有前端服务的,有时候发布后需要用到,但用之前一定要确认数据库操作都完成了……”
我讲得口干舌燥,他却听得如痴如醉,拿着个笔记本拼命地记,字迹潦草但认真。
“周老师,您……您真是太负责了。”他不止一次地抬起头,镜片后的眼睛里充满了感激和崇拜,“我之前实习那家公司,老员工根本不理我们新人,问个问题都爱答不理的,全靠自己瞎琢磨。像您这样手把手教的,我还是第一次遇到。”
我笑了笑,那笑容大概看起来挺温和:“没什么,都是这么过来的。把该教的都教了,我走得也安心。”
我当然要“教”得尽心尽力。我必须确保,在我离开之后,从王浩到赵姐,再到技术部每一个同事,甚至包括刘洋自己,都深信不疑——周远已经完成了一次毫无保留的、完美无缺的工作交接。他是一个被公司亏待了,却依然恪守职业道德的“老实人”。
而整个交接过程的“华彩乐章”,是我特意留到最后的“全自动异地容灾备份系统”。
我把他叫到我的电脑前,打开一个浏览器页面。那是一个看起来非常专业、充满科技感的监控面板。深色背景,左侧是树状菜单,右侧是各种实时曲线图、状态指示灯和数据表格。正中央是一个大大的地图,显示着两个光点,一个在本地,一个在遥远的另一个城市,中间有虚线连接,模拟着数据流动的动画。
“小刘,看这里。”我的语气变得格外严肃,指着那个面板,“这是我花了将近一年时间,独立设计开发的容灾备份系统。是咱们公司数据安全的最后一道,也是最坚固的防线。”
刘洋屏住呼吸,凑近屏幕,眼睛瞪得老大。
“你看,”我移动鼠标,点开几个子页面,“这里监控主数据库的所有核心表。这里显示备份任务的执行历史和状态。最关键的是这里——”我点开一个写着“灾备策略”的页面,上面有复杂的调度设置,“我设定的是,每天凌晨三点整,系统会自动启动备份任务。它会先把主数据库里所有的核心客户数据——注意,是所有的——进行高强度加密打包,生成一个加密的数据包。然后,通过专用的加密通道,把这个数据包实时同步到我们在西部数据中心租用的高可用云存储上。”
我调出日志页面,指着上面一行行看似复杂的记录:“你看,这是昨晚的备份日志。‘数据校验通过’、‘加密完成’、‘开始同步’、‘同步成功,耗时2小时17分’。整个过程全自动,无需人工干预。”
刘洋看得连连点头,嘴里发出“啧啧”的惊叹声。
“这套系统的最高管理权限,我现在移交给你。”我转向他,目光凝重,“这是公司的命脉,除了王总,只有你一个人有操作权限。万一,我是说万一,咱们本地机房出了任何问题,比如火灾、断电、甚至……被黑客攻击导致数据损坏,你就可以登录这个系统,从西部数据中心一键恢复数据。理论上,最多半个小时,业务就能完全恢复正常。”
我新建了一个文本文件,在里面输入了一串极其复杂的密码:大小写字母、数字、特殊符号混合,长达二十位。然后郑重其事地把这个文件拖到他的电脑桌面上。
“密码在这里,你务必记好,最好抄在纸上,放在绝对安全的地方。不要保存在电脑里,也不要告诉任何人,包括王总。他问起来,你就说密码是我设的,只有我知道,但我已经离职联系不上了。这是为了安全,明白吗?”我盯着他的眼睛,语气不容置疑。
刘洋被这突如其来的“重任”砸得有点懵,随即涌起一股被极度信任的激动和责任感。他用力点头,脸都涨红了:“明、明白!周老师您放心!我一定保管好!死也不会说出去!”
他手忙脚乱地拿出一个崭新的笔记本,把那串密码工工整整地抄在了第一页,还在旁边画了个大大的星号。
他当然不会知道,那个看起来高大上的“容灾备份系统”,不过是我用一个开源的服务器监控模板(Grafana)深度魔改出来的华丽外壳。那些实时曲线图是伪造的,数据流动动画是循环播放的,日志记录是提前写好的脚本自动生成的。
它每天凌晨三点确实会准时运行一个任务。但这个任务做的根本不是备份。它首先会调用一个真正的、但被我修改过的加密程序。这个程序在“打包”数据时,会神不知鬼不觉地在每一条核心数据记录的特定字段里,植入一个微小的、深度隐藏的“逻辑锁”。这个锁本身不改变数据内容,也不影响任何正常读取,它就像一颗颗只有我知道激活密码的微型炸弹,静静地沉睡在数据的海洋里。
然后,这个任务会生成一个大小看起来很正常、文件名也很规范的“备份文件”,但这个文件里面,除了文件头尾的一些伪装信息,核心内容全是随机生成的垃圾数据。最后,它会煞有介事地启动“同步传输”,实际上只是把那个垃圾文件复制一份到某个无关紧要的临时目录,并在日志里写下“同步成功”的字样。
真正的、未加密的原始数据?它们从未离开过本地服务器半步。而那些承载着公司命脉的、有效的备份?从一开始,就不存在。
交接的最后一天下午,我当着刘洋、技术部经理,以及被特意叫来的赵姐的面,进行“清理”。我打开我的办公电脑,进入系统,打开资源管理器,把我个人目录下所有非工作相关的文件(其实早就转移干净了)拖进回收站,清空。然后我打开命令行,输入了几条清除操作历史、浏览器记录的命令。最后,我重启电脑,进入BIOS,执行了快速格式化。
电脑屏幕暗下去,又亮起来,进入全新的、需要安装操作系统的界面。
“好了,”我转过身,对技术部经理说,“我个人的所有东西,都清理干净了。电脑也格式化了,不会有任何残留。”
技术部经理是个老好人,技术一般,管理也稀松,平时对我还算客气。他上前看了看空荡荡的硬盘和格式化的界面,点了点头,对赵姐说:“赵总监,周工这边……都处理好了。”
赵姐象征性地看了看,脸上露出满意的笑容。
王浩也像是闻着味儿一样,适时地出现在技术部门口。他背着手,踱着方步走进来,目光扫过格式化中的电脑屏幕,又扫过刘洋桌上那本厚厚的交接手册,最后落在我脸上,笑容灿烂得像是中了彩票。
“周远,都交接妥了?”他声音洪亮,带着一种“捡了大便宜”的愉悦。
“是的,王总。”我把最后一份需要签字的《工作交接确认单》递给他,上面罗列了交接的各项内容,最后一项赫然写着“核心数据容灾备份系统权限及密码已移交至刘洋”。我在移交人那里签了名。
王浩接过单子,看都没仔细看,就在负责人签字栏龙飞凤舞地签上了自己的大名,还拍了拍我的胳膊:“好!干得漂亮!我就喜欢你这股子利索劲儿!这下我总算能放心了!”
他以为他用一万块的月薪,就买断了我一年的心血、才华和尊严,还附赠了一个看似固若金汤、能让他从此高枕无忧的数据保险箱。他甚至不知道,他亲手签收的,是一份通往破产的确认书,他按下的,是那颗深埋地下的定时炸弹的启动按钮。
晚上的饯行宴,王浩果然出席了,定在一家挺上档次的粤菜馆包间。他喝了不少茅台,脸红得像关公,端着酒杯摇摇晃晃地站起来,揽着我的肩膀,对着满桌子的人——技术部的、其他部门来凑热闹的经理——大着舌头说:
“各位!今天,我们在这里,欢送我们公司的功臣!周远,周工!”他用力拍我的背,拍得我生疼,“虽然周工因为个人发展要离开我们创辉了,但是!他给我们留下了一笔无法估量的宝贵财富!就是咱们公司现在这套,行业里最牛逼的数据系统!这就是周工能力的证明!是咱们创辉技术的金字招牌!来!大家一起,敬周工一杯!祝他前程似锦!”
同事们不管情愿不情愿,都纷纷举杯,说着“周工以后发达了别忘了兄弟们”、“常回来看看”之类的片儿汤话。灯光下,一张张脸被酒精染红,笑容真假难辨。
我端起面前那杯白酒,透明的液体在杯子里晃荡。我微笑着,目光扫过王浩那张志得意满的脸,然后仰头,一饮而尽。
烈酒像一条火线,从喉咙一直烧到胃里,灼热,刺痛。
王浩,你现在笑得多畅快,明天,你就会哭得多难看。
你眼中的“宝贵财富”,很快就会变成勒在你脖子上、让你窒息而亡的绞索。
好戏,真的快要开场了。
***
离职后的第一个早晨,我是被窗外淅淅沥沥的雨声吵醒的。没有刺耳的闹钟,没有睡眼惺忪爬起来第一件事就是摸手机看工作群的紧迫感。我躺在出租屋那张有点塌陷的床上,盯着天花板上因为潮湿而泛黄的污渍,发了很久的呆。
空气里有种陌生的、带着灰尘和雨水气息的味道。我花了点时间才辨认出来,那叫“自由”。一种卸下重担后,空落落的、带着轻微眩晕的自由。
我慢吞吞地爬起来,赤脚踩在冰凉的地板上,走到狭小的厨房,给自己煮了一壶挂耳咖啡。香味弥漫开的时候,苏婷也揉着眼睛从卧室出来了。她穿着洗得发白的旧睡衣,头发有点乱,素颜的脸在晨光里显得有点苍白,但眼睛很亮。
“今天不用早起了?”她声音带着刚睡醒的沙哑,靠在小厨房的门框上看着我。
“嗯,不用了。”我把咖啡倒进两个马克杯里,递给她一杯,“彻底自由了。”
她接过杯子,双手捧着,小心地吹着气,然后抬眼看了看我,眼神里有些担忧,但更多的是如释重负:“走了也好。那种地方,待久了折寿。”她顿了顿,声音低下去,“就是……接下来找工作,你别太急。我这边还能撑一阵。”
我心里像是被什么东西轻轻刺了一下。苏婷在一家小贸易公司做行政,工资不高,但稳定。过去一年,我那份被克扣的工资付完房租水电就所剩无几,很多时候是靠她的收入补贴家用,才能勉强维持。她从来没抱怨过,只是更节省了,买菜都要比价半天,护肤品从商场专柜换成了开架货。
“放心,”我喝了一口咖啡,苦涩但提神,“很快就会有新工作的。而且,不会比之前差。”
她笑了笑,没再多问,转身去洗漱了。她总是这样,给我足够的空间,不过多追问我的计划,只是默默支持。这让我心里那点因为即将要做的事而产生的细微波澜,很快平息下去,变成更坚定的冰冷。
白天,我过得像个真正的无业游民。看了一部冗长的文艺片,翻了半本买了很久没看的编程书,下午甚至撑着伞去附近的公园溜达了一圈,看老头老太太打太极、下棋。我的大脑似乎放空了,不再思考任何与代码、系统、王浩有关的事情。
但我知道,这只是暴风雨前最后的宁静。我的计划,像一台精密的钟表,每一个齿轮都早已啮合到位,只等那个预设的时刻到来。
根据创辉科技那本厚厚的《员工手册》规定,离职员工的所有系统账户、访问权限、密钥,会在离职手续全部完成后的第一个工作日,也就是今天,零点整,由系统自动批量注销。人力部的赵姐会在下班前点击那个“确认”按钮。
也就是说,在今晚午夜十二点之前,那个属于“周远”的账号,在创辉科技的服务器权限体系里,理论上还“活着”。尽管我已经交出了密码,尽管我格式化了电脑,但在系统日志里,它依然是一个合法的存在。
我需要绝对的“不在场证明”。我的复仇,必须发生在这个账号被彻底抹去之后。这就像一场完美的犯罪,凶手必须在离开现场、洗清所有嫌疑之后,才遥控引爆早已埋设好的炸弹。任何一点时间上的重叠,都可能成为致命的破绽。
晚上十一点五十分,苏婷已经睡了。我轻轻关上卧室的门,走到客厅那张兼作书桌的折叠桌前,打开了我的私人笔记本电脑。这是一台外表普通的ThinkPad,但里面被我彻底改造过。硬盘是加密的,系统是高度定制的Linux,所有网络流量都会通过一个由我控制的、层层跳转的代理链出去,最终IP地址可能显示在地球上任何一个角落。
屏幕亮起,幽蓝的光映着我的脸。我没有登录创辉科技的任何服务器,甚至没有打开浏览器。我只是启动了一个极其简单的终端窗口,黑色的背景,白色的光标静静闪烁。
然后,我打开了一个本地日志监控程序。这个程序连接着一个我早在半年前,借着一次“系统安全加固”的名义,悄悄部署在创辉科技核心服务器防火墙上的隐蔽探针。这个探针只有一个功能:实时监听系统账户权限的变更日志,并加密发送到我的一个匿名邮箱。它本身不执行任何操作,体积微小,极难被常规安全扫描发现。
时间一分一秒地过去。客厅里只有电脑风扇极轻微的嗡鸣,和窗外渐渐沥沥似乎永不停歇的雨声。我盯着日志窗口,呼吸平稳。
当时钟的指针,在屏幕上那个小小的数字时钟显示里,无声地跳过“00:00”时——
日志窗口里,突兀地、干净利落地弹出了一行新的记录:
`[INFO] User account 'zhouyuan' permanently deleted from LDAP. All associated privileges revoked.`
(用户账号 ‘zhouyuan’ 已从LDAP永久删除。所有关联权限已撤销。)
来了。
我盯着那行字,看了足足十秒钟。然后,嘴角慢慢向上扯开,一个没有任何声音的笑容在脸上绽开。冰冷,而畅快。
王浩,赵姐,你们的效率,果然没让我失望。
现在,从任何系统层面、任何日志记录上看,“周远”这个账号,已经和创辉科技彻彻底底、干干净净地断绝了关系。我是一个已经离开三天的前员工,一个在系统里已经“不存在”的人。
那么,接下来发生的一切,自然与我这个“不存在”的人,毫无关系了。
我关掉了日志监控窗口。深吸一口气,又缓缓吐出。手指放在键盘上,冰凉,稳定。
我打开了另一个终端,输入了一串非常简短的命令。这命令看起来人畜无害,甚至有些可笑:
`curl -s "http://wttr.in/本市?format=3"`
这是一个调用公开天气API的命令,它会返回一个极其简化的、只有一行的天气预报。比如:“本市:晴 12°C - 22°C”。
这个命令本身,当然没有任何破坏力。它甚至不是黑客工具,只是一个程序员偶尔用来快速查看天气的小技巧。
但,它就是那把“钥匙”。
在创辉科技的服务器深处,那个每天凌晨三点准时运行的、被我精心伪装过的“加密打包”程序,除了植入“逻辑锁”和生成假备份文件之外,还有一个隐藏极深的后台线程。这个线程会每隔一分钟,悄无声息地访问一个特定的、毫无特征的境外网址。那个网址指向一个内容聚合网站的一个随机页面,而那个页面的内容,是由另一个我控制的脚本,根据我刚刚输入的这条天气查询命令的返回结果,实时生成并更新的。
如果这个线程发现,那个特定页面的最新内容,与我刚刚查询到的天气字符串(比如“本市:晴 12°C - 22°C”)完全一致,一字不差,那么,它就会向沉睡在数据库各处的、成千上万个“逻辑锁”,发送一个激活信号。
这是一种“死人开关”(Dead Man's Switch)。就算未来有顶尖的安全专家彻查所有代码,他们也最多认为这是一个设计拙劣、存在严重安全漏洞的“远程状态检查”后门,是程序员不负责任留下的烂摊子。谁会想到,一个查看天气的公开API,会和一家公司价值数千万的核心数据安全挂钩?
手指按下回车。
命令执行。网络稍有延迟。
白色的终端窗口里,跳出了一行简短的反馈:
`本市:阴转小雨 8°C - 15°C`
我复制了这行文字。然后,打开一个极其简易的、没有任何个人信息的文本编辑器,将这行字粘贴进去,保存。接着,通过一个复杂的匿名上传工具,将这个文本文件上传到那个特定的境外网址,覆盖掉旧的内容。
整个操作过程,不到三十秒。
做完这一切,我关掉了电脑。屏幕暗下去,客厅陷入一片黑暗,只有窗外路灯的光,透过没拉严的窗帘缝隙,在地板上投下一道惨白的光带。
我静静地坐在黑暗里,能听到自己平稳的心跳声。没有激动,没有紧张,只有一种近乎虚无的平静。
我能想象,此时此刻,在创辉科技那间恒温恒湿、闪着各色指示灯的机房裏。那个伪装成“备份程序”的幽灵,检测到了境外网址内容的更新。字符串比对,完全匹配。
激活信号,无声地发出。
成千上万个沉睡的“逻辑锁”在同一瞬间被唤醒。它们开始执行我预设的唯一任务:对每一条客户数据记录的核心字段——客户ID、姓名、手机号、邮箱、地址、交易金额、合同编号——进行原地加密。使用的是一种一次性的、随机生成的、高强度非对称加密密钥。加密完成后,密钥本身会被立即销毁。
这个过程,发生在数据库引擎的最底层,不会产生任何额外的网络流量,不会触发任何“数据被修改”的常规警报。在系统日志里,这看起来就像是数据库在进行一次例行的“索引重建”或“数据碎片整理”,是后台正常的维护操作。
与此同时,那个华丽的“容灾备份系统”界面,依旧在忠实地“工作”。它会在凌晨三点,准时启动任务,将这批已经被加密成天书的数据,再次“打包”,生成一个新的、同样是垃圾内容的“备份文件”,然后“同步”到那个根本不存在的西部数据中心,覆盖掉前一天的假备份。
一切,都看起来那么正常,那么合规。
当明天早晨,太阳照常升起(虽然天气预报是阴雨),王浩和他的销售团队打开系统,准备开始新一天的业务时,他们会发现,他们赖以生存的客户海洋,已经变成了一片无法解读、无法进入的死亡沙漠。
数据还在,一个字节都没少。
但它们已经变成了无人能懂的密码。而唯一能解开这些密码的“钥匙”,随着那些随机密钥的销毁,已经永远消失在数字世界的虚空里。
王浩,这份我精心为你准备了一年的“大礼”,希望你喜欢。
我站起身,走到窗边,拉开一点窗帘。雨还在下,街道湿漉漉的,反射着霓虹灯破碎的光。远处,CBD那些摩天大楼的轮廓在雨夜中模糊不清,其中一栋,就是创辉科技所在的地方。
我看了很久,直到眼睛有些发涩,才拉上窗帘,转身走向卧室。
该睡觉了。明天,或许会是很热闹的一天。

雨下了一夜,到早上也没停,反而更密了些,打在窗户上沙沙作响。我醒得比平时晚,但睡眠很浅,一点动静就能惊醒。苏婷已经上班去了,桌上给我留了半碗粥和一个煮鸡蛋,底下压了张纸条:“记得吃,别省。”
我慢吞吞地吃完早饭,洗了碗,然后坐到电脑前。没开工作相关的任何东西,只是随意浏览着新闻和招聘网站。鼠标漫无目的地点击,眼神却时不时飘向屏幕右下角的时间。
九点整。
九点十分。
九点半。
我的手机一直很安静。没有陌生号码,没有老同事的微信,连垃圾短信都比平时少。这种寂静,反而让空气里绷紧了一根无形的弦。
我知道,创辉科技那边,此刻应该已经炸锅了。
***
创辉科技的早晨,是从销售总监孙胖子一声变了调的惊呼开始的。
孙胖子本名孙志强,四十出头,体重两百斤往上,是公司的元老,也是王浩的铁杆跟班。他最大的爱好是每天早上一到公司,就泡上一壶浓得发黑的普洱,然后打开CRM系统,像皇帝批阅奏章一样,浏览他手下那几十个销售的战绩,尤其是那几个他亲自盯着的、即将签约的大客户。
今天也不例外。他端着紫砂茶杯,晃着肥硕的身子坐进他那间用磨砂玻璃隔出的小办公室,优哉游哉地登录系统。输入账号密码,点击“我的客户列表”。
页面缓慢加载出来——这是这套系统一直以来的小毛病,数据量大,即使优化过,第一次加载也要几秒钟。孙胖子不耐烦地用杯盖撇着浮沫。
然后,他的动作僵住了。
屏幕上,原本应该整齐排列的客户姓名、公司、联系电话、最近跟进记录……全都消失了。取而代之的,是一行行、一列列扭曲的、毫无意义的字符乱码。
“#K$%&*@! 辉腾集团”
“138****???? 李总”
“签约意向:&^%$#@!! 高”
孙胖子眨了眨他那双被肥肉挤成缝的小眼睛,以为自己眼花了,或者昨晚喝多了还没醒。他用力揉了揉眼睛,刷新页面。
乱码依旧。
他脑门上的汗“唰”一下就出来了。手有点抖,他退出列表,尝试点开一个具体客户的详情页。页面倒是跳转了,但详情页里,所有字段——地址、历史沟通记录、合同草案附件链接——全都变成了类似的乱码,像一群狰狞的鬼画符,嘲弄地盯着他。
“我操!”孙胖子猛地从椅子上弹起来,带翻了桌上的茶杯,浓黑的茶汤泼了一键盘,他也顾不上擦,扯着嗓子就朝外面吼:“小赵!小李!你们系统怎么回事?我客户资料呢?!”
他的吼声像一颗砸进平静水面的石头。紧接着,销售部开放式办公区里,惊呼声、咒骂声、拍打键盘和显示器的声音,此起彼伏,瞬间连成一片。
“我的客户列表也全是乱码!”
“我打不开客户详情了!”
“这什么鬼?中病毒了?!”
“IT!IT的人死哪儿去了?!”
恐慌像瘟疫一样,以销售部为原点,迅速向整个公司蔓延。运营部的人发现他们无法导出客户数据做分析报表;市场部的人发现他们精心准备的客户群发邮件列表变成了一堆乱码地址;连财务部都慌了神,因为他们用来核对回款、开发票的客户信息,也全都对不上了。
整个公司的业务,就像一台精密的机器,突然被抽掉了最核心的齿轮,瞬间停摆,发出刺耳的摩擦声。
技术部那边,刘洋的工位早就被围得水泄不通。销售、运营、市场,各个部门的头头脑脑都挤在那里,七嘴八舌,唾沫横飞。
“小刘!赶紧看看!系统是不是崩了?”
“我所有客户资料都看不到了!今天约了三个客户见面,我拿什么跟人家谈?!”
“这到底怎么回事?是不是被黑客攻击了?”
“能不能恢复?快点恢复啊!”
刘洋那张还带着学生气的脸,此刻惨白如纸,额头上全是冷汗,眼镜片都蒙上了一层水汽。他手忙脚乱地登录服务器后台,手指因为颤抖,好几次输错了密码。好不容易登进去,看到数据库里那些核心表的状态时,他眼前一黑,差点从椅子上滑下去。
那些熟悉的表名还在,但点开之后,里面存储的数据,那些曾经规整的字符串、数字、日期……全都变成了无法识别的二进制乱码。就像有人用一把疯狂的刷子,把一幅精心绘制的油画,涂成了毫无意义的色块。
“我……我不知道……”刘洋的声音带着哭腔,语无伦次,“昨天还好好的……周老师交接的时候,一切都是正常的……我……我就是按照手册操作的……”
“别废话!赶紧恢复数据!”销售总监孙胖子挤到最前面,肥胖的身体几乎把刘洋整个罩住,唾沫星子喷了他一脸,“不是有那个什么灾备系统吗?周远不是说万无一失吗?赶紧从备份恢复啊!”
这句话像一根救命稻草,让几乎要晕厥的刘洋猛地回过神来。对!灾备系统!周老师再三强调的,最后的防线!
他像是抓住了最后一根浮木,颤抖着手,在浏览器地址栏输入那个他背得滚瓜烂熟的监控面板地址。页面顺利打开,那个充满科技感的界面再次出现,地图上的光点依旧在闪烁,各项指标看起来“正常”。
刘洋找到“数据恢复”的选项,深吸一口气,点开。界面上列出了最近几天的备份文件,文件名规范,时间戳清晰。他毫不犹豫地选择了时间最近的那个——今天凌晨三点生成的最新备份。
点击“开始恢复”。
进度条出现了,缓慢但坚定地向前移动。旁边还有模拟的数据流动动画。整个技术部的人都屏住了呼吸,盯着那个进度条,仿佛那是决定生死的倒计时。
百分之五十……百分之八十……百分之百!
“恢复成功!”系统弹出一个绿色的提示框。
刘洋长出了一口气,感觉浑身的力气都被抽空了,几乎要虚脱。围观的众人也发出一阵低低的、如释重负的叹息。
“快!刷新看看!”孙胖子急不可耐。
刘洋颤抖着手,刷新了CRM系统的客户列表页面。
页面重新加载。
一秒,两秒,三秒……
屏幕上,依旧是那一片令人绝望的、密密麻麻的乱码。和恢复之前,一模一样。
死一样的寂静,笼罩了技术部。
刘洋脸上的血色彻底褪尽,他像是没看懂,又刷新了一次,两次,三次……乱码依旧。他疯了一样,又去点开灾备系统,选择前天的备份,大前天的备份……一个一个尝试恢复。
每一次,进度条都走得完美,提示“恢复成功”。
每一次,刷新后的页面,都只有冰冷的、嘲弄的乱码。
那些所谓的“备份”,不过是将一堆乱码,覆盖了另一堆乱码。就像一个绝望的循环,永远找不到出口。
“这……这不可能……”刘洋喃喃自语,眼神涣散,整个人像是被抽掉了骨头,瘫软在椅子上,“周老师明明说……万无一失的……”
“周远……”孙胖子咀嚼着这个名字,脸上的肥肉抽搐着,突然暴吼一声:“王总呢?!快给王总打电话!出大事了!”
***
王浩接到电话的时候,正在本市最高档的“云顶”私人会所里。他包了一个临湖的茶室,对面坐着两个从南方来的投资人,是他费了好大劲才搭上线的,指望着能从他们手里再融一笔钱,把公司规模再扩大一圈。
他正口若悬河,挥舞着手臂,描绘着创辉科技未来的宏伟蓝图:“……两位放心,我们的客户数据系统,是行业标杆!稳定性、安全性,绝对一流!掌握了数据,就掌握了市场命脉!下一步,我们计划推出基于大数据的精准营销SaaS服务,市场前景……”
手机在口袋里疯狂震动。他皱了皱眉,本来想按掉,但瞥见来电显示是“孙志强”,这个时间点,如果不是急事,孙胖子不敢打扰他。
他略带歉意地对投资人笑了笑:“不好意思,公司有点急事,我接一下。”
走到茶室外的露台上,湖面的风吹过来,带着湿气。他按下接听键,还没开口,孙胖子那带着哭腔、几乎破音的声音就炸响在他耳边:
“王总!不好了!出大事了!公司的数据……全没了!CRM系统里所有客户资料,全变成乱码了!灾备恢复也没用!全完了!”
王浩脸上的笑容瞬间冻结,然后像破碎的瓷器一样片片剥落。他握着手机的手指猛地收紧,指节泛白:“你说什么?全没了?怎么可能!周远不是交接清楚了吗?那个灾备系统呢?!”
“就是那个灾备系统!恢复出来的也是乱码!王总,您快回来吧!公司……公司已经乱套了!客户电话都快打爆了!”孙胖子的声音里充满了绝望。
王浩脑子里“嗡”的一声,像是被重锤狠狠砸了一下。眼前漂亮的湖景瞬间扭曲模糊,耳边只剩下孙胖子那绝望的嚎叫和背景里一片混乱的嘈杂声。
四千八百万……不,那些客户数据的价值远不止这个数!那是他起家的本钱,是他这几年全部的心血,是他未来所有野心的基石!
“我马上回来!”他从牙缝里挤出这几个字,挂断电话,甚至来不及跟茶室里的投资人解释一句,抓起搭在椅背上的西装外套就往外冲。会所走廊铺着厚厚的地毯,他踉跄了一下,差点摔倒,也顾不上形象,几乎是跑着冲进了电梯。
司机在楼下等着,看到他这副失魂落魄、脸色铁青的样子,吓了一跳,没敢多问,赶紧发动车子。一路上,王浩不停地催:“快点!再快点!” 手指无意识地抠着真皮座椅,留下几道深深的指甲印。
车子还没停稳,他就推开车门冲了出去,连伞都没打,冒着雨冲进了写字楼。电梯慢得让他想杀人,他不停地按着上行键,嘴里低声咒骂着。
当他浑身湿漉漉、头发凌乱地冲进公司时,看到的就是一副末日般的景象。办公区里没人干活,所有人都聚在一起,脸上写满了惊慌和茫然。电话铃声此起彼伏,却很少有人去接,偶尔有人接起来,也是支支吾吾,说不出个所以然。空气里弥漫着一种近乎凝固的恐慌。
“王总!”孙胖子像看到救星一样扑过来,脸上的肥肉都在颤抖。
王浩一把推开他,径直冲向技术部。技术部里更是狼藉一片,几个程序员面如死灰地坐在位子上,刘洋则瘫在椅子上,眼神空洞,像是傻了一样。
“到底怎么回事?!”王浩的咆哮声震得玻璃隔断都在嗡嗡作响,他一把揪住刘洋的衣领,几乎把他从椅子上提起来,“说!数据呢?!周远不是把什么都交给你了吗?!”
刘洋被他吓得浑身哆嗦,话都说不利索:“王……王总……我……我不知道……我就是按照周老师教的……操作……系统日志都是正常的……备份恢复……恢复出来也是乱码……”
“废物!饭桶!”王浩眼睛赤红,唾沫星子喷了刘洋一脸,“我让你接手,你就给我接成这个样子?!周远呢?!把他给我叫回来!立刻!马上!”
旁边的技术部经理小声说:“王总,周远……已经离职了,手续都办完了。”
“离职了也得给我找回来!”王浩像一头被困在笼子里的疯兽,在狭窄的技术部里来回踱步,皮鞋踩在地板上发出沉重急促的响声,“赵姐!赵雅芬!给我滚过来!”
人力总监赵姐早就听到了动静,战战兢兢地挤进来,脸色比刘洋好不了多少。
“立刻!动用你所有关系!给我找到周远!打电话!发微信!去他住的地方找!挖地三尺也要把他给我弄回来!”王浩指着她的鼻子吼。
赵姐连忙点头,跑出去打电话。几分钟后,她脸色更加难看地回来了,声音发虚:“王总……周远留下的手机号,打过去是空号。微信和QQ好像都注销了。他登记的家庭住址,是之前合租的,室友说他半个月前就搬走了,不知道新地址……”
“空了?注销了?搬走了?”王浩重复着这几个词,每一个字都像是从冰窖里捞出来的。一股寒意,从脚底板直冲天灵盖。他终于意识到,这绝不是一次简单的系统故障或操作失误。
这是一场处心积虑的、早有预谋的报复。
他强迫自己冷静下来,但太阳穴的青筋还在突突直跳。“查!查他所有的工资记录!银行流水!立刻!”
财务总监很快调出了记录。当那张转正后月薪一万零五百的工资条截图,以及后来一年里几乎没有任何变化的工资发放记录,呈现在王浩眼前时,他像是被人迎面打了一拳,踉跄着后退了一步,扶住了旁边的办公隔断。
一年。整整一年。他每个月只用一万出头,就买断了这个顶尖程序员的所有时间、才华和尊严。
他以为他赚大了。他用最低的成本,榨取了最大的价值。他甚至为此沾沾自喜,觉得自己管理有方,善于“控制人力成本”。
现在,报应来了。利息高得他付不起。
“王总……现在怎么办?”孙胖子哭丧着脸问。
王浩猛地抬起头,眼神里闪过狠厉和最后一丝侥幸:“找数据恢复公司!找最好的!不管花多少钱!立刻给我联系!”
***
重金请来的,是本市乃至全国都排得上号的“安盾数据恢复中心”的首席工程师团队。领头的姓吴,四十多岁,瘦高个,戴着无框眼镜,看起来就一副技术大拿的样子,身后跟着两个拎着沉重设备箱的助手。
王浩像迎接救世主一样把他们请进机房,烟茶水果伺候着,反复强调数据的重要性,以及不惜一切代价恢复的决心。
吴工程师很专业,话不多,只是点点头,示意助手开始工作。他们先是给所有涉及的服务器硬盘做了完整的镜像备份,然后开始在独立的分析环境里,对镜像数据进行深度扫描和分析。
王浩和几个公司高层就守在机房外面的小会议室里,烟灰缸很快就堆满了烟头。时间一分一秒过去,每一秒都像一年那么漫长。王浩不停地看表,在房间里走来走去,时不时扒在机房玻璃门外往里看。吴工程师和他的助手们始终面无表情,对着屏幕敲打着键盘,偶尔低声交流几句。
整整四个小时过去了。
机房的门终于打开。吴工程师走了出来,脸上带着一种混合着困惑和凝重的表情。他摘下眼镜,揉了揉鼻梁。
“怎么样?吴工?能恢复吗?”王浩一个箭步冲上去,急切地问。
吴工程师看着他,缓缓摇了摇头,语气带着职业性的冷静,但也有一丝不易察觉的惊叹:“王总,情况……非常复杂,也非常罕见。”
“什么意思?”王浩的心沉了下去。
“我们检查了硬盘底层,数据本身没有被删除,物理扇区都是完好的。”吴工程师解释道,“但是,所有核心客户数据的字段内容,都被一种极其复杂的非对称加密算法,进行了彻底的、一对一的加密。也就是说,每一条记录的每一个关键字段,都使用了不同的、随机生成的密钥进行加密。加密完成后,这些一次性密钥被立即销毁,没有任何残留。”
王浩听得云里雾里,但“密钥销毁”这几个字他听懂了:“那……那就是说,解不开了?”
“没有密钥,理论上,以目前人类所掌握的算力,破解这种强度的加密,需要的时间可能是宇宙的寿命那么长。”吴工程师的话像一纸死刑判决书,“这不是普通的勒索病毒加密,那种通常会有密钥留存或可追踪的支付渠道。这是……一种彻底的、不可逆的数据湮灭。手法非常……高明,而且决绝。”
“湮灭……”王浩喃喃重复着这个词。
“更关键的是,”吴工程师继续道,语气更加严肃,“我们追溯了系统日志和进程记录。触发这次加密操作的,是系统内部一个合法的、计划内的数据维护进程。这个进程的代码,看起来像是……一个设计存在严重缺陷的数据安全模块。它本意可能是为了防止外部攻击而设置的‘紧急锁死’机制,但因为逻辑漏洞,或者被某种外部条件意外触发,导致了这场灾难。”
王浩猛地抓住吴工程师的胳膊,手指用力得几乎要掐进肉里:“意外触发?你是说,这可能是个……BUG?不是人为破坏?”
吴工程师皱了皱眉,轻轻挣脱他的手:“从纯技术角度分析,代码层面没有发现明显的外部入侵或恶意篡改痕迹。整个加密过程是由系统自身的一个合法模块执行的。至于这个模块的设计缺陷是原本就存在,还是被人为植入后伪装成缺陷……这就超出我们单纯的数据恢复分析范畴了。需要更全面的代码审计和司法鉴定。”
他顿了顿,看着王浩瞬间惨白的脸,补充了最后一句,也是彻底击垮王浩的一句:“而且,根据日志,贵司的自动备份系统,在加密发生后,依然按照计划执行了备份任务。这意味着,备份数据同样是被加密后的状态。所以,从备份恢复这条路,也完全走不通。”
王浩呆呆地站在那里,耳边嗡嗡作响。吴工程师后面又说了些什么关于“建议报警”、“收集证据”之类的话,他一个字都没听进去。
BUG?设计缺陷?意外触发?
这几个词在他脑子里疯狂旋转,和他记忆中周远离职时那张平静无波的脸,那份详尽到啰嗦的交接手册,那句“不会有任何问题”的保证,还有那串他亲手签下的名字……反复重叠,碰撞。
他终于明白了。
周远根本没有“破坏”任何东西。他只是“留下”了一个看起来完美、实则暗藏致命缺陷的系统。然后,在某个他设定好的时间,这个“缺陷”被“意外”触发,执行了一次合法的、却足以毁灭一切的“数据安全操作”。
没有黑客攻击,没有恶意删除,甚至没有违反任何他签下的保密协议——他交接的,就是这套有“缺陷”的系统。白纸黑字,他王浩亲自确认接收的。
周远把自己,从这场“意外”中,干干净净地摘了出去。
想通这一切的瞬间,王浩感觉全身的血液都凉了。他张了张嘴,想说什么,却只发出“嗬嗬”的抽气声。眼前一黑,他肥胖的身体晃了晃,向后倒去。
“王总!”
“快扶住!”
旁边的人七手八脚地扶住他,一阵忙乱。
***
接下来的两天,创辉科技彻底陷入了瘫痪和混乱的深渊。
业务完全停摆。销售不敢联系客户,因为手里没有任何客户资料;运营和市场无法开展工作;财务流程中断。几个大客户察觉异常,打电话来询问,得到的只是支支吾吾、漏洞百出的解释,很快,质疑和愤怒的邮件、律师函就开始陆续飞来。
员工们人心惶惶,开始偷偷投简历、找下家。办公室里弥漫着一种末日降临前的死寂和压抑的骚动。
王浩把自己关在办公室里,拉上了百叶窗。他不停地抽烟,一根接一根,昂贵的雪茄被他像烧火棍一样叼着,办公室里烟雾缭绕,呛得人睁不开眼。他砸了桌上那套他最心爱的、用来附庸风雅的紫砂茶具,碎片溅得到处都是;把那串从不离手的小叶紫檀佛珠狠狠摔在地上,珠子蹦跳着滚到各个角落。
愤怒、恐惧、后悔、怨毒……种种情绪像毒蛇一样啃噬着他的心。他想不通,也无法接受。自己纵横商场十几年,算计过那么多人,躲过那么多明枪暗箭,最后竟然栽在一个他根本看不起的、只会写代码的“书呆子”手里!栽在区区一万多块钱的工资上!
他不甘心!他死也不甘心!
通过一些见不得光的手段,他花了不少钱,终于从一个通信公司的“内部关系”那里,买到了我新办理不久的手机号码——那是我为了面试新工作,刚刚实名办理的。
电话打过来的时候,我正在“启航科技”的会议室里,进行第二轮技术面试。面试官是他们的CTO,一个看起来挺务实的中年人,问的问题很深入,我们聊得不错。
手机在口袋里震动,我瞥了一眼,是个陌生本地号码。我直接按了静音,没接。
面试持续了一个多小时,结束后,我和CTO握手道别,感觉希望很大。走出会议室,我才拿出手机,看到那个号码打了三次,还有一条未读短信,来自同一个号码:
“周远,我知道是你!接电话!有要事!”
字里行间,都透着一股压抑不住的焦躁和蛮横。
我走到写字楼的消防通道,这里安静。然后,我回拨了过去。
电话几乎是被秒接的。
“周远!”王浩嘶哑、尖锐、像是砂纸摩擦般的声音炸响,带着毫不掩饰的暴怒和一丝强行压抑的颤抖,“你他妈还敢接电话?!”
我语气平静,甚至带着点恰到好处的疑惑:“哪位?”
“你少他妈给我装!”王浩的声音陡然拔高,几乎破音,“创辉的数据,是不是你搞的鬼?!是不是你?!”
我轻轻“哦”了一声,尾音上扬,表示恍然:“原来是王总。听您这声音,火气不小啊?公司出什么事了吗?”
“出什么事了?!”王浩像是被这句话彻底点燃了炸药桶,在电话那头咆哮起来,我甚至能想象他唾沫横飞、面目狰狞的样子,“你他妈还有脸问我出什么事了?!公司的数据库全毁了!四千八百万的客户数据全成了废码!是不是你干的?!你说!是不是你?!”
我轻笑了一声,那笑声通过电流传过去,估计能把他气疯:“王总,您这话我就听不懂了。我已经离职好几天了,跟创辉没有任何关系了。工作我交接得清清楚楚,确认单上还有您的大名呢。数据出了问题,您应该找现在负责技术的人,或者检查是不是系统本身有漏洞,怎么能凭空污蔑我一个前员工呢?”
“交接清楚?漏洞?”王浩怒极反笑,声音里充满了怨毒,“周远,你少跟我来这套!你留下的就是个陷阱!一个天大的坑!我现在命令你,立刻、马上滚回公司,把数据给我恢复原样!否则,我让你吃不了兜着走!我报警抓你!让你坐牢!”
“王总,”我的声音冷了下来,不再有丝毫客套,“第一,我已经不是你的员工,你没资格命令我。第二,数据出了问题,你应该问责你的技术团队和那个你亲自招来接我手的刘洋,而不是来骚扰我。第三,如果你有证据证明是我做的,请你立刻报警,我全力配合警方调查。如果没有证据,你这就是诽谤,我可以保留追究你法律责任的权利。”
我这段话,条理清晰,逻辑严密,像一盆盆冰水,接连浇在他熊熊燃烧的怒火上。电话那头只剩下他粗重、急促的喘息声,像一头受伤的野兽。
过了足足半分钟,他的语气忽然软了下来,带着一种刻意放低的、近乎哀求的调子,但这哀求底下,依然是根深蒂固的算计和不甘:“周远……周远,咱们有话好说。之前……之前是公司对不起你,工资的事情,是财务搞错了,我回头就让他们给你补上!双倍补!不,三倍!只要你回来,把数据恢复,什么都好商量!你不是想要两万三月薪吗?我给你三万!五万!只要你开口!”
听着他这毫无诚意、临时抱佛脚的“许诺”,我心底最后一丝因为回忆而产生的微弱波澜,也彻底平息了。只剩下冰冷的嘲讽。
“王总,”我慢条斯理地说,每个字都像冰珠子砸在地上,“你觉得现在,我们之间还是钱的问题吗?有些东西,丢了,就再也找不回来了。比如信任,比如……数据。”
说完,我不再给他任何表演的机会,直接挂断了电话。然后,将这个号码拖进了黑名单。
我知道,我这番油盐不进、滴水不漏的回应,会像压垮骆驼的最后一根稻草,彻底碾碎他最后一丝侥幸,将他推向理智崩溃的边缘,做出更疯狂、也更符合我预期的举动。
果不其然,不到二十分钟,另一个陌生的本地号码打了进来。我没接。紧接着,一条短信追了过来,还是王浩的口吻,但字里行间已经充满了穷途末路的疯狂和威胁:
“周远,你给我等着!我不会放过你的!我已经报警了!警察马上就会去找你!你等着坐牢吧!我要让你身败名裂!”
看着屏幕上这些充满戾气的文字,我的脸上没有任何表情,甚至有点想笑。
报警?
太好了。这正是我计划中,不可或缺的一环。
王浩,你终于,还是乖乖地,走进了我为你设好的下一个局。
我删掉短信,拉黑这个新号码。然后,继续浏览招聘网站,筛选着下一个面试机会,仿佛刚才那通歇斯底里的电话和充满威胁的短信,只是无关紧要的骚扰。
傍晚,我结束了另一家公司的初面,坐地铁回到我新租的、位于老城区一个安静小区的一居室。这里租金比之前便宜些,环境也单纯,苏婷还没下班。
我刚走到单元楼下,就看到两个穿着藏蓝色制服的身影站在门禁旁边。一个年纪大些,约莫四十多岁,国字脸,眼神锐利;另一个年轻些,手里拿着个文件夹。他们看到我,目光在我脸上停留了一下,然后径直走了过来。
年长的警察亮出证件,语气严肃,不带什么感情色彩:“周远是吗?”
“我是。”我停下脚步,脸上适时地露出一点疑惑和紧张。
“我们是市公安局网络安全保卫支队的。”他收起证件,目光紧紧锁住我,“接到报案,你涉嫌一起蓄意破坏计算机信息系统、造成重大经济损失的案件。现在请你跟我们回去,接受调查。”
话音刚落,旁边那个年轻警察上前一步,手里拿着一副亮晶晶的、冰冷的手铐。
“咔哒”一声。
金属的凉意,紧紧箍住了我的手腕。

手铐的金属圈又冷又硬,硌在腕骨上,那感觉异常清晰。我顺从地跟着两位警察上了停在小区门口的一辆普通牌照的黑色轿车,没挣扎,也没多问。年轻警察坐在我旁边,年长的那位开车。车窗外的街景匀速向后滑去,傍晚的城市华灯初上,一切看起来都那么正常,除了我手腕上这圈冰凉。
车子开进市公安局大院,穿过几栋楼,停在一栋看起来比较旧的楼前。我被带进去,上楼,穿过安静的走廊,最后被领进一间屋子。屋子不大,没有窗户,只有一张桌子,三把椅子,头顶是惨白刺眼的日光灯管,照得人脸上一点阴影都没有,像个审讯室。
“坐。”年长的警察指了指桌子对面那把孤零零的椅子。他自己和年轻警察在桌子另一边坐下。年轻警察打开文件夹,拿出笔和笔录纸。
“周远,28岁,原创辉科技有限公司技术部主管,上周五正式离职。没错吧?”年长的警察开口,声音在空荡的房间里显得格外低沉有力。他姓张,后来我知道他是网安支队的副支队长。
“没错。”我点点头,坐得挺直,但肩膀微微内收,显出一种配合又略带不安的姿态。
“你的前老板,王浩,报案称你恶意破坏公司计算机信息系统,导致公司价值四千八百万元的客户数据全部丢失,公司业务陷入瘫痪,面临巨额索赔和破产风险。”张警官盯着我的眼睛,语速不快,但每个字都像小锤子一样敲下来,“这件事,你有什么要说的?”
我脸上立刻露出混杂着震惊、委屈和难以置信的表情,声音都提高了一点:“警察同志,这绝对是诬告!我离职手续办得清清楚楚,工作交接有完整的文档和签字确认!我离开之后公司系统出问题,怎么能怪到我头上?”
张警官没说话,只是继续盯着我,那眼神像要把人看穿。旁边的年轻警察低头记录着。
我深吸一口气,像是努力平复情绪,然后开始陈述,语气变得恳切而条理分明:“警察同志,我在创辉科技干了一年,最后这一个月,我几乎把所有精力都花在交接上。新来的同事刘洋,底子比较薄,我手把手教了他整整两天。从怎么登录服务器,怎么看系统日志,到日常巡检、数据备份、应用发布,每一步我都写了详细的说明,还配了截图,做成了一份六十多页的PDF手册。这些,公司技术部经理和人力总监都可以作证。”
我顿了顿,观察着张警官的表情。他脸上没什么变化,但听得很认真。
“至于数据安全,我更是特别重视。”我继续道,语气加重,“为了防止意外,我花了大量时间,独立开发了一套全自动的异地容灾备份系统。每天凌晨三点,系统会自动把核心数据库加密打包,同步到我们在西部数据中心的云存储上。这套系统的最高权限和操作密码,我在离职前,已经全部移交给了刘洋,并且再三叮嘱他这是公司的生命线,务必保管好。交接测试的时候,备份和恢复功能都是完全正常的。这一点,刘洋本人,还有当时在场的其他同事,都可以证明。”
我把自己的角色,定位成一个尽职尽责、甚至有点过于操心的前员工,一个完美完成了所有交接义务的“老实人”。
张警官终于开口,换了个方向:“你和王浩之间,有没有什么个人矛盾?或者说,他有没有拖欠你工资、克扣你奖金之类的情况?”
这个问题在我预料之中。我没有立刻否认,而是露出一丝苦涩和无奈,从口袋里掏出手机——手机在上车前没有被收走,这有点出乎我意料,但更好——解锁,调出相册里早就准备好的图片,把手机屏幕转向张警官。
“警察同志,您看。”我指着屏幕,“这是我入职时签的劳动合同,这里,明确写着转正后月薪两万三千元。这是我这过去一年,最近几个月的工资条截图……实发金额,都是一万零五百。”
张警官身体微微前倾,仔细看着手机屏幕上的图片。年轻警察也停下笔,抬头看了一眼。
“王总……王浩他,一直说公司困难,成本压力大,我的薪资要‘重新评估’。”我的声音低下去,带着一种被生活磨平了棱角后的疲惫,“我提过几次,他要么画饼,说以后公司上市给我期权,要么就哭穷。我家里条件一般,女朋友也等着结婚……实在耗不起,所以才决定离职。要说矛盾……心里肯定是有怨气的,不然我也不会走。但我可以用我的人格和职业生涯担保,我绝对没有用违法的手段去报复他!我觉得不公平,我可以去劳动仲裁,可以去法院告他,但我绝不会去碰公司的数据!那是我的职业底线!”
这番话,我演练过很多遍。承认有矛盾,承认有动机,但坚决否认采取了非法手段。同时,把自己塑造成一个懂法、有职业操守、试图通过正当途径维权却无奈离开的受害者形象。这比一味喊冤,更容易让人产生代入感,也更能搅浑水。
张警官靠回椅背,手指在桌面上轻轻敲了敲,没对我的“诉苦”做出评价,而是转向技术问题:“你说可能是系统本身漏洞或者外部攻击,有什么依据吗?”
“有!”我立刻回答,语气肯定,“我设计的那套系统,用户量不小,在业内也算有点名气,早就被不少黑客盯上。我在职的时候,几乎每周都要处理几次渗透测试或者漏洞扫描告警,小规模的攻击尝试更是家常便饭。我离职后,公司的安全防护等级肯定会下降。而且……”
我故意停顿了一下,显得在思考如何用更通俗的语言解释:“而且,数据加密技术本身就很复杂。我用的那种加密算法,是目前国际公认强度最高的几种之一。想要在短时间内,不留下任何痕迹地破解并加密那么大量级的数据,凭我个人能力,根本不可能做到。但如果是一个有组织、有预谋的黑客团伙,利用系统未知的零日漏洞,或者通过社会工程学手段拿到了某些关键权限,再结合自动化工具,是有可能办到的。甚至,不排除是内部其他有权限的人,因为某种原因……”
我没有把话说完,留下足够的想象空间。把水搅浑,把嫌疑人的范围扩大,从“周远个人报复”,引向“可能的外部黑客攻击”或“其他内部人员操作”,这是摆脱嫌疑的关键。
张警官和年轻警察交换了一个眼神。审讯又持续了将近两个小时。他们问了很多细节:我交接的具体内容、灾备系统的技术原理、我离职后的行踪、我和刘洋的交流记录、我是否还保留任何公司服务器的访问权限……
我的回答始终如一:交接彻底,权限已注销,离职后忙于找工作面试,与刘洋只有工作交接时的正常沟通,没有任何私下联系。所有回答都紧扣“我已离开,与我无关”这个核心,同时不断抛出“系统漏洞”、“外部攻击”、“内部其他可能”这些干扰项。
最后,张警官合上了年轻警察记录的笔录本,看着我:“周远,你所说的这些情况,我们都会逐一核实。在调查结束之前,你不能离开本市,必须保持通讯畅通,随传随到。明白吗?”
“明白。我一定全力配合警方调查。”我郑重地点头。
“今天先到这里。”张警官站起身,“小陈,带他办一下手续。”
叫小陈的年轻警察带我出去,办了暂时释放的手续,那副手铐也被取了下来。手腕上留下了一圈浅浅的红痕。走出市局大楼时,天已经黑透了,夜风带着凉意。我站在台阶上,深深吸了一口带着汽车尾气味的空气。
第一回合,算是平稳度过了。警方没有确凿证据,只能放人。而我的那些说辞,就像撒进池塘的鱼饵,总会吸引一些鱼儿去咬钩。
我知道,真正的较量,才刚刚开始。
***
警方的调查果然雷厉风行。第二天,张警官就亲自带着几名技术警察和经侦的同事,出现在了创辉科技。
彼时的创辉,已经是一片愁云惨雾。员工们看到警察,更是噤若寒蝉,连走路都踮着脚尖。王浩强打精神接待,但眼里的血丝和憔悴根本掩饰不住。
技术警察们直奔机房,对服务器进行更彻底的勘查和证据固定。经侦的同事则开始查阅公司的财务账目、合同文件,特别是与我相关的薪资发放记录和离职协议。
刘洋被单独叫到一个小会议室问话。面对警察,他比面对王浩时更加紧张,几乎语无伦次,把我知道的、不知道的,甚至他自己的一些猜测和恐惧,都倒豆子一样说了出来。他反复强调自己完全是按照我给的手册操作,对灾备系统的底层原理一无所知,密码也是我直接给的,他绝对没有动过任何手脚。
张警官则分别约谈了王浩和赵姐。当张警官出示我提供的劳动合同和工资条截图时,王浩的脸色变得极其难看,支支吾吾,最后不得不承认“薪资结构存在调整”,但咬定是“公司经营困难时期的临时措施”。赵姐更是把责任推得一干二净,声称自己只是执行公司规定和王总的指示,对具体技术问题毫不知情。
调查持续了一整天。傍晚时分,初步的技术分析结论出来了,让所有参与调查的人都感到棘手。
负责技术勘查的警察向张警官汇报:“张队,情况很复杂。我们在系统里没有找到任何外部入侵的明显痕迹,也没有发现恶意删除或破坏数据的指令。数据变成乱码,是因为一个系统内置的‘数据安全加固模块’被触发执行了加密操作。这个模块的代码,看起来……像是一个设计上有严重缺陷的功能。”
“缺陷?”张警官皱眉。
“对。代码逻辑显示,它本意可能是在检测到极端异常情况时,自动锁死并加密核心数据,防止被窃取。但它的触发条件设置得非常模糊,而且有一个……很奇怪的对外部网络条件的依赖。我们追查了这个依赖,发现它关联到一个境外的、没有任何身份信息的普通内容聚合网站。就在事发当晚,那个网站的一个特定页面内容更新了,更新的内容……是当天本市的天气预报。”
张警官的眉头皱得更紧了:“天气预报?你的意思是,嫌疑人可能通过更新一个天气预报页面,远程触发了加密?”
“理论上存在这种可能性。但这更像是一种……极其拙劣的、不负责任的编程后门,或者说是程序员的恶作剧。”技术警察也觉得很荒谬,“我们检查了所有日志,这个模块的触发记录被清理过,手法很高明。但模块本身的代码,看起来又确实像是个‘烂代码’。我们咨询了外聘的几位专家,他们的意见也不统一。有的认为这是精心伪装的攻击,有的则认为这就是一个低级BUG被意外条件引爆了。目前……没有直接证据能证明是人为故意触发,还是系统自身缺陷导致的意外。”
这个结论,让张警官陷入了沉思。没有直接证据,动机虽有(克扣工资),但嫌疑人具备完美的不在场证明(账号已注销),作案手法疑似但无法证实,还存在“系统BUG”这个合理的替代解释。
从刑侦角度,这案子几乎走进了死胡同。
几天后,我接到了张警官打来的电话,语气比之前缓和了一些,但依旧严肃:“周远,经过初步调查,暂时没有发现你参与破坏计算机信息系统的直接证据。对你的传唤解除。但是,案件还在进一步调查中,你依然需要配合,不要离开本市。”
“我明白,谢谢张警官。”我平静地回答。
挂掉电话,我知道,王浩这颗棋子,在警方这条线上,已经暂时失去了效力。他无法用法律武器把我怎么样。
但我也知道,以王浩的性格,他绝不会善罢甘休。他一定会用其他方式,更肮脏、更疯狂的方式,来报复我。
而我,正等着他这样做。
***
事情果然如我所料,在圈子里慢慢传开了。虽然警方没有定论,但“创辉科技数据神秘蒸发,疑与前技术骨干有关”的消息,还是像长了翅膀一样,在本地互联网和科技圈的小范围里流传。版本越来越多,越来越离奇。
我并没有失业太久。就在警方撤销传唤后不到一周,我接到了一个电话。来电显示是“启航科技”,这是本市另一家规模、业务都和创辉科技高度重合的竞争对手,两家公司为了抢客户、挖墙角,明争暗斗了好几年。
电话是启航科技的HR总监亲自打来的,语气非常客气:“周先生您好,我是启航科技的HRD杨莉。冒昧打扰,听说您目前正在看新的机会?不知道有没有兴趣,来我们公司聊一聊?我们老板陈总,对您的技术能力非常欣赏。”
我心中了然。他们欣赏的,恐怕不止是“技术能力”。
我答应了面试邀请。面试地点在启航科技总部,一栋比创辉更气派的写字楼。接待我的是杨莉,一个干练的中年女性,然后直接把我引进了CEO办公室。
启航的老板陈建国,五十岁左右,身材保持得很好,穿着合体的休闲西装,没打领带,看起来比王浩少了些暴发户气,多了些沉稳和精明。他跟我握了握手,示意我坐下,没有过多的寒暄。
“周先生,创辉的事情,我听说了不少。”陈建国开门见山,目光锐利但并不让人反感,“你怎么看?”
我笑了笑,回答得官方而谨慎:“陈总,警方已经有初步结论了,那应该是一次意外的系统故障。”
陈建国也笑了,那笑容里带着洞悉世情的了然:“这里没外人,咱们直说。王浩那个人,我打交道多年,知道他什么德行。克扣工资,卸磨杀驴,是他能干出来的事。至于系统故障……”他意味深长地顿了顿,“是意外还是人为,我不关心。我关心的是结果——王浩的公司,现在基本完了。他手里那些优质客户,现在就像没头的苍蝇,急需找下家。”
他身体微微前倾,双手交叉放在光洁的实木办公桌上,盯着我的眼睛:“启航需要扩张,需要吞下创辉留下的市场空白。但扩张需要稳固的根基。我需要一个人,能为我打造一套比创辉原来那套更安全、更强大、更能让客户放心把数据交给我们的系统。同时……”
他话锋一转,语气依旧平稳,却多了几分深意:“我也需要这个人,能成为我们的一张‘王牌’,一张能让任何对我们有非分之想的竞争对手,都好好掂量掂量的‘王牌’。周先生,你是聪明人,明白我的意思吗?”
我当然明白。他既要我当盾,为他构建坚固的城墙;也要我当矛,成为悬在对手头上的达摩克利斯之剑。我的“前科”(无论真假),成了我价值的一部分。
“我明白,陈总。”我点点头,“我可以为您构建一套业内顶尖的数据安全体系。但我的要求,可能不低。”
“钱不是问题。”陈建国大手一挥,显得非常豪爽,“技术副总裁,直接向我汇报。年薪八十万,年终看业绩,期权池里给你预留份额。只要你能在半年内,把公司的数据平台和安全体系给我提升两个档次,这些都好谈。”
八十万。是王浩承诺薪资的三倍多,是实际支付给我的近八倍。
我没有犹豫,伸出手:“陈总,合作愉快。”
“合作愉快!”陈建国用力握了握我的手,笑容真诚了许多,“欢迎加入启航。”
入职启航科技,我并没有急于表现。我花了整整两周时间,不参与任何具体项目,只是带着权限,深入调研公司现有的所有技术架构、数据流向、安全策略。我看了堆积如山的文档,访谈了各个部门的关键人员,甚至请第三方安全公司做了一次渗透测试。
摸清家底后,我才开始动手。我没有使用任何来自创辉的代码或思路,完全从零开始,结合启航的业务特点,设计了一套全新的、基于微服务架构的数据中台。引入了更先进的加密算法、更细粒度的权限控制、更完善的审计日志,以及真正可用的、多地多活容灾方案。
我亲自组建新的技术团队,招聘严格把关。修复了历史遗留的数百个安全漏洞,重建了混乱的发布流程,引入了自动化运维和监控体系。我的工作风格严谨、高效,要求极高,但给出的方向和解决方案总是能直击痛点,很快就在技术部门树立了威信。
陈建国对我的工作成果非常满意,在几次高管会议上公开表扬,资源倾斜也毫不含糊。
与此同时,王浩那边的日子,每况愈下。
数据丢失的连锁反应开始显现。几个核心大客户因无法正常开展业务,先后提出解约并索赔。银行听闻风声,收紧信贷,开始催收贷款。原先谈得差不多的投资人果断撤资。员工流失速度加快,连销售总监孙胖子都偷偷联系了下家。
王浩变卖了部分个人资产,试图给公司输血,但杯水车薪。他变得更加偏执易怒,经常在公司里毫无缘由地大发雷霆。他开始在行业聚会、朋友圈子、甚至一些公开场合,散布关于我的谣言,说我是“商业间谍”、“职业黑手”、“心理变态的技术疯子”,用极其恶毒的语言攻击我。
但这些言论,在圈内人听来,更像是一个失败者歇斯底里的诽谤。一个连员工基本薪酬都克扣、把公司经营到破产的老板,他的话还有多少可信度?反而,因为他这种疯狂的抹黑,让更多人对“周远”这个名字产生了好奇,也让启航科技的陈建国更加坚定地把我当作“镇宅之宝”。
压垮王浩的最后一根稻草,很快来了。
创辉科技曾经最大的客户,一家年合作金额超过八百万元的上市集团公司,因数据丢失导致其供应链管理出现严重混乱,蒙受了巨大损失。在多次沟通、索赔无果后,该集团一纸诉状,将创辉科技告上法庭,索赔金额高达一千五百万元,并要求创辉科技在媒体上公开道歉,赔偿商誉损失。
这起诉讼,像一道最后的催命符。法院迅速立案,并应原告申请,冻结了创辉科技公司账户以及王浩个人名下的大部分财产。
开庭那天,我作为启航科技的技术副总裁,同时也是数据安全领域的“专家”,接受了原告方律师的咨询,并最终以“专家辅助人”的身份,被法庭传唤出庭。
在庄严肃穆的法庭上,我再次见到了王浩。
他坐在被告席上,穿着不合身的旧西装,头发白了一大半,乱糟糟的,眼窝深陷,整个人像被抽干了精气神,比几个月前老了十岁不止。当法官传我上庭,我穿着熨帖的深色西装,步伐平稳地走过他面前时,他猛地抬起头,浑浊的眼睛死死盯住我,里面燃烧着刻骨的怨毒和仇恨,嘴唇哆嗦着,似乎想说什么,但被旁边的法警用眼神制止了。
我平静地移开目光,走到指定的席位坐下。
原告律师向我提问,主要是关于数据安全的一般性原则,以及像创辉科技这种严重依赖单一数据系统的公司,应该采取哪些合理的安全措施。
我从技术角度,客观地阐述:“对于一个以客户数据为核心资产的公司,建立完善的数据备份和容灾机制,是基本且必要的安全义务。备份不能是单一的,应该有本地、异地、离线等多种形式。容灾系统需要定期进行真实的恢复演练,以确保其有效性。同时,关键系统的核心代码,应当进行严格的安全审计,避免因设计缺陷或逻辑漏洞导致不可逆的数据损失。”
我的回答严谨、专业,没有提及任何关于创辉具体技术细节的内容,完全是对行业通用标准的阐述。
但坐在被告席上的王浩,听到“设计缺陷”、“逻辑漏洞”、“不可逆的数据损失”这些词时,身体剧烈地颤抖起来,他猛地站起,指着我的方向,声音嘶哑尖利地喊道:“法官!他在撒谎!他就是设计缺陷的人!数据就是他故意弄丢的!他是罪犯!应该抓的是他!”
“被告!注意法庭纪律!”法官重重敲下法槌。
法警立刻上前,将情绪失控的王浩按回座位。他像一头绝望的困兽,在座位上挣扎,发出压抑的、野兽般的呜咽声。
我自始至终,目视前方,表情没有任何变化,仿佛他指责的是一个与我毫不相干的陌生人。
最终,法庭采纳了原告方的大部分证据和观点,认为创辉科技未能履行其作为数据控制者应尽的安全保护义务,存在重大过错,判决创辉科技向原告集团赔偿损失一千二百万元,并承担全部诉讼费用。
法槌落下,一锤定音。
王浩彻底瘫软在被告席上,眼神空洞,仿佛灵魂已经被抽走。
庭审结束,人群陆续散去。我在法院门口等车的时候,王浩被两个法警搀扶着,踉踉跄跄地走出来。经过我身边时,他忽然停下脚步,抬起头,用那双布满血丝、空洞而怨毒的眼睛,死死地盯了我几秒钟。
他没有再咆哮,也没有咒骂,只是那样看着,仿佛要用目光在我身上烧出两个洞来。
然后,他被法警搀扶着,慢慢走向一辆破旧的出租车,背影佝偻,像个风烛残年的老人。
我知道,他完了。不仅仅是公司破产,债务缠身。他的信誉、人脉、在这个行业里立足的根本,全都随着那场数据灾难和这场官司,灰飞烟灭。他的人生,已经提前进入了垃圾时间。
而我,从始至终,没有写过一行直接删除数据的代码,没有触发过一个非法的系统指令。我只是,把一个贪婪者自己选择的道路,轻轻推到了它必然的终点。
***
半年后,启航科技的新一代数据中台和安全体系成功上线,并顺利承接了多个从原创辉科技流失过来的大客户。公司为此举办了一个小型的庆功发布会,我也算正式在业界崭露头角。
发布会后的酒会上,我遇到了张昊——我原来在创辉的同事,也是后来被我挖到启航来的。我们端着酒杯,走到露台角落,远离了里面的喧嚣。
晚风吹过来,带着初秋的凉意。城市灯火璀璨,车流如织。
“远哥,”张昊喝了口酒,语气有些感慨,“你听说了吗?王浩……好像真的疯了。”
“疯了?”我晃着杯里的琥珀色液体,看着远处的灯光。
“嗯。”张昊点点头,“公司破产清算后,他老婆跟他离了婚,带着孩子走了。房子车子全被法院拍卖还债。有人看见他在西郊那边的桥洞底下跟流浪汉住在一起,捡垃圾吃。前几天,他不知怎么跑到以前创辉那栋写字楼下面,对着大门又哭又笑,大喊大叫,说自己是亿万富翁,是被高科技商业间谍害了……后来被保安报了警,警察来了看他那样,联系了精神病院,给拉走了。”
我沉默地听着,心里没有任何波澜。没有快意,也没有同情。就像听一个遥远而陌生的社会新闻。
“还有那个刘洋,”张昊叹了口气,“创辉出事之后,他在咱们这行算是臭了名声,都说他接手搞垮了一个公司。后来去了一家小公司,没干两个月又被辞了。听说现在回老家了,在县城里送快递还是送外卖,具体不清楚。”
我“嗯”了一声,没接话。刘洋有他的可怜之处,但更多的是可悲。他选择了最轻松的方式——完全依赖别人留下的“手册”,放弃了独立思考和深入探究的责任。在这个行业,有时候,懒惰和无知,本身就是一种罪过。
“远哥,”张昊转过头,看着我,眼神有点复杂,“有时候我在想,如果当初王浩老老实实给你发了该发的工资,是不是……这一切都不会发生?”
我喝干了杯子里最后一点酒,冰凉的液体滑入喉咙。
“这世上没有如果,张昊。”我看着远处黑暗中隐约起伏的城市轮廓线,声音平静,“路都是自己选的。他选了克扣工资,享受压榨带来的短期利润。我选了用我的方式,拿回我应得的东西。刘洋选了不加思考地接受。每个人,都在为自己的选择买单。只不过,有些账单,来得比较晚,利息比较高而已。”
张昊若有所思地点点头,没再说什么。
我们又站了一会儿,直到露台的风有些冷了,才转身回到灯火通明的宴会厅里。里面依旧人声鼎沸,觥筹交错,每个人脸上都洋溢着成功和希望的光芒。
我融进人群,接过旁人递来的新酒杯,脸上挂着得体的微笑,应付着各种恭维和寒暄。
没有人知道,也不会有人关心,半年前那场几乎摧毁了一家公司的数据灾难,其最初的引信,仅仅是一万两千五百块钱的月薪差额。
也没有人知道,那个在酒会上谈笑风生、前途无量的技术新贵,心底深处,始终盘旋着一行冰冷而绝对的代码逻辑:
当变量“公平”的数值,长期低于阈值“生存尊严”时,系统“周远”,将自动执行清理程序。
清除所有不合理的债务。
恢复初始平衡。
仅此而已。
窗外的城市,依旧在高速运转,霓虹闪烁,吞噬着无数人的野心、挣扎、算计与悲欢。而我的故事,或者说,我和王浩、和创辉科技的故事,就像投入这片光海中的一粒小石子,激起过一丝涟漪,然后迅速沉没,再无痕迹。
只有我自己知道,那涟漪之下,曾经是怎样的暗流汹涌,以及那最终达成的、冰冷而沉默的结算。