凌晨两点,程桉收到陆鸣发来的酒店房间号和一句“她刚睡”,他没吵没闹,回了句“我十分钟到”,然后真的出了门。
![]()
手机那声“叮”在卧室里炸得格外清楚,程桉几乎是瞬间清醒。他这毛病挺烦人,稍微一点动静都能把他从浅睡里拽出来。屏幕光刺眼,他眯着眼,看到那条消息的时候,第一反应不是骂人,也不是心脏发紧那种俗套反应——反而像被人拿一块冰贴在后颈,整个人从里到外都凉了半截。
陌生号码,可头像一点都不陌生。苏沁以前随口提过,说部门新来个项目主管,叫陆鸣,履历漂亮得像精修过的海报,人也挺会来事。程桉当时没接话,只在心里记了一笔:这种人,最容易把“会来事”用错地方。
消息内容很短,短得恶心:一个五星级酒店地址,精确到房间号。紧跟着第二条——“她刚睡”。
就三个字,像故意往人脸上吐烟圈。
程桉盯着那行字,眼睛没眨,手指也没动。他脑子里先冒出来的是一个非常不合时宜的细节:苏沁出差住的酒店,他知道;她说自己房间是15楼的行政单间,他也记得。可短信里那个房号,在17楼。
要么他记错,要么有人在撒谎。
而凌晨两点,有人挑这种时间用这种方式递信息,摆明了不是来“提醒”的,是来挑衅,是来把人往火里推。程桉不是第一次见这种手法,他做审计和企业欺诈调查,见过太多把人情绪当开关的人。你一炸,他就赢。
所以他没回问号,也没打电话去质问苏沁。他甚至没用力咬牙,反而慢慢打了一行字,语气平得像在回复外卖:“知道了。她睡得沉,别吵醒。我十分钟到。”
发送之后,他把手机丢在床上,动作不急不躁,像刚处理完一封无关紧要的工作邮件。卧室另一边空着,床单上还有苏沁常用的薰衣草香味,平时闻着挺安心,这会儿却像被人掺了点铁锈味,怎么吸一口都不舒服。
他起身换衣服,没开灯,熟门熟路。深灰衬衫、西裤、袖扣扣好,头发简单理了下。镜子里那个人看着不像要去抓什么现场,更像是要去谈判。最后他从书房抽屉里摸出一个小得跟指甲盖差不多的拾音器,塞进袖口里。不是为了“抓证据”那种烂俗桥段,而是他习惯做任何事都留一手——谁都可能改口,录音不会。
车库里那辆黑色奥迪亮灯的瞬间,程桉才感觉到自己胸腔里那团火还在,只是被他压在很深的地方。他把车开出地库,凌晨的城市空得像刚清场的舞台,路灯把每一段路都照得过于清楚,反而显得不真实。
十分钟到不了。三十分钟都算顺。但他偏要说十分钟。他要让发短信的人在那间房里等着,心里起飞又落地,落地又起飞,最后把自己折腾出破绽来。挑衅这种东西,从来不是为了浪漫,是为了让你失控;失控了,你的命门就露出来了。
一路上他没开音乐,只听轮胎压过路缝“嗒、嗒、嗒”,像催命的节拍器。程桉脑子里并没有反复回放“她刚睡”那三个字,他更关注另一个问题:陆鸣为什么要给他发?
正常人就算真和已婚女同事发生点什么,也会躲着,尽量把痕迹擦干净。只有两种人会主动发这种东西:一种是蠢到以为炫耀很酷,另一种是聪明到知道炫耀只是手段,目的在别处。
陆鸣不像第一种。
程桉想起上个月在家里那次小聚餐,苏沁带了几个同事来庆功,陆鸣也在。那人敬酒时说话滴水不漏,一口一个“苏总监带得好”,又不忘把自己的“关键贡献”点出来,像拿刀在蛋糕上精准切角。程桉当时看他眼神就觉得别扭——不只是欣赏,不只是尊敬,更多像猎手在估量距离。程桉提醒过苏沁,说你离那人远点,苏沁笑他多疑,问他是不是看谁都像坏账。
“同事”两个字,平时挺干净,现在听起来就像被人蹭过油。
车停到维景国际酒店地下停车场时,已经两点半过一点。空得吓人,车灯扫过去,一排排车位像一张张空嘴。程桉没直接去电梯,他先坐在车里停了两分钟,像在给自己最后一次复盘的时间。
如果真是出轨,他冲进去闹一场也许爽一时,但代价是什么?苏沁的名声、他自己的底线、这段婚姻最后一点体面,全都一起炸掉。可如果不是出轨,而是一个局——那么他一闹,就正好跳进对方准备好的坑里。
陆鸣给他发房号,等于是给他递了一把刀,然后等着他自己把家捅穿。
程桉推门下车,走去大堂。前台值班的小姑娘困得眼睛都睁不开,看到他走近才猛地站直。程桉没有摆架子,反而露出一种“真着急”的表情,声音也放软:“不好意思这么晚打扰。我太太住这儿,刚给我打电话说不舒服,高血压那种,话都说不利索了,电话又断了。我记得她在十几楼,但房号想不起来,能帮我确认一下吗?”
他说话时顺手把身份证和一张黑金卡放在台面上。那小姑娘眼睛很快扫过卡面,态度立刻清醒得像被泼了冷水,连连点头要查。她刚要开口说隐私规则,程桉就抢先补一句:“我理解你们规定,你不用告诉我她房号也行。我就想确认一件事——17楼1708的住客,是不是姓陆?陆地的陆。”
这就巧妙了。不是“查别人”,是“核对信息”。前台犹豫了一下,还是敲了键盘,抬头时给了他一个肯定的眼神。
程桉道谢,很急地说自己上去看看,前台给他刷了电梯。电梯门合上那一刻,他脸上的焦急像被人一把擦掉,只剩下冷。袖口的拾音器开关按下,他听着电梯上升的“嗡”声,脑子里一点点把自己的情绪按回到抽屉里——现在不是伤口发疼的时候,现在是拆雷。
17楼走廊铺着厚地毯,灯光柔得过分,越柔越像给人设套。程桉走到1708门口,没敲,先贴耳去听。里面确实有声音,但不是那种让人血冲头顶的暧昧,反而是争吵,刀子一样的争吵。
苏沁的声音他再熟不过,可他从没听过她这么压着火——那种压到最后只剩颤的火:“陆鸣,你把最终方案还给我。你这叫商业勒索。”
陆鸣的声音则带着一种很讨厌的悠闲,好像他不是在毁人,是在教人做题:“苏总监,别说得这么难听。方案是谁的,提交人签名是谁的,这些不都写在系统里?我还发现你那版里有后门,连到境外IP。你说我把这个连同你的版本一起交给董事会,会怎样?”
程桉那一刻没觉得“被绿”,他只觉得后背发凉——这不是情感问题,这是职场谋杀,还是把人按进刑事泥潭那种。后门、境外IP、董事会,任何一个词都不是小打小闹,拼在一起就是要把苏沁钉死。
他没有冲动开门,而是抬手敲了三下,力道不重不轻,像客房服务。
门内立刻安静。几秒后,陆鸣警惕地问:“谁?”
程桉隔着门,语气很稳:“陆经理,我是程桉,苏沁的丈夫。收到你短信,说她睡了。我给她送个文件,顺便确认她身体情况。”
门锁“咔哒”一声开,门只拉开一条缝。陆鸣露出半张脸,眼神在程桉身上扫一遍,先惊了一下,随即又浮起那种很欠的笑:“文件呢?”
程桉也笑,笑意很浅:“电子版,在我脑子里。”
他说完直接侧身进门。房间并不乱,反而像临时战指挥部:茶几上两台电脑,旁边还有一个便携硬盘,电视上开着视频会议等待界面,几个中年男人的头像在小窗口里挂着,表情都不怎么好看。
苏沁坐在沙发上,脸白得像纸,眼神里先是慌——她以为丈夫是来“抓”她的——但慌只是一瞬,紧跟着就变成委屈和绝望,像人被逼到悬崖边终于看见救生绳。
“程桉,你怎么来了……”她声音发哑。
程桉没问“你为什么在这”。那种问题太廉价,问出口就等于承认自己已经被对方牵着走。他只走到她身边,抬手轻轻在她肩上拍了一下,像告诉她:别怕,我在。
然后他转向陆鸣:“你说我太太惹上大麻烦了,麻烦讲清楚。我在这儿,省得你们一句一句转述。”
陆鸣像终于等到观众,故作沉痛地点开电视连接,视频那头的王董开口:“陆鸣,情况如何?”
陆鸣立刻换了副嘴脸,像在做危机汇报:“各位董事,我对‘方舟计划’最终版本做交叉验证后,发现苏总监提交的版本被植入高危后门,会把核心用户数据传到境外IP。”
他把一串IP投到屏幕上,视频那头几个人脸色一变。苏沁猛地站起来,嗓子都抖:“我没有!我提交前检查过,我根本没写这种东西!”
陆鸣摊手,把便携硬盘举起来:“安全镜像都在这儿,你每次修改、每次保存都有记录。证据会说话。”
这话一出,苏沁像被人一下子掐住喉咙。她懂技术,懂流程,也懂这意味着什么——只要对方把“证据”做实,她再解释都像狡辩。
程桉一直没急着反驳。因为他知道,光喊“不是她”没用,董事会不会因为你声音大就信你。他得把对方的证据拆掉,而且要拆得让人没法自欺。
他看着屏幕上的IP,忽然问陆鸣:“你刚才说提交时间是晚上十点?”
陆鸣愣了下:“对,日志清清楚楚。”
程桉点点头,又看陆鸣那台顶配电脑:“你这电脑挺豪华。处理项目文档需要这么夸张的配置?”
王董不耐烦:“程先生,现在不是讨论电脑的时候。”
程桉抬眼,语气不冲,却硬:“正是电脑的问题。因为你们看到的‘证据’,很可能就是在这台电脑上批量生产出来的。”
他报了自己的身份——独立审计与信息安全方向,名字一说出来,视频那头明显有人脸色变了。程桉这行里名声不太“好听”,但好听不好听都无所谓,关键是:他出手,通常意味着有人要倒霉,而且倒霉得很清楚。
陆鸣强撑着笑:“就算你是审计师,也改变不了证据。”
“那我们玩个简单的。”程桉声音依旧平,“我问三个问题。你答得上来,我带苏沁走,我还建议你们公司对她严惩。你答不上来——就别再演。”
陆鸣被激起了那股好胜和虚荣:“你问。”
程桉第一问很直接:“你确认那个IP属于竞争对手服务器?”
陆鸣答得很快:“当然,公司备案过。”
程桉没急着笑,只淡淡说:“那你查过ASN吗?这个IP段的自治系统编号属于日本KDDI的民用网段,不是企业云服务节点。你把民用出口当成企业服务器,挺省事,但也挺露怯。”
陆鸣脸色一僵。董事会那边开始有人窃语,王董眼神也沉下来。
程桉第二问更狠:“你说你代码审计发现后门。你从十点到一点五十,三个多小时在复核?还是在等我这个‘丈夫’冲进来帮你把戏做实?”
陆鸣额头冒汗:“我在多次验证,确保无误。”
程桉直接拔了两台电脑和硬盘的线,动作干脆得像切断氧气:“不用解释。我告诉你你怎么做的。这个所谓便携硬盘,本质不是硬盘,是伪装存储的微型路由/注入设备。苏沁把文件拷贝进去那一刻,你就把后门拼进去,再把签名改成她的操作轨迹,最后拿镜像当铁证。”
苏沁听到这儿,整个人都僵住,像终于明白自己为什么明明没做却“记录齐全”。她看着那块硬盘,眼里翻涌的不是恐惧了,是恨——那种被人从背后捅一刀的恨。
程桉第三问,几乎是把陆鸣按在地上:“你那台电脑里是不是还跑着虚拟机?沙盒环境用来模拟对方网络,测试脚本。”
陆鸣嘴唇发白,一句话都说不出。
视频那头王董沉声下令:法务和安全部接手,报警,控制陆鸣。会议直接断线,房间里只剩电脑风扇呼呼的噪音,像一个人垂死的喘。
苏沁站在那儿,眼圈红得厉害,却强撑着没哭。她看程桉的眼神像第一次认识他:不是那个下班回家就沉默的人,不是那个跟她讨论风险像背条例的人,而是一个能在她被逼到墙角时,硬生生把墙拆了的人。
程桉走过去,抬手给她擦掉眼角的一滴泪:“没事了。”
苏沁嘴唇抖了下,终于喊了声他的名字:“程桉……”
就是这一声,让陆鸣突然疯了。他从墙边抬起头,笑得很难看,像被逼急的狗:“你以为你赢了?你毁了我?程桉,你知道我为什么盯你吗?你还记得一年前你送进去的那个张总吗?天鸿资本那个。”
程桉眼神一沉:“记得。”
陆鸣咬牙,像要把牙都咬碎:“他是我舅舅。”
苏沁倒吸一口气,整个人像被人从背后拽了一下。她终于明白这事怎么会这么“精准”——精准到挑她的项目、精准到挑她的致命点,还精准到用“她刚睡”去激怒程桉。这不是临时起意,是蓄谋已久。
陆鸣继续吼,眼里全是怨毒:“你毁了他,我就毁了你。毁你的专业名声太慢,我要毁你家。让你亲眼看着你老婆背上间谍罪名,看着她的职业生涯完蛋,你还得装理智——那才够痛。”
程桉没被他激起来。反而像确认了某个猜测:“所以你接近苏沁,进项目组,搞这些‘后门’‘境外IP’,只是第一层。”
陆鸣咧嘴:“你现在才反应过来?那脚本不是我写的。给我的人叫‘千代田’,他们等这一天很久了。你以为你拆穿我就结束?真正的通道早就开了。”
他盯着程桉的笔记本,眼神像毒:“你刚刚恢复的脚本里,有密钥。你以为你在找证据,其实你是在开门。来不及了。”
程桉的心沉了一下,但他手没抖。他立刻回到电脑前,重新扫那段脚本注释。几行看似乱码的十六进制,他解码后,屏幕上跳出来一个词组——“虫洞协议”。
这名字不吉利,简直像写给灾难用的。
他立刻明白:陆鸣的栽赃只是引信,真正的炸药是数据窃取,甚至是更大的系统级攻击。更恶心的是,对方还把触发点埋在“证据”里——你越是想自证清白,越可能一脚踩进第二个坑。
门被撞开,酒店保安和两名西装男冲进来,显然是公司的人到了。陆鸣看见他们反而笑了,嘴巴无声动了动:来不及了。
程桉没理陆鸣,他脑子里已经把行动路线排出来:不能断网,断网会惊动对方;报警太慢;唯一能做的是在他们搬空之前把通道卡死、反向定位,至少把“手”揪出来。
他对苏沁开口,声音不大,却像命令:“给你们技术总监打电话,告诉他是APT攻击,名叫虫洞协议,让他们启动最高级别隔离,锁核心库读写权限,但别断外网。”
苏沁愣了一下,随即像抓住救命稻草一样拨号。公司法务那边有人要拦程桉碰设备,程桉抬眼一句:“不想明天公司从牌桌上被掀下去,就别吭声。”那人被他的眼神压住,硬生生把话吞回去。
程桉开始敲键盘。没人看得懂,但所有人都能感觉到房间气压在变——像有人把窗全关上,又把火点着。他在追踪通道源头,对方也在放噪音干扰。他没时间一包包分析,干脆写了个过滤脚本:把对方扔来的垃圾指数级复制回灌,反向把通道堵死。
你想用烟雾遮路,那我就让你自己先窒息。
几分钟后,他捕捉到一个极短的真实回包,像野兽露出的一截尾巴。他立刻锁定,定位出一个物理地址,把它抄进文本,甩给法务负责人:“把这地址发给你们老板,能联系警方就联系。你们想要的大鱼在这儿。”
合上电脑那一瞬间,苏沁电话那头技术总监的声音几乎破音:“攻击停了!我们监测到通道突然被反堵死……谁干的?!”
苏沁看着程桉,喉咙像被什么堵着,最后只对着电话说:“是我丈夫。”
房间里所有人都安静了。那种安静不是礼貌,是一种终于意识到事情刚刚有多险的后怕。陆鸣则像被抽走魂一样瘫在地上,嘴里不停念“不可能”。他大概想了一年,怎么把程桉拖进泥里,结果泥没沾到程桉衣角,反而把自己埋了。
法务负责人对程桉的态度彻底变了,连腰都弯得比刚才低:“程先生,王董说后续他们处理,陆鸣我们已经控制,并报警。谢谢您。”
程桉点头,没多说。他现在只想把苏沁带走。那间1708房里,空气太脏,脏得让人喘不上来。
他问法务:“苏沁房间在1502?”
对方赶紧点头要安排人护送。程桉拒了:“不用,我们自己去。”
电梯里就他们两个人,门一关,外面的嘈杂像被切掉。苏沁终于松了一口气,整个人靠着电梯壁,眼睛红肿却亮得吓人:“程桉……你什么时候变成这样的?”
程桉看她那副又怕又倔的样子,心里软了一下,抬手轻轻刮了下她鼻尖:“我一直这样。只是以前你忙着向前跑,没空回头看我。”
这句话不重,却刚好戳在苏沁最酸的地方。她张了张嘴,想说“我没有”,可最后还是把话咽下去,眼泪又掉下来一颗。
到了1502,房门一开,屋里安静得像另一个世界。薰衣草味还在,床铺整齐,桌上放着她没喝完的矿泉水。苏沁站在门口,突然就发软,像一整夜撑着的那根筋终于断了。
程桉扶住她:“先洗澡,睡一觉。天塌了也得等你先喘口气。”
苏沁点头,进浴室,水声响起。程桉坐在窗边,拉开一点窗帘,天边已经有浅浅的鱼肚白。城市要醒了,像什么都没发生过一样。可他知道,有些东西已经变了。
他想到这几年他们的相处:苏沁讲项目,他讲风险;苏沁要情绪,他给方案;她想要拥抱,他递过去的是一张“最优解”。他不是不爱,他只是把爱做成了报告。可人不是报表,婚姻也不是审计流程,很多时候你赢了逻辑,却输在温度上。
浴室门开,苏沁穿着浴袍出来,头发湿着,脸上没妆,反而显得更真实。她走到他背后抱住他,声音闷闷的:“对不起。”
程桉转过身,看着她:“你对不起什么?”
“我以为你不懂我。”苏沁眼睛又红了,“我以为你只会冷冰冰地讲道理。今天我才知道,你不是不在,你只是站得太远了。”
程桉沉默几秒,忽然笑了一下,笑得有点疲惫:“其实该说对不起的是我。我总觉得把问题解决了就算爱你,却忘了你有时候不需要解决,你只是需要我站你这边。”
苏沁抬头看他,声音很轻:“那我们还能好吗?”
程桉看向窗外刚冒头的太阳,金光一点点挤进来。他没有给她一个“当然”那种轻飘的答案,而是很实在地说:“回不到从前了。”
苏沁脸色一白。
程桉捧住她脸,让她看着自己:“回不到从前,是因为我们得换一种过法。以前我们像各跑各的赛道,碰上就说两句,没碰上就算。以后不行了。以后我要你把事告诉我,你也得听我把话说完——不光是项目,不光是风波,连你那些不想说的委屈,也得说。”
苏沁点头,点得很用力,像怕他反悔。
这时程桉手机响了,是王董。电话里对方语气激动,说日本那边已经有人动起来了,地址里的设备和人员被控制,牵出来的事不止商业间谍那么简单。王董说要请程桉做首席信息安全顾问,待遇随他开。
苏沁听着,眼里闪过一丝复杂的光——那是骄傲,也是担心。她知道程桉这种人,一旦站到更大的台面上,麻烦只会更多。
程桉却没犹豫:“谢谢王董好意。我不入职。最近我得休假,陪我太太。”
电话那头愣了两秒,随后大笑,说这朋友交定了,有事随时开口。
挂了电话,苏沁忍不住问:“你为什么不答应?这是很好的机会。”
程桉把她拉近一点,额头抵着她:“机会以后还会有。你这次差点没了的,是你整个人。我不想再赌了。也不想再让你一个人扛。”
苏沁眼泪又掉下来,却不是刚才那种后怕的泪了,更像被人好好接住后的松软。她用力抱紧程桉,像抱住一根终于不会松开的绳。
窗外阳光越来越亮,把房间照得干净明朗。昨夜的1708像一个被封存的噩梦,可程桉知道,那不是故事的尾声,只是他们生活里一次特别狠的提醒:有人会用最脏的方式试探你们的缝隙,而你们要做的不是每次都靠一场胜利去补救,而是别再把缝隙留得那么明显。
苏沁在他怀里闷声说:“程桉,以后我不逞强了。”
程桉“嗯”了一声,停了停,又补一句:“我也不逞强了。我们都别装。”
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.