晚上九点,星海专属会议室里,林小鱼站在白板前,手中的红色记号笔已经写下了密密麻麻的流程图。
左边是技术迁移路径,右边是合规审核节点,中间是时间线:今天-系统架构确认;明天-核心数据迁移测试;后天-合规审核第一轮;大后天……
“不行,时间不够。”技术部的工程师小王指着白板,“核心数据迁移至少需要48小时测试,你只给了24小时。”
“那就压缩测试周期。”林小鱼没有抬头,继续在白板上添加细节,“分三个批次,每批迁移后立即做快速验证,而不是等全部完成再做完整测试。”
“快速验证只能覆盖基本功能,风险很高。”小王坚持。
“总比什么都做不完强。”林小鱼终于转身,“王磊只给我们一周,不是一个月。我们必须取舍。”
会议室里除了小王和苏晴,还有法务部的李律师、客户关系部的陈经理,以及两个从其他临时抽调来的数据分析师。所有人的脸上都写着疲惫和疑虑。
这个已经在技术部卡了三个月,换了三任负责人,现在交给一个行政出身、刚入职两周的新人,谁都觉得不靠谱。
“林小姐,我不是质疑你的能力。”小王斟酌着措辞,“但数据迁移需要专业知识,你可能……不太了解技术细节。”
林小鱼放下记号笔,走到电脑前,调出一份文档:“这是过去三个月所有技术方案的总结报告。我昨晚通宵看完的。主要问题有三个:第一,旧系统数据结构复杂,新系统的兼容性不足;第二,迁移过程中的数据校验机制缺失;第三,没有考虑实时业务的影响。”
她切换页面:“针对这三个问题,我的解决方案是:第一,开发一个中间转换层,而不是直接迁移;第二,设计三层校验机制——迁移前、中、后;第三,制定分时段迁移计划,避开银行业务高峰期。”
所有人都愣住了。这份分析精准地抓住了痛点,而且解决方案听起来可行。
“中间转换层……开发需要时间。”小王的声音小了一些。
“苏晴已经做了一半。”林小鱼看向苏晴,“对吧?”
苏晴点头:“框架已经有了,再给我12小时,可以完成基础功能。”
“所以明天上午,我们可以开始第一次测试。”林小鱼在白板上画了个圈,“小王,你负责准备测试数据;陈经理,你联系华融银行那边,确认明天的测试时间窗口;李律师,合规审核清单今天能给我吗?”
李律师推了推眼镜:“已经发你邮箱了。”
“好。”林小鱼拍了拍手,“现在各自行动,明天上午八点,这里。有问题随时找我。”
会议结束,众人散去。只有苏晴留了下来。
“你怎么知道中间转换层的事?”苏晴问,“那份技术报告里没写。”
“我猜的。”林小鱼收拾着桌上的文件,“看之前的失败记录,每次迁移都会丢数据,而且丢失的数据没有规律。这说明不是简单的兼容性问题,而是数据结构映射错误。最直接的解决办法就是加一个转换层。”
苏晴盯着她看了几秒钟:“你昨晚真的通宵了?”
“睡了三个小时。”林小鱼揉了揉太阳,“剩下时间都在看资料。”
“值得吗?这个就算做成了,功劳可能也不全是你的。做不成,黑锅肯定你背。”
林小鱼笑了:“你觉得我有选择吗?周薇薇虽然停职了,但她背后的网络还在。张经理还在财务部,王磊还是客户对接人。如果我退缩,他们会一点点把我挤出去。如果我前进,至少还有机会。”
“机会在哪里?”
“在这个本身。”林小鱼说,“华融银行是公司最大的客户之一,如果能做好这个,我就有了实打实的业绩。有了业绩,就有了话语权。有了话语权,才能继续查我想查的事。”
苏晴沉默了一会儿,然后说:“技术方面我会全力帮你。但王磊那边……你打算怎么应付?”
“走一步看一步。”林小鱼看了看时间,“现在,我需要你去帮我做一件事。”
“什么?”
“查王磊的个人背景。”林小鱼压低声音,“不只是工作经历,还有他的财务状况、社交关系、可能的不良记录。如果他要给我使绊子,我需要提前知道他的弱点。”
“这属于侵犯隐私……”
“我知道。”林小鱼说,“所以不是现在就要。你先正常准备,等我们过了第一个里程碑,有了喘息的机会,再慢慢查。”
苏晴点头:“明白了。”
她离开后,会议室里只剩下林小鱼一个人。窗外的城市已经进入夜晚模式,写字楼的灯光一排排熄灭,只有零星的窗户还亮着。
她走到窗边,看着玻璃上自己的倒影——眼圈发黑,脸色苍白,但眼神依然锐利。
手机震动,是陈默的消息:“进展如何?”
林小鱼回复:“团队组建完成,明天开始测试。技术方案可行,但时间依然紧张。”
“王磊有为难你吗?”
“暂时没有,但肯定会有。他今天开会时的态度已经很明显了。”
“需要我出面吗?”
“暂时不用。等我遇到解决不了的障碍时,再请您出面。”
“好。注意休息,别累垮了。”
林小鱼看着那句“注意休息”,突然感到一丝温暖。在这个到处都是敌人的地方,至少陈默是站在她这边的——或者,至少目前是。
她关掉会议室灯,回到十九楼的办公室。桌子上放着李律师发来的合规审核清单,整整五十页,每一项都需要她确认签字。
这是她的新战场,也是她的新机会。
凌晨四点,林小鱼被电脑提示音吵醒。她趴在桌上睡着了,面前还摊着合规清单。
提示音来自苏晴发来的消息:“中间转换层调试完成,可以测试了。你那边怎么样?”
林小鱼揉了揉眼睛,回复:“合规清单看了三分之二,还有几个问题需要确认。测试什么时候开始?”
“现在就可以。如果你不困的话。”
“不困。我马上下来。”
技术部的实验室在B1层,一个通常只有工程师才会去的地方。林小鱼刷卡进入时,苏晴正盯着三台显示器上的代码流。
“测试数据准备好了吗?”林小鱼问。
“小王在做最后检查。”苏晴指了指旁边的小会议室,“他也在通宵。”
小王从会议室探出头,眼睛布满血丝:“林小姐,你确定要现在测试吗?如果失败,会影响明天的正式计划。”
“如果现在不测试,明天正式测试时失败,影响更大。”林小鱼说,“开始吧。”
小王点点头,回到自己的工位。
测试开始了。屏幕上,数据从模拟的旧系统中流出,经过转换层,进入新系统模拟环境。进度条缓慢移动:10%、20%、30%……
林小鱼屏住呼吸。之前的失败都发生在这个阶段——数据转换过程中,某些字段会丢失或错乱。
50%、60%、70%……进度条稳步前进。
突然,一台显示器跳出红色警告:“字段映射错误:客户身份证号格式不匹配。”
小王脸色一变:“来了!又是这个问题!”
之前的失败,大部分都卡在这个身份证号字段上。旧系统用15位和18位混合存储,新系统要求统一18位,但转换逻辑一直有问题。
“转换层没有处理吗?”林小鱼问。
“处理了,但有些特殊情况没覆盖。”苏晴快速敲击键盘,“有些旧数据里,身份证号带了字母X,有些末尾有空格,有些甚至存储成了文本格式的数字……”
“那就现在处理。”林小鱼走到白板前,“把所有可能的情况列出来,一个一个解决。”
凌晨四点三十分,实验室里的三个人都在忙碌。小王负责梳理数据样本,苏晴修改转换代码,林小鱼在测试志里寻找规律。
“这里!”林小鱼指着一行志,“这个身份证号在旧系统里存储为‘11010119900101123X’,但实际上是‘110101199001011234’。旧系统把数字4误存成了字母X。”
“这种错误有多少?”苏晴问。
小王快速统计:“样本数据里大概有0.1%。”
“0.1%看起来很少,但华融银行有两千万客户数据,0.1%就是两万条错误。”林小鱼说,“必须修正。”
“怎么修正?我们不知道哪些是对的,哪些是错的。”
林小鱼思考了几秒钟:“加一个验证层。用身份证号校验算法,自动识别并修正明显错误。对于无法自动修正的,标记出来,人工复核。”
“人工复核两万条?时间不够。”
“不是两万条。”林小鱼摇头,“大部分错误应该是系统性的,比如所有1990年1月1出生的客户,身份证号都被存错了。我们找规律,批量修正。”
苏晴眼睛一亮:“有道理。我写个脚本分析错误数据的模式。”
凌晨五点,脚本运行完成。结果显示:87%的错误是系统性的,集中在几个特定的数据导入批次。剩余的13%是随机错误,需要人工处理。
“87%可以批量修正。”苏晴说,“剩下的……大概两千六百条,需要人工看。”
“我们三个人,每人分九百条。”林小鱼看了眼时间,“现在是五点十分,到上午八点还有两小时五十分钟。平均每小时三百条,每条大约12秒。来得及。”
“12秒一条?要核对身份证号、姓名、开户时间……”
“那就提高效率。”林小鱼说,“设计一个简单的核对界面,左边显示旧数据,右边显示修正建议,我们只需要点‘确认’或‘驳回’。”
苏晴花了二十分钟写了个简单工具。五点三十,三个人开始疯狂点击鼠标。
时间一分一秒过去。实验室里只有鼠标点击声和偶尔的键盘敲击声。窗外的天色从漆黑慢慢变成深蓝,再变成灰白。
早晨七点五十分,最后一条数据核对完毕。
“全部完成。”小王瘫在椅子上,声音沙哑,“两千六百条,零错误。”
林小鱼看着屏幕上“测试通过”的绿色提示,长长地吐出一口气。第一道坎过去了。
“现在,准备正式测试。”她说。
上午九点,华融银行的测试窗口准时开启。王磊远程接入视频会议,背景是他宽敞的办公室。
“林小姐,听说你们昨晚通宵了?”王磊的语气听不出是关心还是讽刺,“年轻人有冲劲是好事,但也要注意可持续发展。”
“谢谢王总关心。”林小鱼面不改色,“测试准备已经完成,随时可以开始。”
“那就开始吧。不过,我有个额外的要求。”王磊说,“为了保证数据安全,我们需要在迁移过程中增加实时监控。我这边会派一个人远程接入你们的系统,全程监督。”
林小鱼心头一紧。实时监控意味着对方能看到所有作,包括可能出现的错误和调试过程。这在技术中很常见,但在当前的敏感时期,这可能是个陷阱。
“王总,实时监控需要额外的安全授权,可能会影响迁移速度。”她委婉地拒绝。
“安全比速度重要。”王磊说,“如果你们没有什么要隐瞒的,应该不介意被监督吧?”
这句话是激将法,也是威胁。
林小鱼看向苏晴,苏晴微微点头——她已经在系统里设置了只读权限,对方能看到过程,但不能作。
“可以。”林小鱼说,“请把监督人员的认证信息发给我们,我们设置权限。”
五分钟后,一个陌生的账号被添加到系统中。登录信息显示用户名:WL_monitor_01。很明显是王磊的人。
测试正式开始。数据流开始传输,监控屏幕上各项指标正常。
前30分钟一切顺利。迁移进度达到15%,错误率为零。视频会议里,王磊的脸色稍微缓和了一些。
但就在进度达到20%时,意外发生了。
监控屏幕突然闪烁,然后黑屏。三秒钟后恢复,但迁移进度倒退到了10%,而且系统提示:“检测到未授权作,迁移暂停。”
“怎么回事?”王磊在视频里问,声音严厉。
林小鱼看向苏晴。苏晴正在快速检查志。
“有人试图修改迁移规则。”她压低声音,“从那个监控账号发起的。”
“不可能。”小王说,“我们设置的是只读权限。”
“但对方可能利用了系统漏洞。”苏晴的手指在键盘上飞舞,“找到了——监控账号发送了一个特殊指令包,触发了系统的自我保护机制,导致回滚。”
视频会议里,王磊的声音传来:“林小姐,为什么迁移停止了?是技术问题吗?”
林小鱼调整了一下麦克风:“王总,系统检测到异常作,自动暂停了。我们的技术团队正在排查原因。”
“异常作?什么异常作?”王磊追问,“该不会是你们自己的问题,想推卸责任吧?”
“具体原因还在查。”林小鱼保持冷静,“我们会尽快恢复。”
苏晴在小会议室里喊:“林小鱼,过来一下。”
林小鱼走进小会议室,苏晴把屏幕转给她看:“你看这个指令包,表面上是正常的监控请求,但里面嵌套了一个隐藏的修改命令。只有高级黑客才能做出这种东西。”
“能追踪来源吗?”
“指令确实是从监控账号发出的,但可能是账号被劫持了。”苏晴说,“问题是,现在系统锁定了,需要双重授权才能重启。一个是我们这边的技术授权,一个是客户那边的业务授权。”
“也就是说,需要王磊同意才能继续?”
“对。而且系统会记录这次异常事件,作为风险的一部分。”苏晴皱眉,“如果王磊以安全为由叫停,我们之前的所有努力都白费了。”
林小鱼明白了。这是一个精心设计的陷阱:让对方的人接入系统,制造“安全事件”,然后以此为借口质疑团队的能力,甚至终止合同。
而设计这个陷阱的人,很可能就是王磊本人。
她回到主会议室,对着摄像头说:“王总,我们已经查明原因。是监控账号发送了一个异常指令,触发了系统的安全机制。现在迁移暂停,需要您这边的授权才能重启。”
王磊沉默了几秒钟,然后说:“异常指令?你的意思是,我们这边的人故意搞破坏?”
“我没有这么说。”林小鱼说,“可能是账号被劫持,也可能是技术故障。但按照流程,现在需要重新评估安全风险,然后决定是否继续。”
“评估需要多久?”
“如果您配合的话,两小时。”林小鱼说,“我们需要您那边确认监控账号的安全性,然后签署新的安全协议。”
“两小时太长了。”王磊摇头,“我们的业务不能等那么久。如果你们的技术这么脆弱,连一个监控请求都处理不好,我觉得有必要重新考虑这个。”
来了。真正的攻击。
林小鱼深吸一口气:“王总,技术问题可以解决。但如果您已经对失去信心,我们可以现在就终止,按照合同条款处理赔偿事宜。”
她把球踢了回去。终止意味着华融银行要重新找供应商,重新开始,至少耽误一个月。而他们的业务等不了那么久。
王磊显然没想到她会这么强硬,愣了一下。
“我不是说要终止。”他换了语气,“我只是担心的可靠性。这样吧,你们先解决问题,我们下午再谈。”
视频挂断了。
林小鱼靠在椅子上,感到一阵虚脱。刚才的对话虽然只有几分钟,但每一秒都在刀尖上行走。
“他暂时退了。”她对苏晴说,“但下午还会来。我们需要在那之前解决问题,还要找到证据,证明是他的人在搞鬼。”
“证据很难。”苏晴说,“指令包设计得很巧妙,没有留下直接痕迹。除非我们能黑进他的电脑……”
“不,不能用非法手段。”林小鱼摇头,“我们需要合法证据,能在正式场合使用的证据。”
她思考了几秒钟,然后说:“监控账号是他提供的,账号安全是他的责任。如果账号被劫持,说明他的安全管理有问题。我们可以从这个角度切入。”
“怎么切入?”
“要求他提供账号的安全审计记录。”林小鱼说,“正规企业的监控账号应该有完整的使用志和访问记录。如果他提供不出来,或者记录有问题,就是他的责任。”
“但如果他伪造记录呢?”
“伪造记录本身也是问题。”林小鱼笑了,“而且,技术层面可以验证记录的真伪。时间戳、IP地址、作序列……这些很难完美伪造。”
她立即起草了一份邮件,正式要求王磊提供监控账号过去24小时的所有安全志和访问记录,理由是“为了排查问题源,确保后续迁移安全”。
发送。
接下来是等待。
下午两点,王磊的回复来了,只有一句话:“志已发,见附件。”
附件是一个加密的压缩包。苏晴花了半小时破解密码,打开后,里面是一份详细的安全志PDF。
“看起来……很完美。”苏晴仔细检查,“时间戳连续,IP地址合理,作记录完整。但是……”
“但是什么?”
“太完美了。”苏晴说,“真实的系统志会有各种噪音——无效请求、重复记录、时间误差。但这份志净得像教科书。”
“能证明是伪造的吗?”
“需要更多时间分析。”苏晴说,“但有个地方很奇怪——所有作的时间间隔几乎完全相等,都是5秒。真实的用户作不可能这么规律。”
林小鱼眼睛一亮:“这是证据吗?”
“可以算是疑点,但不是铁证。”苏晴说,“我们需要更直接的证据。”
就在这时,小王匆匆跑进来:“林小姐,出事了!”
“什么事?”
“华融银行那边发来正式函件,要求我们立即停止,理由是‘技术团队存在重大安全隐患,可能危及客户数据安全’。”小王把打印出来的函件递给她,“函件抄送了陈总和董事会。”
林小鱼快速浏览函件。王磊以今天上午的“安全事件”为由,正式要求终止,并要求智行咨询承担全部违约责任。
动作真快。而且直接捅到了董事会。
这意味着,如果她不能在一个小时内给出有力回应,就会被终止,她也会被追责。
“陈总知道了吗?”她问。
“知道了。他让你马上去他办公室。”
林小鱼拿起函件和那份安全志,走向电梯。
陈默的办公室里,气氛凝重。除了陈默,还有公司的法务总监、技术总监、以及两个她不认识的高管。
“林小鱼,情况你知道了。”陈默开门见山,“王磊要求终止,理由是我们存在安全隐患。你怎么看?”
“这是诬陷。”林小鱼把安全志放在桌上,“我们怀疑监控账号被用来故意制造安全事件,目的是破坏。”
技术总监拿起志看了看:“这份志有什么问题?”
“太完美了,不像是真实记录。”林小鱼说,“而且,所有作间隔都是精确的5秒,不符合人类作习惯。我们怀疑是程序生成的伪造志。”
“怀疑需要证据。”法务总监说,“对方有正式函件,有‘安全事件’记录。我们只有‘怀疑’,不够。”
“如果我能证明志是伪造的呢?”林小鱼问。
“怎么证明?”
林小鱼转向技术总监:“真实的系统志,除了用户作,还会有系统自动生成的记录——比如心跳检测、定时任务、性能监控。这些记录的时间间隔可能不规律,但一定会存在。但这份志里只有用户作,没有系统记录。”
技术总监眼睛一亮:“有道理。系统志不可能这么净。”
“所以,我们可以要求对方提供完整的原始志文件,而不是加工过的PDF。”林小鱼说,“如果他们提供不出来,或者提供的原始文件里也没有系统记录,那就证明是伪造的。”
陈默看向法务总监:“这样可以作为反驳依据吗?”
“可以尝试。”法务总监说,“但时间紧迫。对方给了我们两小时回应,现在已经过去半小时了。”
“那就现在回应。”林小鱼说,“我起草回复函,要求对方提供原始志,并质疑监控账号的安全性。同时,我们会提供我们这边完整的作记录,证明迁移过程本身没有问题。”
“如果对方拒绝提供原始志呢?”技术总监问。
“那就更有问题了。”林小鱼说,“一个连原始志都不敢提供的客户,凭什么质疑我们的安全性?”
陈默拍板:“就这么办。林小鱼,你起草回复。法务部和技术部协助,确保措辞严谨。一小时内发出去。”
接下来的四十五分钟,办公室里一片忙碌。林小鱼写回复函,法务总监修改法律措辞,技术总监准备技术证据。
下午三点五十五分,正式回复函发送出去,同时抄送了华融银行的更高层——王磊的上级。
邮件发送后,所有人都在等待。
下午四点十分,王磊打来电话,直接打给陈默。林小鱼在陈默的办公室,听到了免提里的对话。
“陈总,你们这是什么意思?”王磊的声音很生气,“质疑我们的志真实性?这是在质疑我们的诚信!”
“王总,我们只是要求提供原始志,这是标准的安全审计流程。”陈默的语气平静,“如果志没有问题,应该不介意提供吧?”
“原始志涉及商业机密,不能随便提供。”
“但贵方以安全为由质疑我们,我们有权查看相关证据。”陈默说,“否则,我们也可以质疑贵方故意制造事端,阻挠进展。”
电话那头沉默了。
“王总,”林小鱼开口了,“今天上午的监控账号,是您指定的人使用的。如果账号被劫持或滥用,责任在账号所有者。我们要求查看原始志,不仅是为了我们的清白,也是为了贵方的安全。”
“你……”王磊显然听出了她的声音,“林小姐,你很会说话。但有些事情,不是靠说话就能解决的。”
“我知道。”林小鱼说,“所以我们准备了完整的证据链。包括监控账号发送异常指令的技术分析,志文件的时间规律性分析,以及可能的伪造痕迹。如果必要,我们可以请第三方安全机构做鉴定。”
更长的沉默。
“给我一天时间。”王磊终于说,“我需要内部讨论。”
“可以。”陈默说,“但不能停。每停一天,贵方的业务就耽误一天。我们的技术团队会继续工作,但需要贵方提供安全承诺,确保不再发生类似事件。”
“……好。”
电话挂断。
办公室里的人都松了口气。
“暂时稳住了。”法务总监说,“但王磊不会轻易罢休。”
“我知道。”林小鱼说,“所以我们需要在他下次出手前,找到他的弱点。”
“你打算怎么做?”陈默问。
林小鱼看着窗外渐渐暗下来的天色,想起了苏晴正在查的事情。
“我需要一点时间。”她说,“和一点运气。”
离开陈默办公室时,已经是晚上六点。林小鱼回到办公室,发现桌上放着一个信封。
没有寄件人信息,没有邮戳,显然是有人直接放在这里的。
她打开信封,里面只有一张照片。
是王磊的照片,拍摄于一家高档餐厅。他对面坐着的人,虽然只拍到背影,但林小鱼一眼就认出来了——张经理。
照片背面写着一行字:
“他们在密谋什么?”
林小鱼盯着照片,心跳加速。
这封信是谁放的?是友军的提醒,还是敌人的另一个陷阱?
她把照片小心收好,锁进抽屉。
手机震动,是苏晴的消息:“查到一些关于王磊的事情。他最近三个月,个人账户有五笔大额不明收入,总计约两百万。汇款方都是不同的海外公司。”
林小鱼回复:“和张经理的海外账户有关联吗?”
“还在查,但时间点很接近。另外,王磊的银行账户里,有一笔五十万的支出,收款方是周薇薇。”
周薇薇。果然。
所有的线索开始汇聚:张经理、周薇薇、王磊,三个人通过资金往来联系在一起。而他们都和她调查的事情有关——或者,都和她敌对。
她走到窗边,看着楼下的车流。
城市灯火通明,每个人都在为了自己的目标奔忙。有人为了升职加薪,有人为了家庭生计,有人为了理想抱负。
而她,为了什么?
为了揭开一个可能让自己粉身碎骨的秘密?
还是为了证明自己,在这个残酷的职场里,不仅能生存,还能赢?
手机又震动了,这次是陈默:“董事会要求明天上午汇报进展和今天的安全事件。你准备一下。”
林小鱼回复:“好。”
她知道,明天的董事会,将是另一个战场。
而她现在,需要更多的武器,更多的盟友,更多的……真相。
窗外的夜色越来越深,但她的战斗,远未结束。