“数据眼睛”的进度条在屏幕上缓慢爬升,从百分之十到百分之三十,花了将近五分钟。周然盯着那根浅蓝色的细线,手指在桌沿无意识地敲着。办公室里只剩下她一个人,王璐走的时候把门带得很轻,但那种刻意的安静反而更清晰。
进度条跳到百分之六十二。
她起身去接水,饮水机发出空洞的咕咚声。沈清音这会儿应该已经坐上前往西南分公司的车了。她们昨晚在旧机房里熬到凌晨三点,沈清音埋下那五个监控节点时手指快得像在弹琴。
“唤醒需要双重动态口令,你这边触发,我那边确认。”沈清音当时说,眼睛没离开屏幕,“只要系统还在跑,它们就能看见。”
“看见什么?”
“资金划转的关键审批节点,大额支付的发起IP和物理地址。”沈清音停顿了一下,“还有后台日志里被手动删除的查询记录。”
“能撑多久?”
“看对方什么时候做全面系统升级。”沈清音敲完最后一行代码,“保守估计,两个月。如果赵坤那边急着擦屁股,可能会更快。”
两个月。
进度条抵达百分之百,屏幕中央弹出一个简朴的绿色对勾。控制端启动完成,五个节点的状态依次亮起:正常、正常、正常、正常、正常。
周然放下水杯,坐回椅子上。她打开另一个加密文件夹,里面是昨晚和沈清音一起炮制的那份“资金紧张分析报告”。报告用了真实的底层数据,但在关键推导环节做了手脚,结论指向一个看似合理实则夸大的风险判断。报告最后还特意留了个“技术漏洞”:有几处数据引用标注了模糊的源文件编号,那些编号对应的正是沈清音今早被正式封存的旧数据库访问权限。
王璐如果够仔细,应该能发现。
周然把报告打印出来,纸张从打印机里吐出的声音在寂静中格外清晰。她拿起那份还带着温热的文件,翻到第三页,用红笔在几个数字下面画了线,又在页边空白处写了几个问号。笔迹刻意显得急促。
做完这些,她把报告摊开在桌面上最显眼的位置,旁边散着几份无关紧要的流程文件。然后她关掉电脑主屏幕,只留一台侧面的备用显示器亮着,上面打开着一份复杂的现金流量预测模型——模型是昨晚临时赶工做的,核心算法故意留了几处错误。
一切布置妥当,她看了眼时间。
晚上八点十七分。
该走了。
周然收拾背包,动作比平时慢。她把那份画了红线的报告塞进一个透明的文件袋,却又“不小心”让袋子掉在地上,纸张散出来两三页。她弯腰去捡,捡到一半,办公室的门被推开了。
王璐站在门口,手里拎着个外卖袋,脸上带着恰到好处的惊讶:“周姐,你还没走啊?”
“马上。”周然把文件拢起来,没急着装好,就那么拿在手里,“你怎么又回来了?”
“落了东西。”王璐走进来,目光很自然地扫过周然手中的文件,又瞥向桌上摊开的其他纸张,“哎,你这还在忙风险报告呢?赵总不是让下周三才交吗?”
“提前准备。”周然语气平淡,把文件塞回袋子,“有些数据对不上,得再核核。”
“沈工不是走了吗?”王璐走到自己工位,弯腰从抽屉里拿出个充电宝,动作很慢,“她那边数据权限一收,你这边肯定受影响吧?”
话里有试探。
周然拉上背包拉链,手指在拉链头上停了两秒。她抬起头,脸上露出一点恰到好处的疲惫:“是有点麻烦。老数据库封了,新数据口径不一致,几个关键字段对不上。”她说着,目光落回桌上那份现金流量模型,“昨晚赶了个初步预测,结果……不太理想。”
“怎么不理想?”王璐凑过来半步,眼睛盯着屏幕上的折线图。
“现金流缺口没我想象中那么大。”周然指着图上某个平滑的曲线,“按旧数据算应该能覆盖当期债务,但新数据调低了回款率。我本来以为要出大问题,结果重新跑了一遍模型……”她顿了顿,声音低下去,“缺口反而缩小了。”
王璐眨眨眼:“那不是好事吗?”
“好事?”周然苦笑了一下,那笑容很短,很快收住,“如果模型没错,当然是好事。但我担心是我算法设错了,或者数据清洗的时候漏了关键条件。”她伸手关掉显示器,屏幕暗下去的瞬间,映出王璐若有所思的脸。
“沈工走之前没帮你复核一下?”
“时间太紧。”周然背起包,“她那边交接一堆事,能帮我把底层数据挖出来已经不容易了。模型是我自己搭的,可能……高估了风险。”
最后四个字,她说得很轻,像是不太情愿承认。
王璐点点头,没再追问。她拎起外卖袋:“那周姐你早点回去休息,脸色看着不太好。”
“嗯,走了。”
周然走出办公室,脚步声在空旷的走廊里回荡。她没有回头,但能感觉到王璐的目光一直跟到拐角。
电梯下行时,她靠在厢壁上,闭上眼睛。
刚才那番表演,应该够了。王璐如果够聪明,会去查证她桌上那份画红线的报告,会去留意那些模糊的数据源编号。
而所有这些线索,都会指向同一个结论:周然因为失去沈清音的技术支持,正在数据泥潭里挣扎,她的判断开始出现偏差。
手机在口袋里震了一下。她掏出来看,是沈清音发来的加密消息,只有两个字:“已到。”
后面跟着一个西南分公司的定位,以及一张照片——照片里是分公司数据机房的某个角落,一台服务器的指示灯规律地闪烁着绿光。那是五个数据眼睛中的一个。
周然回复:“收到。刚才演了一场。”
沈清音很快回过来:“观众反应?”
“有待观察。”
“保持频道清洁,明天联系。”
对话结束。周然收起手机,走进地铁站。晚高峰已过,站台上人不多,她找了个角落的位置站着。列车进站时带起的风掀起她的头发,她忽然想起陈志远下午说的话。
“赵坤这是在砍你的手。”老陈说这话时,手指一直按着太阳穴,“沈清音是你的技术支撑,没了她,你的数据模型、资金流向分析……所有这些,都会大打折扣。”
“我知道。”
“董事会特别会议提前到下周三,满打满算还有五天。”陈志远压低声音,“赵坤那边肯定准备了应对口径,他们会咬死你数据不实、夸大风险、破坏稳定。你现在手里还有多少能打的牌?”
周然当时没回答。
列车启动,加速。周然靠在车厢连接处的隔板上,背包抱在胸前。牌当然还有,只是不能全亮出来。那份真正的风险报告已经在加密硬盘里躺着了,四十七条核心结论,每一句都像刀子。但刀子要在对的时候捅出去。
现在要做的,是让对手以为自己手里拿的是把钝刀。
甚至,是根棍子。
地铁到站,周然随着人流走出车厢。家离地铁站还有一段距离,她沿着熟悉的街道走,路灯把影子拉长又缩短。路过一家还在营业的便利店时,她推门进去,买了瓶水和一份三明治。
走出便利店,周然拆开三明治的包装,咬了一口。冷掉的培根和生菜,味道很一般。她机械地咀嚼着,脑子里却在复盘刚才和王璐的对话。
有没有破绽?
语气是否足够自然?
她走到小区门口,刷卡进门。保安室里亮着灯,值班的保安正低头看手机,没抬头。周然走进电梯,按下楼层键,电梯缓缓上升时,她看着镜面里自己的脸。
疲惫,但眼神很静。
这样就好。
电梯门开,她走到自家门前,掏出钥匙。开门前,她习惯性地看了一眼门缝——没有异物。她推门进去,反手锁好,又挂上防盗链。
屋里一片漆黑。她没开大灯,只按亮了玄关的一盏小壁灯。光线昏黄,勉强能照亮鞋柜和挂衣架。她把背包放在鞋柜上,脱掉外套,换上拖鞋。
手机又震了。
这次是陈志远。
周然接起来:“老陈。”
“说话方便吗?”陈志远的声音听起来比下午更沙哑。
“方便,你说。”
“两件事。”陈志远语速很快,“第一,董事会会议议程草案发下来了,你的汇报时间从原定的三十分钟压缩到二十分钟。赵坤提的,理由是‘聚焦核心问题,提高会议效率’。陆明远那边没反对。”
周然走到沙发边坐下:“二十分钟够了。”
“第二件事。”陈志远停顿了一下,背景里传来打火机点烟的声音,“李维序下午找我,说人力资源部接到‘匿名反馈’,质疑你顾问合同的合规性,要求重新审核你的背景调查和利益冲突声明。”
“理由?”
“说你之前在德勤参与过海西物流的审计,现在又以顾问身份介入集团调查,存在‘角色冲突’。”陈志远吸了口烟,“这是赵坤的老套路,用程序问题拖时间。李维序那个人你也知道,死抠规章制度,他既然提了,就一定会走流程。”