沈清音盯着那几张打印纸,手指在桌面上敲得飞快。
哒哒哒,像机枪点射。
周然站在她身后,没说话。办公室里堆满旧服务器和拆开的机箱,空气里有股灰尘和臭氧混合的味道。沈清音背对着门,齐耳短发,白大褂,防蓝光眼镜的镜腿缠着防滑硅胶套。
她终于停手。
“你画的?”她没回头。
“嗯。”周然说。
“工具?”
“Python加NetworkX,数据从你上次给的U盘里提的。”
沈清音转过来,推了推眼镜。镜片后的眼睛很亮。
“清洗规则?”
“剔了五百万以下的边,合并了同一控制人节点,担保和反担保关系全留着。”
沈清音点点头。她拿起最上面那张图,手指在空中虚划。
“这里不对。”她指着一个节点,“海西物流和星辰资本之间,你只画了股权边。实际还有两条债权边——一笔委托贷款两亿八,一笔应收账款保理一亿五。都没走明账,是财务公司做的结构化安排。”
周然愣住。
“你怎么知道?”
“2020年3月,财务公司信贷系统压力测试是我做的。”沈清音说,“测试数据里有一批异常贷款,借款方全是海西关联企业,担保方都是星辰资本的壳公司。我写了报告。”
“报告呢?”
“驳回了。”沈清音扯扯嘴角,“理由是不符合业务导向。后来我就被调来管历史数据了。”
她放下图,手指又开始敲桌面。
这次敲得有点急。
周然把剩下的图表推过去。“过去五年,星辰资本关联投资的资金流向。我标了十七处断裂点,大部分卡在系统迁移或升级的窗口期。”
沈清音一张张翻。翻到第五张,敲击声停了。
她盯着那张图,看了很久。
“你要我修复这些断裂?”她抬头。
“不止。”周然说,“我想重建整个关联交易的数据链。所有被切断、被掩盖、被篡改的节点,全部挖出来,连成一张完整的网。”
沈清音笑了。
很短的一声,没什么温度。
“你知道那要多少权限吗?”她说,“最高级数据库管理员权限,财务、信贷、投资系统的全模块访问权。还要物理服务器——至少三台,不能连内网,不能被监控。否则李维序分分钟就能溯源。”
“我知道。”
“知道还来找我?”沈清音看着她,“我现在就是个归档员。上次帮你抓数据已经冒险了。这次你要挖的是集团老底——赵坤、梁启水、星辰资本,哪个是好惹的?”
周然没接话。
她从包里又拿出几张纸,放在图表旁边。
董事会白板推演的草稿。手画的资金流向图,陆明远用红笔圈的节点,密密麻麻的批注。
沈清音的目光落上去。
她拿起最上面一张。
看了两眼,手指敲得更急了。哒哒哒哒,像暴雨砸在铁皮屋顶上。
周然等着。
房间里只有服务器风扇的嗡嗡声。
过了大概三分钟。
沈清音放下草稿。
“你要我出山?”她问。
“是。”
“凭什么?”
“凭数据不会说谎。”周然说,“也凭你不想让它们被永远埋在这堆废墟里。”
沈清音盯着她。
眼镜片反着屏幕的光,看不清眼神。
又过了很久。
她忽然站起来,走到墙边机柜前,蹲下身拖出一个纸箱。箱子里全是旧硬盘,用防静电袋包着。
她翻找一会儿,抽出一块。
“财务公司信贷系统2019到2021年的全量备份。”她走回来,把硬盘放在桌上,“系统迁移时旧服务器要报废,我偷偷留的。数据加密,密钥在我脑子里。”
周然看着那块硬盘。
“还有吗?”
沈清音又拖出另一个箱子。
几卷老式磁带。
“城商行核心系统2018年以前的交易日志。”她说,“要专用读带机才能读。读带机在总行机房地下室,早淘汰了,但应该还能用。”
“你怎么有这些?”
“当年做数据归档,该销毁的,我都留了一份。”沈清音拍拍手上的灰,“不是故意的。就是觉得……数据不该就这么没了。”
她站直身子。
“但光有这些不够。要重建数据链,得进主数据库拉元数据,得跑分布式查询,得做实时关联分析。这些都需要最高权限。”
“权限我有。”周然说,“调查组副组长,董事会特批的数据全访问权。李维序卡流程,但权限名单是陆明远亲自签的,他改不了。”
沈清音挑眉。
“服务器呢?三台物理机,不能连内网,不能有监控代理。从哪儿变?”
周然拿出一张黑色门禁卡。
没有logo,只有一串数字编号。
沈清音接过去。
“集团在老机房大楼地下二层,有个废弃的测试中心。”周然说,“十年前建的,后来封存了。但供电和空调还留着,服务器机柜也没拆。上周总务部去检查过,环境还能用。”
“你怎么拿到的?”
“陆董事安排的。他说那是他的‘私人技术储备点’。”
沈清音把门禁卡揣进口袋。
“什么时候开始?”
“今晚。十点以后,大楼保安换班,有半小时空档。”
“你跟我去?”
“嗯。”
沈清音点点头。她开始关显示器,拔线,收拾东西。动作很快,有条不紊。
硬盘、磁带、几本厚技术手册,塞进一个黑色双肩包。最后从抽屉里拿出个巴掌大的金属盒子,检查一下,也放进去。
“那是什么?”周然问。
“加密狗。”沈清音说,“我自己写的驱动,能绕过系统监控直接读写数据库底层。很久没动了,不知道还能不能用。”
她拉上背包拉链,背到肩上。
“走吧。白天还得准备点东西。”
“准备什么?”
“零食。还有咖啡。”沈清音往外走,“今晚肯定是通宵。”
两人一前一后出了副楼。
穿过连接廊,往主楼后面的老机房大楼走。那栋楼只有五层,外墙瓷砖有些脱落。
走到楼门口,沈清音忽然停住。
“周然。”她没回头。
“嗯?”
“如果这次再失败……”沈清音说,“我是说,如果数据挖出来了,但扳不倒他们,或者中途被发现了,后果会很严重。”
周然走到她身边。
“我知道。”
“你可能丢工作,被起诉,甚至可能……”沈清音顿了顿,“赵坤那个人,什么事都做得出来。”
“我知道。”
沈清音转过身,看着她。
阳光从侧面照过来,在眼镜片上反出两小块光斑。
“那为什么还要做?”
周然想了想。
“因为如果现在不做,以后就更没机会了。”她说,“数据会被人彻底清洗干净,痕迹会抹掉,所有知道真相的人都会闭嘴。然后集团会被掏空,股价崩盘,几万员工失业——而那些掏空它的人,会带着钱去开曼群岛晒太阳。”
她顿了顿。
“我受不了这个。”
沈清音看了她几秒。
然后点点头。
“我也受不了。”她说。
她推开楼门,走了进去。
大厅空荡荡的,前台没人,只有个打卡机亮着红灯。地上铺着老式水磨石,有些地方裂了。
沈清音熟门熟路往楼梯间走。
“电梯坏了三年了。走楼梯吧。”
楼梯间更暗,声控灯时亮时灭。墙上贴满“禁止吸烟”的标识,角落里有烟头。
下到地下二层,温度明显低了。
沈清音刷了门禁卡。
绿灯亮,锁芯咔哒一声弹开。
她推开门。
很大一个空间,挑高四五米。一排排服务器机柜整齐排列,大部分是空的,少数几台亮着灯。空气里有灰尘和金属混合的味道。
沈清音走到最里面那排机柜前,蹲下身看标签。
“这台能用。”她指着一台,“戴尔PowerEdge R740,配置不低,就是灰多了点。”
又检查旁边两台。
“这三台正好。供电是独立的,走老楼备用电路,跟主楼电网不连着。网络……”她绕到机柜后面蹲下看线,“有根光纤直通主楼数据中心,但开关是手动的。要联网的时候拉闸就行,平时可以物理断开。”
周然环顾四周。
“这里安全吗?”
“比上面安全。”沈清音说,“这层门禁系统独立,没连集团总控。卡只有两张,你一张我一张。监控摄像头……”她指墙角,“那几个都是假的,塑料壳子,我上次来就发现了。”
她走到配电箱前,推上闸刀。