创作声明:本文为虚构创作,请勿与现实关联
“顾先生,您的月薪是4500元。”人事把劳动合同推过来,笔搁在纸上,发出很轻的一声。
![]()
我没接话,把合同翻到薪资那一栏,盯着那个数字看了两秒。
“有疑问吗?还是需要跟财务确认一下?”人士的睫毛轻轻颤了一下。
“没有。”我签字,把合同推回去,“明天到岗。”
“明天?”她似乎没料到这个答案,“您不需要准备一下?”
“不需要。”
我要离开时,她在背后喊了一句:“顾先生,您……真的不考虑了?”
“合同签了。”我回头,“反悔对谁都不好。”
走出叶氏大楼,我站在台阶上抽了根烟。手机震动,猎头许曼的消息跳出来:顺利吗?
我回了一个字:顺。
她又发:第一年260万加第二年420万,合同里走的是奖金通道,月薪走底薪。你别计较这个,数字不会变。
我删掉对话框,没再回。
三个月前的那场饭局,至今想来仍带着点讽刺。苏凯给我倒的茶是凉了又续的,他说:“顾衍,你手上的‘凌云调度系统’是公司未来五年的命脉。你现在提离职,等于把命脉割给别人。”
我说:“苏总,我需要换口饭吃。”
“你缺钱?”他皱眉,“我给你加薪,行不行?”
“不是钱的事。”
“那是什么?”
我没回答他。因为那个答案我自己也没想清楚——在这个行业待了七年,我做出了凌云最强的一套系统,所有人都说我是苏凯的嫡系,是凌云最锋利的刀刃。但我知道,我不过是“别人家的人”。苏凯的弟弟在董事会,姓苏的占了半壁江山,而我姓顾。开会也好,立项也好,核心技术我拿着,署名永远排在第三位以后,年终奖挂在项目组里,经手人却是苏凯。
叶氏挖我的猎头是许曼。她第一次来找我的时候,我还以为是想买系统授权,直到她递过来一张手写的报价单,680万,三个字写得很端正。底下还有一行小字:一次性买断,附带期权。
她当面给我算:“第一年260,第二年420,走奖金通道,税后不会低于这个数。你若不信,可以做第三方托管。叶氏的钱从来不画饼。”
我确实缺钱。我妈住在城东的疗养院里,每月的护理费是一笔不小的数目。苏凯知道这件事,他给我加过两次薪,每次都在董事会上被压下来,转头他又给我些项目奖,塞得小心翼翼,像是怕别人发现他对下属的“私心”。我感激他,但这份感激不够我留一辈子。
最终让我下决定的是那天下午,苏凯带着他侄子苏听进会议室。苏听刚从国外回来,穿一件没剪标签的西装,坐主席位,对我点头:“顾哥,以后你的东西都先过我这边评审。”
我看了眼苏凯,他低头喝茶,没吭声。
第二天,我回了许曼的微信:可以谈。
那天晚上我和江月在楼下大排档喝酒,她夹着烤茄子看我:“真要走?”
“嗯。”
“叶氏可不是好待的。”她说,“他们家少总叶晟,人看着斯文,手腕狠得很。你过去做他们的调度核心,等于是把凌云的底子摊开给人看,苏凯不恨你?”
“他恨我,但他压不住他侄子,早晚也是被吃掉。不如我自己走。”
“那你图什么?钱?”她盯着我,“顾衍,你以前说过,要做一套能跑十五年的系统。凌云那套,是你从零写的。你走了,它就算是半躺在苏听的怀里了。”
我没说话。烤肉的油滴到炭上,腾起一股白烟。
“你要是真缺钱,我可以……”她顿了一下,“算了,当我没说。”
“喝酒。”
她碰了碰我的杯子,火星在暗处跳了跳。
入职叶氏第一周,我先见了技术部的几位老人。会议室里摆着一张长桌,他们坐在对面,像陪审团。
“顾总,您之前在凌云负责‘调度系统’的底层架构?”一个戴着银色眼镜的男人问。他叫傅野,名片上印的是“技术副总监”。
“是的。”
“那您应该知道,我们叶氏目前自己有一套调度框架,代码量和凌云那套差不多,但性能上差了一点。”他笑了一下,笑意没到眼底,“您的到来,是不是意味着我们直接换底子?”
“不换。你们的框架要是能用,就继续用,我只在缺的地方补。”
“缺的地方?”另一个年轻女孩抬头,“我们缺哪了?”
“三天后,我会出一份代码审计报告,你们对照着看。”
他们互相交换了眼神,神色各异。傅野率先站起来:“行,那等顾总的报告。”
我回到工位,打开他们给我的项目代码。叶氏这套系统的架构其实很完整,只是写得太满,像一辆加满油却踩着刹车跑的车,冗余的判断、层层嵌套的回调,安全冗余过头了。许曼说的叶氏肯花大价钱改进,倒也不算空话。
但我没想到的是,他们的系统有一个致命问题。
我花了一个星期才确认这件事:叶氏的底层调度引擎,在某个工况下会绕过自身的令牌验证,直连数据库,旁路的权限甚至高于管理员本身。这个问题不在常规的代码路径上,只有在极偶然的调度冲突下才会触发——但它被某段注释里埋着的后门激活过。注释的署名是一个英文ID:“silence”。
我把这个发现写进了报告,但没有全写。我只列出了性能优化部分,后面那页我存进了加密盘里。
入职第十天,傅野开始找我聊组里的规则。他暗示我:“顾总,听说你和苏凯关系一直很好,咱们这边的人心里多少有点打鼓。”
“那是私人交情。”
“私人交情会带过来吗?”
“你说呢?”
他笑:“我不说,我只看。”
我慢慢地喝了一口咖啡:“你看得很对。”
发工资那天,手机银行的推送跳出来:您本月工资到账4500元。
我没多看,放下手机,打开邮箱。许曼的消息隔了一天发来:第一笔奖金在流程里,财务说下个月统一走,你耐心等。
我回:好的。
第二天,我又收到一笔转账:0.01元。备注是“系统测试”。
项目群里,有人发了一只笑的表情包,没点名。我没回应。
到了第二周的周会上,叶晟亲自坐镇,问技术进度。傅野汇报完优化项,叶晟转向我:“顾衍,你那边呢?新东西什么时候落地?”
我说:“报告已经交了一个星期了。”
“报告是纸面的。”他修长的手指敲了一下桌面,“我要看实际数据。下个月,叶氏会跟明舟在全景智慧城市项目上竞标,你赢下这个,680万是我亲手批,一分不会少。”
“明白。”
他看了我一会儿,微微点头,然后走了。他走后,傅野凑过来:“叶总给压力了?”
“正常。”
“你要是扛不住,组里可以帮你分担。”他笑着说,“你一个人做,多慢呢。”
“我自己做,更快。”我合上笔记本,“下班了。”
他没接话。电梯里我遇到了安琪,叶晟的行政助理。她按了顶楼,转头对我说:“顾总,叶总让我问问您,您母亲那里的疗养费,有没有什么困难?”
“替我谢谢叶总,暂时没有。”
“叶总说,您要是有什么需要,尽管开口,您现在是叶氏的人。”
我笑了笑:“好的。”
电梯门开,我走出去。安琪在后面又说了一句:“苏总昨天来公司拜访过,跟叶总聊了半个多小时,好像是谈一个联合项目的事。您知道吗?”
我脚步没停:“不知道,也不关心。”
但这句话像一根细刺,搁在心里一直没拔掉。苏凯去找叶晟谈项目?他怎么会愿意跟挖走他核心员工的人合作?还是说,他早就想通了他侄子成不了事,干脆另寻靠山?
我回到出租屋,打开那台不联网的加密笔记本,把“silence”那段代码重新翻出来。这个后门埋得很深,像是故意留在这里,等着某个人发现。埋它的人是谁?它会被用来做什么?我不知道,但我知道它不该存在。
那天深夜,江月给我打电话:“顾衍,你在那边怎么样?”
“还行。”
“苏凯来我们部门说过一句话,说他当年真是看错人了。”
我沉默了片刻:“他没看错。只不过我没做他想让我做的决定。”
“你小心点。”江月的声音压得低,“苏听前两天在办公室骂你,说你是白眼狼。我怕他做出什么事来。”
“他心里那点事,我最清楚。”
“你清楚个屁。”她说,“你以为你去叶氏,叶晟就会真正把你当自己人?你现在就是一块肥肉,两边都看着你。”
“肥肉能跑,谁还没长腿呢?”
她在电话那头笑了一声:“行,你还贫。反正你照顾好自己,有需要就打电话。”
“嗯。”
挂了电话,我盯着窗外的夜色,轻轻吐出一口气。我在凌云做的那套系统,后半段其实留了一扇门——不是给苏凯开的,也不是给叶晟开的,是给我自己的。那套系统看起来运行得很好,但它真正依赖的“心核”在我手里,只有我知道怎么换。
我离开凌云那天,苏凯问我:“那套系统还能跑多久?”
我说:“跑五年,没问题。”
“五年以后呢?”
“五年以后,你们已经不需要我了。到那时候系统会自己进化。”
他看了我很久:“顾衍,你从来就没信过我。”
“苏总,”我回答,“我信你,但你姓苏。”
回忆到这里,我拉回视线,看着手机里那个“0.01元”的测试转账。工资到账的第一天,一切都很安静。叶氏的财务群里,有人说:“顾工,工资那么低,你怎么也不闹?”
我回了一句:“合同上写的,该拿多少拿多少。”
“那你要不是图工资,你图什么?”
“图凉快。”
群里沉默,然后有人发了个捂脸的表情,大家没再继续问。第二天,我在系统里提交了离职申请。流程跳出来的那一刻,傅野的电话立刻打了过来:“顾总,您这是什么意思?”
“离职申请,没什么意思。”
“你不是第一个月还没干完吗?”
“合同签的是不定期合同,试用期提前三天提离职,合法合规。”
“那叶总那边……”
“我已经发了邮件给他了。”
电话那头沉默了好一会儿,傅野压低声音:“顾衍,你这样是不是不太讲情面?叶总给你开的条件,行业里谁有这样的待遇?”
“待遇我收到了。”我说,“工资4500,到手。”
“那笔奖金是会到的——”
“什么时候?”
他卡住了。过了一会儿:“你等等,我和叶总沟通。”
“不用沟通。我的离职三天后生效,这段时间我会把手头的报告和交接文档传到公共盘。该做的都做,干干净净地走。”
“你——”
我已经挂了电话。
三天后,离职正式生效。我搬着那个装了两本书和一个键盘的纸箱走出叶氏大楼,没回头。电梯门关上之前,安琪小跑着过来:“顾总,叶总说想跟您谈谈。”
“不用了。”
“他说,你不是想看你妈更好的疗养环境吗?他可以——”
我打断她:“安琪,替我转告一句话。叶总给我开的价,他自己心里清楚,那笔钱有没有打算真给,他也清楚。我不闹,是给他留面子。但他给我的那个薪水数字,不是钱的问题,是这件事从头到尾,他就没打算认真待我。”
安琪愣在原地,电梯门合上。
我走出园区门口,手机响了,一个陌生号码。接起来,那头传来苏凯的声音:“顾衍,我打听到你离职了。”
“嗯。”
“你下一步怎么办?回凌云吗?”
“不回。”
“那你——”
“苏总,”我说,“你的系统,五年内不会出大事。只有苏听不动那扇核心门。”
他沉默了一下:“你怎么知道我要动?”
我没答,挂断了电话。
三天后,恰好是叶氏跟明舟竞标的前一天。那天晚上股市收盘后,我的手机在桌上震了又震,几十条消息同时涌进来。我打开财经新闻,看到一行黑色加粗标题:“叶氏智能盘中异动,尾盘急跌逾9%,市值单日蒸发28亿元。”
底下评论众说纷纭,有人说是竞标爆冷,明舟宣布弃标;有人说是内部出现重大技术隐患;有人说叶晟被证监局约谈。各路猜测像雪片一样散开。
我知道实际的原因不在这几条。我拨了一个号码,响了很久才有人接。
“喂。”对面声音很轻,带着一点刚睡醒的低哑。
“你看到新闻了?”我说。
“看到了。”
“你那边的代码,查过没有?”
“查过了。‘silence’那扇门,关掉了。”
“什么时候关的?”
“今天下午。本来想明天早上关,结果测试的时候发现它已经自动触发了,我再不关,整个数据库就裸着过年了。”
我闭上眼睛:“好。”
电话那头沉默了一会儿,然后那人开口:“顾衍,你早就知道了吧?在凌云的时候你就知道,那个后门不是叶氏员工埋的,是苏听三年前卖给他们的。他拿你的代码当投名状,把核心模块复制了一份给叶氏。你跳槽去叶氏,是想看看那扇门后头到底连着谁吧?”
我没回答。
“你离职,是因为你看清楚了——叶晟和苏听是一伙的,对不对?他花680万挖你,不是为了用你,是为了让你亲手给自己那套系统递刀子。”
风从窗外吹进来,我拿起杯子喝了一口水,发现水已经凉了。
“你说话啊。”那边催促。
“江月,”我缓缓开口,“你把门关了就对了。其他的,等过了今晚再说。”
“你到底打算——”
“明天竞标会取消,叶氏损失的不止那28个亿。我在系统里留的最后一道指令,是清理日志。明早九点,叶晟会看到一份报告,上面写的是他这几年通过苏听拿凌云核心代码的全部记录。”
电话那头彻底静了。
过了很久,江月的声音低低地传来:“顾衍,你为这一天准备了多久?”
我放下杯子,看了一眼窗外——天快亮了,路灯一盏接一盏地灭下去。
“没多久。”我说,“从我知道苏听姓苏的那天起。”
早上六点,手机震了十七次。财经推送说叶氏尾盘急跌,市值蒸发二十八亿,可到了八点,叶氏官方发布了一则公告:核心调度系统遭到外部恶意攻击,已于昨晚修复,并已向公安机关报案。公告没点名,但附图是技术部群里的聊天截图,某段消息被红色框标了出来——“报告在这,有问题找我”,发件人的名片写着“顾衍”。
我看了三遍那段话,把手机锁屏,又解锁。
这招快得不像叶晟的作风,更像是他身边某个老手出的主意。举报人是我,反倒成了嫌疑人。公告刚出不到半小时,微博和股吧已经涌进一堆帖子,有人扒出我从凌云跳槽到叶氏的薪资,配了个截图:4500。底下最高赞的评论是:“年薪680万挖来的人,月薪4500?这要么是合同有问题,要么就是来搞笑的。”
我不觉得可笑。我只是觉得很冷。把手机扔到桌上,我去洗了把脸。镜子里的那张脸有点浮肿,眼睛里全是红血丝。昨晚没睡,我一直在等那扇门关掉后,系统日志自动生成的那封信。九点应该会发到叶晟的邮箱里,但现在八点二十,叶氏已经先发声了。说明他们知道我会在那时候发什么,或者说,他们根本不怕。
门铃响的时候我正擦脸。透过猫眼看了一眼,是许曼。她穿一件米色风衣,站在门口的走廊灯下发出一条消息:开门,我带了咖啡。
我开了门。她径直走进来,把咖啡放在餐桌上,扫了一眼我乱糟糟的房间,没评价。“你看到公告了吧?”她问。
“看到了。”
“顾衍,我问你一句实话——昨晚叶氏的股价暴跌,你动过手吗?”
“我动过什么手?”我在她对面坐下,打开那杯咖啡,喝了一口,“我把那扇后门关掉,算动手吗?”
许曼沉默片刻:“叶氏的技术部说,那扇门是从内侧打开的。他们手里有服务器日志,显示你离职前三小时,用管理员权限登录了底层调度引擎。”
“我登录是为了删掉我自己的测试账号。”
“他们不这么认为。”她把一份文件放在桌上,“这是叶氏法务发给我的邮件。因为我是你的猎头,也是你的担保人。他们要求我提供你入职时的联系人信息,否则会以‘协助窃取商业秘密’为由起诉我。”
我没碰那份文件,目光盯着她:“许曼,你到底想说什么?”
“我想说,你现在最好跟我走一趟,见叶晟一面。他愿意谈,条件是你把手里所有关于‘silence’的代码备份交出来,然后签一份保密协议,不再提这件事。”
“然后呢?”
“然后你回凌云也好,去别的公司也好,他保证不再追究。”
“他保证不再追究?”我笑了笑,“那我妈疗养院的事,他安排人问过好几遍,怎么不说这个了?”
许曼的神色微微变了变:“顾衍,叶总对你没有恶意。你只是踩到他的线了。他做的事是商人该做的事,你没做错的事他也不会硬按在你头上。”
“你信?”
“我信不信不重要。”她说,“但你没有选择。现在这个局,叶氏手里有证据、有律师、有舆论,你什么都没有。”
“我有那封信。”
“那封信不会发出去。”许曼的声音低了些,“叶晟刚才在电话里说,他已经让人截获了你预设的那封邮件。你邮箱里的附件,也在今天凌晨被远程删除了。”
我握着纸杯的手僵了一下。她没放过这个细节:“你怎么看?你设置的自动清理日志是不是被你自己清掉了?你是不是早该想到,叶晟是做什么出身的?你给自己留的后路,在他眼里都是透明的。”
我把咖啡放下,站起来,走到窗前。外面天已经大亮了,街上开始有人流,有人上班,有人买菜,没有人看新闻。所有人的日子照常。
“许曼,”我背对着她,“你是我的猎头,还是他的说客?”
“我两头都占一点。”她说,“但我今天来,是因为我不想看着你把自己玩死。顾衍,680万是真金白银,不是诈你的。你非要走那条路,后面的损失比那笔钱大得多。”
“我不走那条路,走哪条?”
“你说你想换口饭吃。你得先有命吃。”
她等了我两分钟,我没说话。她叹口气,拿起包走了。门关上的声音很轻,像只有一声叹息。
我站在窗前,拿出手机,拨了江月的号。响了很久,她才接:“顾衍?”
“你那边方便说话吗?”
“你别打我电话了。”她的声音又低又急,“苏凯早上在公司开会,发了一封全员邮件,说你涉嫌泄露公司核心技术出去,保安部已经把我叫去谈话了,因为咱俩昨晚的通话记录被调出来了。”
“他们凭什么叫你去?”
“他们说你是从我手机里拿到叶氏系统后门的拷贝。”江月的呼吸变粗,“顾衍,我他妈什么时候给过你什么东西?你昨晚跟我说的那些话,我都不知道是真的假的。你到底把我拉进什么事里了?”
“你什么都没做。他们只是吓唬你。”
“吓唬?”她的声音高了半度,“他们把我主管位置拿掉了,说等调查结束再定。我保住这份工作已经很不容易了,你现在告诉我这只是吓唬?”
我沉默了。她在那头停了一下,再开口时声音软下来:“顾衍,我知道你不是坏人。但你能不能收手?你赢不了的。”
“我要是收手,他们会怎么处理你?”
“他们说只要我配合调查,应该没事。”
“那你就配合。别管我。”
“你——”
“我说了,别管我。”我挂断了电话。
窗外有只鸟落在空调外机上,歪着头看我。我看了它一会儿,它飞走了。我坐回沙发上,打开那台不联网的加密笔记本。邮件确实没了,我写的那些记录像从未存在过一样。但我的习惯从来不是只留一份。我在城东某家银行的保险柜里,存了一块加密硬盘。那里面是所有代码的底稿,包括“silence”的完整日志,以及苏听三年前卖代码时留下的那封电子邮件原文——那是我在凌云维护备份服务器时无意间翻到的。苏听把邮件删了,但邮件服务器有镜像,我保存了下来。
之前我以为这封信只能用来证明叶晟和苏听的关系,现在看,它也许能证明我自己是清白的。可我也清楚,如果叶晟能截获我邮箱里的附件,他未必不知道保险柜的事。我需要在那之前动手。
中午我去了一趟城区,路过那家银行时没停车,只是在车上坐了一会儿。然后我去了明舟。明舟的人不该见我这种烫手山芋,但我还是去了。前台打电话给楼上,过了二十分钟,下来一个戴眼镜的年轻女人,问:“您是顾衍先生?”
“是。”
“我们安总说,今天不方便见。您留个名片就好。”
“麻烦你转告安总,我手里有一份他研究了半年的东西。如果他想看,明天这个时间我再过来。”
她犹豫了一下,还是点了头。我没多留,开车回出租屋。车拐上城西路的时候,我看见了苏凯的车。那辆黑色奔驰停在路边,车窗半开着,里面的人正盯着手机。我把车停在马路对面,等了片刻,苏凯像感应到什么似地抬起头,看向我这边。
他推开车门,朝我走过来。我下了车。
“顾衍。”他站在我面前,风衣被风掀起一角,神色比三个月前老了不少,“你有多少时间?”
“你有什么事?”
“江月的事情,我压下来了。人事那边说,她可以回原岗位,但必须签一份保证书,承诺和你断绝私人往来。”
“她签了吗?”
“还没签。她在犹豫。”
“那你找我干什么?”
苏凯看着我的眼睛:“我听叶晟说了,你给他留了一个要命的东西。他没发出来,因为他提前截断了。顾衍,你觉得自己很聪明,但你知不知道,那封邮件是叶晟故意让你发出去的?他请我这个位置坐了一个星期,就等着你动手。你报案、你举报,他都有应对。你唯一不该做的,是把江月卷进来。”
“我没有卷她。是你把她卷进来的。”
“我用她来提醒你。”苏凯收起那副和事佬的表情,换了副我不太熟的冷脸,“顾衍,我们都是做技术的,我从来不跟你玩虚的。苏听卖代码的事,我确实不知道。我查清楚之后,本想自己了结。但你先动了,你动了叶氏,等于把苏听和我一起架到火上。现在叶氏用你的把柄拿捏我,我得在你和我侄儿之间选一个。你说我该怎么选?”
“你应该选对的事。”
“对的事?”他笑了一声,“什么是对的?把你供出去,让苏听吃牢饭,把我这身名誉搭进去?你愿意吗?”
我没说话。他往前走了一步:“你手里还有备份,对吧?你留了不止一份。如果你给我,我可以帮你把叶氏的那份威胁压下来,咱们两清。”
“苏总,你是在求我吗?”
“我是在给你台阶。”
“台阶我可以自己找。”我说,“不用你铺。”
他退后一步,点了点头:“行。那你记住,你手里那张牌,如果不趁早打出去,过两天就变成废纸了。叶晟不会给你机会的。”
他转身上车走了。我站在原地,看着他尾灯消失在车流里,很久没动。
下午三点,安琪给我发了一条微信:顾总,叶总说:那封邮件他没有打开看。如果你愿意坐下来谈,叶氏愿意补偿你三个月的工资,并替你支付离职后的社保。他想确认你母亲那边暂时没有麻烦。
我看着这条微信,打了两句话又删掉,最后回了三个字:不用了。
发完我又后悔了。也许应该顺着台阶下,至少保住我妈。但我知道,叶晟的“补偿”从来不是天上掉的。他说的“没有麻烦”本身就是麻烦。
晚上八点,我去了疗养院。我妈坐在走廊的轮椅上,护士说她今天吃得比往常好一些。她认出了我,叫了一声“衍仔”,然后问:“工作忙不忙?”
“还好。”
“你在的那个公司,上电视了,说倒了。”她浑浊的眼睛看着我,“你没被开吧?”
“没有,我好着呢。”
她点了点头,又看一会儿窗外:“你爸以前也总说‘好着呢’。他走那天早上,还说我买鱼去。”
我没说话,握住她瘦削的手。过了一会儿,她靠在那里睡着了。护士把她推进房间,我在走廊尽头站了很久。手机屏幕亮了一下,是一个陌生号码发来的短信,没有署名:“silence的门关上了,但还有一道门没锁。哪扇门的钥匙在你手里,就看你舍不舍得用。”
我盯着这行字看了一会儿,手指悬在键盘上,没有回复。短信来源是一串乱码,像是用一次性号码发的。我把它删了,但记住了那句话。
离开疗养院时我走的是后院的小路。路边停着一辆白色商务车,车窗全黑,我没停步。走了十步远,那车后门开了一条缝,有人扔了一封信出来,落在水泥地上,发出一声轻响。我回头看了一眼,车门已经关上了,车子不疾不徐地开走。
我没弯腰捡。继续往前走了半条街,才转身折回去,捡起那封信,在路灯下拆开。里面是一张打印纸,上面只有一行字:苏听下周一动身去瑞士,航班号是LX189。
我站在路灯下,风把纸吹得哗哗响。苏听要跑。如果那些代码和邮件都是他卖的,他的离开意味着所有证据都会沉淀在境外,再也拿不回来。但发这封信的人是谁?苏凯?还是叶晟内部的人?他们想让我去截住苏听?这又是一个什么样的坑?
我把那张纸叠好放进口袋,走进夜色里。三天后就是周一,我只有不到两天的时间决定,是信这封信,还是信自己的直觉。
回到家,我打开那台加密笔记本,调出苏听那封旧邮件的时间戳。三年前的一个深夜,从凌云的内部服务器发往一个境外地址,附件大小是34.2MB,文件名是“core_v3.tar.gz”。这个时间,恰好是苏听入职凌云的第二个月。
我看着那串时间,记忆里浮现出另一个细节:那天晚上,苏凯给我打了个电话,说苏听想借我的开发机练习一下。我没多想,给了他临时权限。第二天我跑测试,发现核心模块的编译时间比平时多了七分钟,当时我以为是机器负载问题,还让运维查了一遍,没查出所以然。
现在那七分钟是什么,我总算知道了。
我合上电脑,深吸一口气。明天还得去明舟,如果那边等不到想要的筹码,我可能真的只剩一条路——在苏听登机前,拦住他,把他的机票和下一步行动搅黄。但那会让我彻底暴露在所有人的枪口下。
我躺下来,闭上眼睛。窗外偶尔有车经过,灯光划过天花板。临睡前,我最后想起来的是江月说的那句:“你赢不了的。”
也许她没说错。但赢不赢,总得试过才知道。
明舟那边比我想象的更快。第二天早上八点半,我刚在楼下便利店买了杯豆浆,手机就响了。电话那头是个女声,语气利落:“顾先生?安总说十点见您,您方便吗?”
我看了眼手表,把豆浆塞进包里:“方便。老地方?”
“安总说换个地方,杨浦滨江那边的咖啡店,到了发您定位。”
挂了电话,我站在原地想了想。昨晚那封信还在我口袋里,苏听要飞瑞士的事像一根刺,不拔掉就坐立不安。但明舟的安总突然改约地点,这个信号太微妙了。是见我还是见别人,是谈生意还是会碰头,都得等见面才能知道。
九点半我到滨江时,那家咖啡店刚开门,店员正在擦玻璃。我选了靠窗的位置坐下,能看到整片江面。阳光照在水上,白茫茫一片。我点了杯美式,等着。
十点整,安总来了。她从店门口走进来,穿着一件深灰外套,短发齐耳,神情很淡。她在我对面坐下,没点东西,开门见山:“顾衍,你昨天让我前台转告的那句话,我听了。你有东西要给我看?”
“你有东西想收很久了。”
她笑了一下,眼睛没跟着笑:“你说那个调度系统的心核?”
“你知道。”
“我在凌云那套系统上吃过亏,三年前审计过一次,被苏凯挡回来了。后来叶氏出了新框架,我付过一笔授权费,结果拿到的代码跑起来三天两头崩,运维说里面缺了一个核心模块——就是你手里的那个,对吧?”她说得很冷静,像在讲别人的事,“你要是愿意把手里的东西卖给我,我可以出个价。”
“我不卖。”
“那你约我干什么?”
“我想请你帮个忙。”我把那张纸条放在桌上,推过去,“苏听下周一飞瑞士,航班号LX189。我需要有人在机场截他,拦住他出境。”
她低头看了一眼纸条,没拿起来:“你让我做违法的事?”
“不是违法。他手里有一份卖出去的代码,是凌云的核心。他出国后,那份东西就永远拿不回来了。”
“你自己为什么不去?”
“我有我的理由。”我说,“我去机场,一定会被人盯上。但你不一样,你和苏听没有直接利益关系,你出现在那里不会引起怀疑。”
安总端起水杯喝了一口,目光落在我脸上:“顾衍,你知道苏听现在背后站着谁吗?他要是光杆一人,根本撑不到今天。”
“我知道。”
“那你还要动他?”
“我要的不是动他,”我说,“我要的是那份代码。他能卖,我就能拿回来。”
她沉默了一阵,放下杯子,说了一句话:“苏听手里的那份代码,早就不在他身上了。他上周三把它拷贝了一份给叶晟的技术副总监傅野。我有人看到他们在国贸那家日料店见过面。”
我握着杯子的手紧了紧。傅野。那个戴银色眼镜的男人。他在公司里待得那么安静,原来是等在这里。我本想用苏听压住叶晟,但叶晟手里的牌比我想的多得多。
“你既然知道这些,”我抬眼看她,“你也应该知道,我昨天去你们公司找你的目的,不只是让你帮我截苏听。”
“你说。”
“我要叶氏那套系统的后门日志。你既然能找人跟到苏听和傅野吃饭,应该也能拿到叶氏技术部的内部记录。”
她看着我,半晌,嘴角弯了一点:“你是想让我帮你查叶晟?”
“我不是查他,我是让他把手里那份假的‘我泄露代码’的报表作废。”
“报表作废?”她笑了一声,“顾衍,你是不是还活在你们做技术的人那个干净的世界里?报表就是用来栽赃的,作废了重新造一张就行。你要的是人,不是纸。”
“什么人?”
“傅野。”她声音压低了,“他是叶晟真正的心腹。苏听是拿钱办事的中间人,傅野才是那个把代码送到叶氏工程部里落地的人。你要是能撬动他,叶晟手里所有跟你有关的“证据”,都会变成他陷害你的把柄。”
我放下杯子,看着她:“你知道这么多,为什么不自己去撬?”
她笑得很淡:“我又不欠你的。我是商人,我要的是结果。你要是能把叶氏的系统底层代码弄出来,我出500万,一次性买断。你想怎么对付叶晟,那是你的事。”
我没接话。窗外的江风吹进来,桌上的纸巾被吹动了一下。静了几秒,我开口:“我可以给你弄到那套系统的心核,但你要答应我一件事。”
“说。”
“如果我真的出事,帮我照顾我妈。她的疗养费我交到下个月,后续的,从这份交易里扣。”
她看着我,表情难得认真了一些:“你信我?”
“我没那么多选择了。”
她拿起那张纸条,折好放进包里,站起来:“我今天晚上给你消息。傅野那边,我会安排人跟。你等我联系。”
她走了,背影利落地穿过阳光,推门离开咖啡馆。我坐在原位喝完那杯凉了的美式,手机震了一下,是安琪的消息:叶总下午想见您一面,三点,公司顶楼。他说只谈十分钟,不耽误您时间。
我看着这行字,手指在屏幕上悬了一瞬,最后还是回了:好。
下午三点,我准时到叶氏楼下。熟悉的大厅,熟悉的前台。电梯上顶楼时,镜子里的自己面色平静,看不出多少情绪。门开,走廊里很安静,安琪在尽头迎接:“顾总,叶总在等您。”
我点头,走进去。叶晟的办公室很大,一整面落地窗对着黄浦江,他背对门口站着,手里夹着一支烟,没点着。听到脚步声,他转过身:“顾衍。”
“叶总。”
“坐。”他指了指沙发,自己没回办公桌,在对面坐下,“你这几天,想清楚了吗?”
“您指哪件事?”
“所有事。”他说,“你从入职到离职,一共待了23天。我给你开的是680万的盘口,你拿到的工资是4500块,中间差了六百多倍。你觉得自己冤枉,我理解。但那条路走到头,对你没有好处。”
“我离职是因为合同里写明的事我没拿到,不是其他原因。”
“合同里写的奖金,月底发。你走太早了。”他语气平淡,“你以为我拖你?你打电话给财务的时候,钱就在流程里。你要是多待三天,那笔钱就到账了。你偏偏要卡在那根线上,把自己变成一个受害者。”
“叶总,您现在跟我说这个,是想表达什么?”
他盯着我看了几秒,忽然说:“傅野辞职了。”
我心里动了一下,面上没露:“什么时候的事?”
“今天上午,我收到他的离职邮件。他就打了一行字,说‘个人原因,即刻离职’。”叶晟屈指敲了敲茶几,“他走之前,技术部的服务器日志被清过一遍,包括你入职后所有访问记录。顾衍,你知道这意味着什么吗?”
“意味着你手里那张‘我窃取商业机密’的表,作废了。”
他笑了:“或者说,意味着有人比你我更快一步,把所有证据抹平了。现在我和苏凯手里都没有真凭实据,只剩一张黑纸白字的指控,站不住脚。”
“那您今天找我,是来通知我这个结果?”
“我是想问你,傅野是不是你安排的人?”叶晟的眼神像一条细线,“他入职五年,从来没有出过事。你来了二十三天,他就跑了。你让我怎么相信你是干净的?”
“叶总,您可能高估我了。我连您发给我的工资都拿不到,哪来的本事安排您的人?”
他没接这句话,低头把烟放了回去:“行。那你现在有什么打算?”
“打算谈不上。我手里还有几份简历,正在找下一份工作。”
“找不到的话,叶氏还是欢迎你回来的。技术上,我认你的本事。”
我站起来:“谢谢叶总。我考虑考虑。”
快走到门口时,他又叫住我:“顾衍,你今天去见的人,是不是明舟的安总?”
我没停步,也没回头:“叶总,您问这个,是要准备拦截我下一份工作吗?”
“我不是拦你。我是想告诉你,她不是你能合作的那种人。她比我更狠。”
我推开门,走廊里的光涌进来:“我知道了。”
电梯门合上前,我站在电梯内壁看着自己,呼吸平缓。叶晟那句话我不太信,但傅野辞职的时间点,恰好卡在我跟安总碰面的同一时段,这说不过去。如果安总能在我见她之前搞定傅野,那她的能力比我想象的大得多。
走出叶氏大楼,手机又亮了。是江月发来的语音消息,我点开,她的声音有点哑:“顾衍,我辞职了。我不签那个破保证书。苏凯说我不识抬举,我说那行,你开除我好了。他说没有开除,让行政把离职手续办了。”
我站在台阶上,风灌进衣领,按着语音键:“你接下来打算怎么办?”
“不知道。你先别管我,我昨晚收到一条短信,让我找你,说你能把事情了结。我不知道是谁发的,觉得奇怪,转发给你看看。”
我愣了一下,打开江月发来的截图,上面只有两行字:顾衍手上有一座火山,你让他自己选是引爆还是熄灭。我盯着这句话,背后一层冷汗浮上来。这条短信的风格,和昨晚那封关于苏听航班的匿名信,几乎如出一辙。同一个人的手笔。
但这个人是谁?他既知道苏听要跑,又知道傅野的动向,还能精准找到江月。这个人对局势的了解程度,比叶晟和苏凯都要深一层。如果这个人是站在我这边的,他为什么不直接出手?如果他不是,那他现在做的一切,只是把我往一个更危险的陷阱里推。
我站在风里想了很久,最后给江月回了一条:“你先住我这边。今晚别出门。”
“你那边安全吗?”
“不一定,但比你现在住的地方强。”
“你实话告诉我,你是不是摊上大事了?”
我没回答。我把电话挂了,站在马路边上点了根烟。烟燃到半截,一辆黑色车缓缓停在我面前,后窗降下来,露出一张脸——苏听。他穿着一件深色外套,头发整整齐齐,像刚从某个重要场合出来。他看着我,笑了一下:“顾哥,好久不见。”
“不算久。”
“上车聊聊?我这会儿正好有空。”
我弹了弹烟灰:“你下周一的飞机,现在找我聊天,不赶时间?”
他的笑容僵了一瞬间,很快又恢复过来:“你知道的事情不少。”
“我该知道的事,一件都不会少。”
他推开车门:“上来吧,我请你喝杯茶。”
我看了他几秒,上车了。车门关上的一瞬间,车内空调声低低响着,苏听没急着开车,他坐在驾驶位,从后视镜里看了我一眼:“顾哥,你猜我今天为什么来找你?”
“因为你知道傅野走了。”
“那是其中之一。”他转过身来,“更重要的是,我手里有一份东西,你一定会感兴趣。”
他打开身前的手套箱,拿出一个黑色U盘,在我面前晃了一下:“这里头是叶晟这些年的账,不只是他给你那张4500块钱的工资单,还有他买代码、洗钱、做空凌云的全套记录。他一分钱没打算给你,当初那680万,只是个饵。”
我看着他:“你给我看这个,想换什么?”
“换你手里的那扇门。”他说,“你把凌云系统的控制权限给我,我把这个U盘给你。咱们互相交换,互不亏欠。”
“你现在是替谁做事?”
“我替我自己。”他顿了顿,“顾哥,你要是拒绝,明天早上,你妈所在的疗养院就会被一场‘医疗事故’清空病区。你信不信?”
我转头,目光落在窗外流动的街景上。车内沉默了很久。然后我开口:“苏听,你太急了。”
我打开车门,迈出去一只脚,回头看他:“你手里那个U盘,我猜里面是空的。真正的东西,你已经卖给别人了。你周一飞瑞士,不是为了跑路,是为了送最后一版代码走。对吗?”
他握着方向盘的手指紧了一下,没有回答。
我关上车门,站在路边看着他。车停了三秒,然后他发动引擎,汇入车流。我站在原地,看着那辆车消失,感觉口袋里的手机震了一下。是安总的消息:“傅野辞职是假的,他明天会重新出现在叶氏的办公桌上。你被人放了鸽子。”
我盯着这条消息,呼吸沉了一拍。安总上午说傅野走了,现在又说他回来,哪个是真话,哪个是试探?如果傅野根本没走,叶晟在我面前的那番话就全是表演——那他想引导我去做什么?
我拨安总的电话,响了很久,接了。她那边声音很安静:“看到了?”
“你到底知道多少?”
“我知道叶晟不会轻易让傅野走。我告诉你的信息,是我的人看到的,但我不能保证叶晟有没有演给我看。顾衍,你自己想清楚,你手里的牌还够不够用。”
“那你上午说的500万买心核的事,还算吗?”
“算。等我消息。”
电话挂了。我站在路口,天色渐晚,路灯亮了。我回出租屋时,江月已经等在楼下,手里拎着一袋便利店的饭团。她看到我,脸上一松:“你回来了。”
“嗯。”
“我搬了。”她跟我上楼,进了门,把饭团放在桌上,“你手机调静音了?苏凯给你打了六个电话。”
我掏手机看了一眼,确实六个未接,全是苏凯。我回拨过去,忙音,然后一条短信进来:“顾衍,明天上午十点,老地方见。苏听的事,我有些东西要当面给你看。”
我盯着这条短信,没有回。江月在旁边问我:“谁?”
“苏凯。”
“他跟你说什么?”
“他没说,只说他手里有东西。”
江月咬了咬嘴唇:“你信他吗?”
我放下手机,靠在椅背上,揉了揉眉心:“我不信他。但明天早上十点,我得去。”
“为什么?”
“因为苏听周一要走,留给我的时间只剩不到两天。我不去,什么都不知道;去了,至少能确认苏凯站在哪边。”
她没再说话,帮我把饭团拆开,放在我面前。我吃了一口,米是凉的。
第二天早上九点四十五分,我到了苏凯说的“老地方”——凌云南门对面的那家茶楼,三楼靠窗的包间。苏凯已经到了,面前摆着一壶茶,色泽很淡。他看见我进来,没有客套,直接推过来一份文件。
“你看完再说话。”
我翻开,里面是一份股权转让协议,日期是去年年底,转让方是苏听,受让方是叶氏旗下的一家投资管理公司,标的物是“凌云调度系统核心模块软件著作权”的30%权益。
“这东西,是苏听背着我签的。”苏凯的声音低而平静,“我查了整整三个月,才找到这份复印件。他不仅卖代码,还把著作权卖了。你离开的第二天,叶晟就开始利用这30%的权益,给凌云系统发律师函,威胁要停止授权。”
“你现在跟我说这个,是想让我帮你反击叶氏?”
“我想让你帮我把这份协议作废。”他看着我的眼睛,“这是伪造的。苏听没有资格转让著作权,因为核心模块的署名权在我和你的共同名下。但叶氏那边显然拿到了什么,他们敢这么做,一定有人配合。”
“我可以帮你作废这份协议,但有个条件。”
“你说。”
“我要苏听手里的那个U盘,”我说,“不管里面装的是什么,我要它。”
苏凯沉默了片刻:“那个U盘是空的。”
我的手指停在纸页上:“你确定?”
“我昨天让人检查过他的保险柜。里面只有一个空U盘,和一个加密硬盘的底座。他真正要带走的东西,存放在一个代码托管平台的私人仓库里。仓库地址只有他和傅野知道。”
我合上文件,站起来:“苏总,你的这份文件我可以拿去用。但有一件事,你得帮我确认一下——傅野跟你的关系,到底是真的辞职,还是叶晟放出来的一颗烟幕弹?”
苏凯的表情微微变了一下:“傅野是我的人。”
我怔住了,整个人像被一盆冷水兜头泼下来。
“他是我放在叶氏五年的眼线。”苏凯声音压得更低,“但你跳槽之后,他告诉了我一件事——叶晟发现了他,但没拆穿,而是让他继续待着,但所有他汇报回来的信息,都是叶晟刻意伪造的。”
“所以你收到的所有信息,都是叶晟想让你看到的。”
“对。”他点头,“包括傅野辞职、傅野回来、傅野跟苏听吃饭,全是假的。这是一盘局,叶晟用傅野这个假棋子,把你和我的动作全部摸清了。”
我站在茶桌旁,窗外是凌云南门的街景,一切如常。但我脑子里飞速转着——如果傅野是叶晟扔出来的饵,那我昨天去明舟、找安总、见苏听,这些事叶晟全部了如指掌。他是在等我把这些棋全部走出来,然后收网。
“苏总,”我开口,“你现在告诉我这些,是打算和我联手对付叶晟?”
“我打算和你联手,把苏听拦下来。”他语气很重,“他走之前,会带走那个代码仓库的密钥。一旦到了国外,他跟叶晟之间的账就彻底赖掉了,我的公司也要跟着完蛋。顾衍,我恨你离开凌云,但眼下你我是一条船上的。”
我端起桌上的茶,喝了一口,茶汤苦且涩。
“你今天下午还能联系上傅野吗?”
“能。”
“让他回我一条消息,就五个字:门是锁着的。”
苏凯看了我一眼,点了点头。我离开茶楼时,时间已是上午十一点半。我走到楼下,手机屏幕亮起来,一条加密消息,发件人未知,只有一行字:“今晚九点,正大广场地下一层C13号储物柜。密码是你的生日。你的那扇门,有人替你锁上了。”
我站在茶楼门口,阳光照在手机屏幕上,反光刺眼。我按了锁屏键,周围人来人往,没人注意到我。
今晚九点,正大广场的地下储物柜,密码是我的生日。这个消息是叶晟设的局,还是苏凯口里那只更深的手递过来的信?
我把手机放回口袋,在阳光里站了一会儿,最后转身朝地铁口走去。走出一段路,我又停下来,看着路边玻璃橱窗里自己的倒影。
无论今晚那个储物柜里装的是什么,明天见分晓。但如果那是叶晟设的局,我一旦走进去,就再也没法回头了。