一、匿名邮件
周五清晨六点,陈念被手机震动吵醒。他昨晚在公司沙发上凑合了一夜,此刻办公室里还弥漫着咖啡和纸张混合的气味。
屏幕上显示有一封新邮件。发件人地址是一串乱码,但邮件服务器记录显示,这封邮件确实是从公司内部网络的一台设备发出的。
邮件正文只有一句话,没有称呼,没有落款:
“你信任的人,正在背叛你。小心那些离你最近的人。”
陈念盯着这行字,睡意全无。他反复查看邮件头信息,技术部的追踪记录显示,发送ip确实在公司办公网的地址段内,但具体设备无法定位——发送者使用了代理跳转。
最让人不安的是发送时间:凌晨三点十七分。那个时候,公司里应该只有加班的工程师和保安。
陈念站起身,走到窗边。晨雾笼罩着金融街,高楼大厦在灰白色的雾气中若隐若现,如同他此刻面临的谜团。
离他最近的人?王晓东?周明远?李维?还是张磊?林晓雯?
又或者,这封邮件本身就是一个陷阱,目的是让他对团队产生怀疑,从内部瓦解?
手机震动,这次是王晓东的来电。
“陈总,您看到邮件了吗?”王晓东的声音带着焦虑,“技术部几个值夜班的同事都收到了类似的匿名邮件,内容不完全一样,但都在暗示公司内部有叛徒。”
“都有谁收到了?”
“明远、李维、我,还有三个部门负责人。”王晓东顿了顿,“更诡异的是,邮件里提到了一些只有内部人才知道的细节。比如我收到的那封,提到了我上周去苏州时住的具体酒店房间号。明远收到的那封,提到了他正在秘密研发的一个新算法代号。”
陈念感到后背发凉。如果邮件内容属实,那意味着公司内部确实有内鬼,而且这个内鬼的级别不低,能够接触到核心信息。
“召集所有收到邮件的人,七点半开会。”陈念说,“另外,通知安保部门,调取昨晚的监控录像,重点查凌晨三点前后。”
挂掉电话后,陈念重新点开那封邮件。光标在回复框里闪烁,他犹豫了几秒,最终打下一行字:
“如果你真有证据,就拿出来。躲在暗处发匿名邮件,解决不了任何问题。”
点击发送时,他并没有指望能得到回复。但出乎意料的是,五分钟后,邮箱提示有新邮件。
还是那个乱码发件人,这次正文多了一行:
“证据就在你手里。看看张磊给你的分析报告,再看看林晓雯过去三个月的代码提交记录。你会找到答案的。”
陈念的手停在鼠标上。这个人不仅知道张磊私下给他汇报的事,还知道分析报告的内容。这意味着什么?
要么,张磊本人就是发件人——但他为什么要用这种方式提醒?
要么,还有第三个人在监视着一切。
二、晨会交锋
七点半,小会议室里坐满了人。除了陈念、王晓东、周明远、李维,还有销售总监、财务总监、人事总监。每个人的脸色都不好看。
陈念开门见山:“大家都收到匿名邮件了。现在我们需要坦诚交流——邮件里提到的事情,哪些是真的,哪些是假的,我们需要弄清楚。”
王晓东第一个开口:“我收到的那封邮件,说我上周在苏州住的酒店房间号,确实是对的。但这件事我出发前只跟行政部的小刘说过,为了订机票和酒店。”
行政总监立刻说:“小刘昨天请假了,说是家里有事。我已经让人联系她,但手机关机。”
周明远接着:“我的邮件提到了‘鹰眼算法’,这是我们现在秘密研发的实时监控系统,只有算法组的五个人知道代号。昨天下午我们刚开完内部讨论会。”
“哪五个人?”
“张磊、刘工、王工、李工,还有我。”周明远脸色阴沉,“会议是保密状态,没有会议纪要,没有邮件通知。如果有人泄露,只能是这五个人中的一个。”
李维收到的邮件内容则更加敏感:“邮件说我在共同体内部偏袒某些企业,收受了利益。这完全是污蔑!但我确实收到过一些企业的礼品,都是些茶叶、土特产,我都按公司规定登记上交了。”
会议室里气氛凝重。每个人都在思考,自己身边谁可能是那个发邮件的人,或者谁是邮件里暗示的“叛徒”。
“还有一件事。”陈念决定部分公开信息,“张磊昨天给了我一份分析报告,他发现智云的系统里,有一个隐藏的数据上报模块,会把用户设备数据发送到境外服务器。”
所有人倒吸一口冷气。
“更关键的是,”陈念继续说,“这个模块的代码风格,和林晓雯的编程习惯高度相似。”
王晓东猛地抬头:“陈总,您怀疑林晓雯?”
“不是怀疑,是发现了疑点。”陈念纠正,“但疑点不等于证据。林晓雯的弟弟下周要做骨髓移植手术,手术费还是我借给她的。如果她真是内鬼,动机是什么?如果她不是,又是谁在模仿她的代码风格?”
周明远突然说:“陈总,我想到一件事。上周技术部做代码规范培训,林晓雯作为测试负责人,做了个关于‘防御性编程’的分享。她展示了自己的一些编程习惯,包括变量命名规则、异常处理模式。当时有二十多个人听了分享。”
“培训有录像吗?”
“有,在内网知识库。”
“马上查观看记录。”陈念说,“看看有哪些人反复观看过那段录像。”
会议开到一半,安保主管敲门进来,带来了昨晚的监控录像分析结果。
“凌晨三点到四点之间,办公楼里有七个人在活动。除了两个巡逻保安,还有五个加班的技术人员。”安保主管把名单放在桌上,“其中就有张磊和林晓雯。”
名单上清楚地写着:
“他们有没有接触?”陈念问。
“监控显示,凌晨两点五十分,张磊离开三楼,去了二楼的休息区冲咖啡。两点五十五分,林晓雯也去了休息区。两人有大约三分钟的共处时间,但没有说话,只是各自冲了咖啡就离开了。”
三分钟,足够传递一个u盘,或者低声说几句话。
会议室里陷入沉默。每个人都在心里计算着各种可能性。
“陈总,”王晓东打破了沉默,“要不要我直接找林晓雯谈一次?如果她真有问题,现在弟弟手术在即,心理压力最大,可能是突破口。”
陈念摇头:“先不要打草惊蛇。公安机关对孙浩的调查今天会有进展,等那边的结果出来再说。”
话音刚落,陈念的手机响了。来电显示是海淀公安分局经侦大队的王队长。
“陈总,孙浩交代了。”王队长的声音透过电话传来,带着一丝兴奋,“他承认离职前拷贝了客户数据,但他说是受人指使的。他供出了一个中间人——一个叫‘老k’的人,说这个人是智云派来跟他接头的。”
“老k是谁?”
“孙浩也不知道真实身份,他们只通过加密聊天软件联系。但孙浩提供了一个重要线索——老k曾经无意中透露,他在未来资本内部有‘内线’,能提供技术细节。”
陈念握紧了手机:“孙浩见过这个内线吗?”
“没有。但老k给孙浩看过一些内部技术文档的截图,孙浩确认那些文档的密级很高,普通员工接触不到。”
挂掉电话,陈念把情况告诉了会议室里的人。
所有人的目光都落在了那张加班名单上。
三、林晓雯的请假条
上午九点,林晓雯敲响了陈念办公室的门。她今天脸色苍白,眼睛红肿,手里拿着一张纸。
“陈总,我想请一周假。”她把请假条放在桌上,“我弟弟明天手术,我需要去医院陪护。”
陈念看着请假条,又看看林晓雯。这个二十七岁的姑娘此刻显得异常脆弱,手指在轻微颤抖。
“手术准备得怎么样了?”陈念问。
“都准备好了。”林晓雯声音很轻,“谢谢您借的钱,医生说手术成功率有70。我……我想请一周假,手术后头几天最危险,我想陪着弟弟。”
“准假。”陈念在请假条上签字,“另外,公司可以给你安排一个月的弹性工作制,术后恢复期你可以在家办公。”
林晓雯的眼圈又红了:“陈总,我真的……不知道该怎么感谢您。等我弟弟好了,我一定加倍努力工作,报答公司。”
“不要说报答。”陈念把请假条递还给她,“好好照顾家人,这才是最重要的。”
林晓雯接过请假条,却没有马上离开。她站在桌前,欲言又止。
“还有事吗?”陈念问。
“陈总,”林晓雯深吸一口气,“我知道公司最近遇到了很多事,我也知道……有些人在怀疑我。我不想解释什么,因为有些事越描越黑。但我只想说一句——我林晓雯做人做事,对得起自己的良心。”
她说完,对陈念深深鞠了一躬,转身离开了办公室。
陈念看着关上的门,心里五味杂陈。如果林晓雯真的是内鬼,那她的演技已经超出了正常人的范畴。但如果她不是,那她的处境就太可怜了——弟弟重病,自己被怀疑,还要承受巨大的工作压力。
桌上的内线电话响了,是周明远。
“陈总,查到了。林晓雯那场‘防御性编程’分享的录像,过去一个月有三十七次观看记录。其中观看次数最多的是两个人——张磊,看了八次;还有一个是测试部的新人王悦,看了五次。”
“王悦?”
“去年毕业的硕士,林晓雯亲自带出来的徒弟。”周明远说,“平时很安静,技术不错,但存在感不强。”
“她现在在公司吗?”
“在。需要叫她来问话吗?”
陈念想了想:“先不要。你私下查一下王悦的背景,特别是她最近的经济状况和社交关系。”
四、共同体的动摇
上午十点,李维急匆匆地走进陈念办公室,手里拿着一份名单。
“陈总,共同体出事了。”他的声音带着沮丧,“昨天一天,有十二家企业正式提出暂停合作。他们都是被智云的‘免费一年’政策吸引过去的。”
陈念接过名单,上面大多是规模较小的企业,但也有两家年产值过亿的中型企业。
“王厂长那边呢?”
“老厂联盟的三十多家企业都很坚定,但其他成员……”李维叹了口气,“有些企业主直接跟我说:‘李总,不是我不信你们,但人家免费啊。我厂子小,能省一点是一点。’”
这是最现实的商业逻辑。在真金白银面前,情怀和信任往往显得苍白。
“智云的动作比我们想象得快。”李维继续说,“他们在苏州、东莞、天津都设立了临时办公室,专门挖我们的客户。孙浩带过去的那三个人,现在成了他们的王牌销售,对客户情况了如指掌。”
陈念走到白板前,写下几个关键数据:
现有客户:427家
已流失:12家
观望中:约50家
坚定支持:约100家(主要是老厂联盟)
其余:态度不明
“如果观望的这五十家也流失,我们的营收会下降多少?”陈念问。
“西门子那边呢?”
“托马斯上午发来邮件,说他们董事会对智云的‘免费策略’很关注,担心这会影响中国市场的价格体系。他们要求我们在两周内给出应对方案,否则合作可能再次搁置。”
四面楚歌。陈念脑海里冒出这个词。
但他知道,现在不是沮丧的时候。越是困境,越需要冷静。
“李维,做三件事。”陈念转过身,“第一,整理一份客户价值分析报告,不要只算我们收了客户多少钱,要算我们帮客户省了多少钱、赚了多少钱。用具体案例说话。”
“第二,联系所有观望的客户,邀请他们参加下周的‘客户见证会’。让王厂长他们现场说法,比我们说什么都管用。”
“第三,”陈念顿了顿,“启动‘价值共享’计划的第一批试点。选十家最忠实的客户,把通过我们系统节省的成本,按20的比例返还。我们要用实际行动证明,选择未来资本不是消费,而是投资。”
李维眼睛一亮:“返现?这……财务压力会很大。”
“但能建立真正的信任纽带。”陈念说,“智云可以免费一年,但一年后呢?我们要让客户看到,跟我们合作是长期共赢的。”
“好,我马上去办。”
李维离开后,陈念独自站在白板前。窗外的晨雾已经散去,五月的阳光洒满城市。但他知道,公司面临的迷雾,才刚刚开始聚集。
五、张磊的发现
下午两点,张磊再次敲响了陈念办公室的门。这次他带来了一个u盘。
“陈总,我有了新发现。”他把u盘插进电脑,“我昨晚没回家,一直在分析智云系统的那个上报模块。我发现了一些奇怪的东西。”
屏幕上出现两段代码的对比图。
“左边是智云上报模块的代码,右边是我从公司代码库里找到的一段历史版本代码。”张磊指着屏幕,“您看,这两段代码的核心逻辑几乎一样,但智云的版本做了一些‘优化’——增加了数据压缩功能,改变了加密算法。”
“这能说明什么?”
“说明写这个模块的人,不仅熟悉我们的代码,还有很强的安全工程能力。”张磊调出另一份分析报告,“更关键的是,我在智云系统的日志里,发现了一些调试信息。这些信息显示,这个上报模块在开发过程中,经过了至少三次大的重构。”
他放大一段日志:
“这些调试日志的时间,都在凌晨。”张磊说,“而且您看日期——4月15日、18日、22日。那几天,公司里谁在加班?”
陈念迅速调出考勤记录。4月15日凌晨,加班名单里有林晓雯。4月18日,有张磊和林晓雯。4月22日,只有林晓雯。
“但这也不能证明就是林晓雯。”陈念说,“这些日志可能在智云那边生成的。”
“所以我做了更深入的分析。”张磊打开另一个文件,“我提取了智云系统中所有模块的编译时间戳。那个上报模块的最后编译时间,是4月25日凌晨三点十一分。而那天晚上……”
陈念已经知道了答案:“林晓雯在公司加班,到凌晨三点五十才离开。”
办公室里安静得可怕。阳光从窗外斜射进来,在桌面上投下百叶窗的条纹阴影。
“陈总,”张磊压低声音,“还有一件事。我昨天查了公司近三个月的vpn访问记录。林晓雯的账号在4月份有十七次异常登录——登录时间都在深夜,而且访问了非她权限范围内的代码仓库。”
“她解释过吗?”
“我问过她。她说那段时间在赶一个紧急的测试项目,需要参考其他模块的设计。”张磊停顿了一下,“但我查了,那段时间测试部并没有紧急项目。”
所有的疑点,都指向了林晓雯。
但陈念总觉得哪里不对。如果林晓雯真是内鬼,为什么要用自己独特的编程风格?为什么要在公司加班时做这些事?为什么不做得更隐蔽一些?
这太像是……故意留下的痕迹。
“张磊,”陈念突然问,“如果你要栽赃一个人,你会怎么做?”
张磊愣住了:“您的意思是……”
“如果我是内鬼,想要转移视线,最好的办法就是伪造证据,把嫌疑引向一个合适的人选。”陈念说,“林晓雯符合所有条件——她是技术骨干,熟悉系统架构,最近因为家事急需用钱,而且她确实接触过智云的人。”
“但那些代码风格……”
“可以模仿。”陈念想起周明远说的培训录像,“如果有人反复研究她的编程习惯,完全能模仿出七八分像。再加上一些刻意留下的‘线索’,就足够制造怀疑了。”
张磊思索着:“那会是谁呢?”
陈念没有回答。他的目光落在电脑屏幕上,那封匿名邮件还开着。
“你信任的人,正在背叛你。”
这句话,到底在指谁?
六、王悦的秘密
下午四点,周明远带来了关于王悦的调查结果。
“这个姑娘背景很简单,山西人,父母都是中学老师,去年北航硕士毕业。”周明远把一份简历放在桌上,“在公司表现一直不错,林晓雯很器重她。但最近……”
“最近怎么了?”
“她母亲三个月前确诊肺癌,手术加化疗需要三十多万。”周明远调出银行流水,“王悦的工资是一个月八千,但她上个月给家里打了五万块钱。我问过她,她说是在网上接私活赚的。”
“什么私活?”
“她说是在一个开源社区做代码审查,按行数计费。”周明远皱眉,“但我查了她的github记录,最近三个月她只提交了七次代码,都是很小的修改。”
陈念想起了那份伪造的安全评估报告。那份报告的专业程度,不是一个新人能写出来的。但如果有一个经验丰富的人指导,再加上详细的公司内部资料,就有可能。
而王悦,作为林晓雯的徒弟,可以接触到很多测试资料,包括系统的漏洞信息和架构细节。
更重要的是——如果内鬼不是林晓雯,而是她身边的人,那么很多疑点就能解释了。
“王悦现在在哪?”陈念问。
“在工位上。需要叫她来吗?”
“不,”陈念站起身,“我们去见她。但要换个方式。”
下午四点半,测试部办公区。王悦正在电脑前写测试用例,看到陈念和周明远走过来,明显紧张了一下。
“王悦,有个紧急任务需要你帮忙。”陈念语气平和,“公司最近在做安全加固,需要梳理所有模块的访问权限。你是测试部最熟悉系统架构的人之一,想请你协助明远做这个工作。”
“我……”王悦看了眼林晓雯空着的工位,“晓雯姐不在,测试部这边的工作……”
“晓雯请假了,你暂时负责测试部的工作。”陈念说,“这个权限梳理很重要,涉及到公司核心安全。做完这个项目,公司会考虑给你调薪。”
王悦的眼睛亮了一下,但随即又暗淡下去:“陈总,我可能……能力不够。”
“相信自己。”陈念拍拍她的肩,“对了,听说你母亲生病了,情况怎么样?”
王悦的脸色瞬间变了:“还……还在治疗。”
“有什么困难就跟公司说。”陈念看着她,“公司有员工互助基金,可以申请医疗借款。不要一个人扛着。”
这句话像是触动了什么,王悦的眼圈突然红了。她低下头,手指无意识地抠着键盘。
周明远适时地说:“小王,我们去看会议室吧,我跟你详细说下权限梳理的工作。”
两人离开后,陈念站在测试部办公区,看着王悦工位上的东西——一个普通的黑色背包,一个用了很久的保温杯,还有桌面上贴着的便签,上面写着:“妈妈加油”。
这个刚毕业一年的姑娘,此刻正承受着母亲重病的压力,每个月要往家里寄钱,还要面对工作的挑战。如果她真的为了钱做了错事,似乎也情有可原。
但情有可原,不等于可以原谅。
陈念转身离开时,心里已经有了决定。他需要设一个局,让真正的内鬼自己跳出来。
七、父亲的电话
晚上七点,陈念终于有时间回家一趟。刚进门,父亲的电话就来了。
“念,今天你妈看新闻,说你们公司又上头条了。”父亲的声音里带着担忧,“这次是什么数据安全的事儿?”
陈念把情况简单说了一遍,包括匿名邮件、林晓雯的嫌疑、王悦的异常。
父亲沉默了很久,才说:“念,我给你讲个真事。八十年代,我们厂里引进一条德国生产线,我是技术负责人。安装调试的时候,有个关键参数总是调不准。当时厂里有人举报,说是我故意搞破坏,想向德国人多要钱。”
“后来呢?”
“后来我查了一个月,终于找到了原因——是一个年轻技术员不小心把参数输错了,但他不敢承认,就偷偷改了回去,结果越改越乱。”父亲说,“我找他谈话,他没承认。我就当着全车间的人说:‘我知道是谁,给你一晚上时间,明天早上来找我,从轻处理。如果等我查出来,那就按破坏生产论处。’”
“他来了吗?”
“来了,哭得稀里哗啦。”父亲回忆,“他说家里老母亲生病,他心思不在工作上。我罚了他三个月工资,但保住了他的工作。后来那孩子成了厂里的技术骨干。”
陈念明白父亲的意思:“您是说,要给犯错的人一个机会?”
“我是说,有时候人犯错,不是因为坏,是因为难。”父亲叹了口气,“那个林晓雯,如果真有问题,你要查。但在查清楚之前,不要把人想得太坏。还有那个发匿名邮件的人,他为什么要用这种方式提醒你?也许他也有他的难处。”
挂掉电话后,陈念站在阳台上,看着城市的夜景。五月的晚风吹在脸上,带着暖意,但他心里却沉甸甸的。
手机震动,又是一封新邮件。这次发件人不是乱码,而是一个熟悉的地址——张磊的工作邮箱。
邮件标题只有两个字:“坦白”。
陈念点开邮件,心跳开始加速。
---
(未完待续)