艾琳·沃斯第一天走进墨丘利资本十四层的时候,门禁系统发出了一声短促的蜂鸣,像一只警觉的狗在嗅一个陌生人的裤脚。她的工牌是崭新的,塑料膜还带着刚刚打印完毕的余温,照片上的她表情平淡,眼神里没有任何可以被解读为紧张或兴奋的信号。前台的人事专员带她走了一圈——开放式办公区、茶水间、应急楼梯、洗手间——然后用一种训练有素的微笑告诉她,她的工位在B区第四排,紧挨着服务器机房的隔墙。那个位置的上一个主人是谁,人事专员没有说。但艾琳知道。她走进B区的时候,看到第四排工位右侧的隔板上还残留着一小块没有清理干净的胶痕,形状像一个曾经贴过照片的方框。那是马丁·沃斯的工位。父亲在这里坐过两年。胶痕是他取下全家福时留下的。
她花了整个上午做入职培训——合规手册、信息安全协议、内部交易监控系统的操作流程。下午两点,她被分配到第一个任务:检查一组历史交易数据中的异常信号,为量化策略组下周的回测报告准备基础清洗。任务本身枯燥得像用镊子从沙滩上拣出特定颜色的沙粒,但它给了她一个合法的理由去翻阅墨丘利资本的交易数据库。她坐在父亲曾经坐过的椅子上,面前是三台并排的显示器,左手边是服务器机房隔墙传来的恒定低频嗡鸣,右手边的窗外是阿什顿码头区那些被地平线计划翻新过的建筑群。她花了一个小时完成表面任务,然后用剩下的时间做了一件入职培训明确禁止的事——她在数据库里搜索了一个账户编号,末尾四位3317。
玛格丽特·库珀的交易记录安静地躺在屏幕上,时间跨度三年,每一笔都被精确地标注了成交时间、价格、对手方标识码。对手方标识码是一个由字母和数字组成的无意义字符串,但艾琳已经知道如何解读这些字符串。她在父亲的笔记本第41页找到了一个破译表——马丁花了几个月时间逐条比对,发现这些看似随机的字符串实际上可以被映射回墨丘利资本的内部策略编号。每一个吞掉玛格丽特养老金的订单背后,都对应着狮鹫模型的一个特定收割模块。她把其中一条记录的时间戳精确到毫秒,然后打开艾伦留下的后门激活程序文件,在本地做了一个离线模拟。模拟结果和父亲笔记本第23页那个曲线图完全一致——订单簿深度在成交前出现了一个持续四毫秒的微型凹陷,然后迅速恢复。狮鹫模型在呼吸。此刻它仍在呼吸。就在她坐在这栋大厦十四层的此刻,就在窗外那些地平线计划广告牌上的金色标语俯瞰这座城市的此刻,狮鹫模型仍然在以每秒钟数十万次的频率扫描着散户订单流,寻找下一个可以被虹吸的猎物。
入职第一周,艾琳把自己变成了一个模范新员工。她准时上班,准时下班,在茶水间里和同事聊天气和通勤路线,在策略讨论会上安静地记笔记,从不提问任何超出她分内工作范围的问题。她每天经过十四层走廊那扇紧闭的服务器机房大门时,不会多看一眼。她知道门上那个需要同时刷工卡和输入六位动态验证码的门禁系统是她的第一道实质性障碍。菲利普在面试时警告过她——“不要在十四层以外的任何地方提到狮鹫这个词”——但他没有告诉她如何进入服务器机房。他在系统里的权限被锁死到了只读,他自己的工卡很可能已经刷不开那扇门了。
第二周的周三,机会出现了。那天下午,十四层的空调系统发生了一次短时故障,服务器机房的温度在十五分钟内上升了四度,触发了自动报警。两名IT工程师从楼下赶上来,刷卡打开了机房大门,进去检查冷却系统。门在他们身后缓缓合上,但合上的速度很慢——慢到艾琳注意到门轴上的液压杆已经老化,完全闭合需要大约十二秒。她还注意到工程师进入机房之后,门禁面板上的状态灯从红色变成了绿色,这意味着在故障处理期间,机房的门处于“维护模式”——任何有效工卡都可以刷卡进入。她站起来,端起桌上的空咖啡杯,走向茶水间。茶水间在走廊的另一端,和机房方向相反。她不会在第一天就冒险。但她已经记录了工程师的响应时间、机房门轴的老化程度和维护模式的状态灯颜色。这些信息像父亲的箭头一样在她脑子里排列成一条清晰的路径。不急。她在茶水间的洗手池里冲洗杯子,水流声盖过了远处服务器机房传出的风扇啸叫。镜子里她的脸看起来平静如水。
第三周,她认识了卡勒布·萨特。卡勒布是量化研究组的初级分析师,入职比她早一年,负责维护狮鹫模型的日常运行日志。他二十六岁,瘦高个,下巴上留着一片永远修剪不整齐的胡茬,笑起来的时候嘴角会歪向一边。他对艾琳的态度从一开始就是过分的热情——不是男女之间的那种,而是一个在墨丘利待了一年、被同事当作隐形人的年轻人终于找到了一个比他资历更浅的新人。“你有什么不懂的尽管问我。”他在入职第二天的午餐时间对艾琳说,托盘里放着一份从大厦食堂买的三明治和一袋薯片。“这个组的老人都不爱说话。菲利普跟你聊过吗?他算话多的,但他也只跟数据说话。剩下的那些——你看到那个坐在角落戴耳机的家伙了吗?他来这里三年了,我至今不知道他的全名。”
艾琳意识到卡勒布不是一个被信任的内部人。他是一个门外汉——热情、单纯、渴望交流、对墨丘利内部的真正运作机制几乎一无所知。但同时,他也是最有用的信息来源,因为他知道的事情他自己意识不到那些事的真正价值。在第三周的周五,卡勒布在茶水间里无意中说了一句话:“下周季度回测,IT那边会做一个二十四小时的服务器离线维护。他们要更新狮鹫的时间同步模块——那个模块每次回测前都要校准,因为它的时间精度要求太高了,积累一个月的漂移就会出问题。”
艾琳端着咖啡杯的手没有抖。她喝了一口咖啡,咽下去,然后平静地问了一句:“维护的时候十四层还有人加班吗?”卡勒布耸耸肩:“一般没人。大家都远程登录跑测试,干嘛要在办公室待着。”他说完又抓起一把薯片塞进嘴里,完全没有意识到自己刚才递出了一把钥匙。
第四周的周六晚上,墨丘利资本十四层空无一人。艾琳在下午六点正常下班,刷工卡离开大楼,在附近的商业街吃了一碗拉面,然后回到距离金融区三个街区的一家24小时咖啡馆坐下。她打开笔记本电脑,连接上咖啡馆的公共WiFi,然后拿出手机拨通了菲利普的加密号码。
“今晚。”她说。“我需要你从远程登录系统,用你的只读权限监控狮鹫模型的实时订单流状态。维护窗口从凌晨一点开始,持续到明天下午一点。IT的维护脚本会自动重启时间同步模块,重启期间整个狮鹫模型的交易执行会暂停大约九十秒。这九十秒里,服务器的安全协议会降级到维护版本——维护版本对内部权限的验证比正常版本宽松。艾伦留下的后门激活程序需要在服务器根目录下运行,而根目录的写权限在维护模式下是开放的。”
菲利普在电话那头沉默了很长时间。艾琳听到他那边背景里有轻微的水流声,像是在洗碗。“你知道如果失败会怎样吗?”
“维护模式日志会记录所有异常操作。如果我触发任何错误警报,IT会在十分钟内远程锁定服务器。周一早上我会被安保带出大楼。”
“更糟。朱利安有一支外包的网络安全团队,他们不坐班,但他们会在任何异常警报触发后五分钟内启动反向追踪。他们会查到你登录时的物理位置。咖啡馆的公共WiFi保护不了你。”菲利普停了一下。“你需要一个位置伪装。有人需要在你的公寓里用你的个人电脑登录,让追踪信号指向你的住处,而你本人必须从墨丘利大厦内部的某台终端上运行激活程序。大厦内部的网络流量不会被反向追踪——因为服务器默认大厦内网是可信环境。你必须在两点之间。既在大厦内部,又在你自己的公寓里。”
“这不可能。”
“可能。”菲利普说。“需要两个人。”
艾琳立刻明白了他在说什么。她需要一双在大厦内部的手。那双手不是她的——她会把自己的工卡和系统密码交给另一个人,让那个人坐在十四层的某个终端前面,用她的身份登录,而她本人则需要回到自己的公寓,用自己的电脑登录远程系统,让追踪信号落在住处。两边的操作需要在同一时刻同步执行。父亲的笔记本上画过无数条箭头,每一条箭头都从一个点指向另一个点,从不交叉。但今晚,她需要的不是一个箭头,而是一个回环。
她想到了丹妮尔。但她立刻打消了这个念头——丹妮尔有莉莉,不能让她冒任何法律风险。她想到了玛格丽特,但玛格丽特已经快七十岁了,让她凌晨潜入一栋安保严密的大厦是荒唐的。她想到了苏珊——苏珊会做。苏珊已经等了两年。但苏珊的情绪状态太脆弱了,机房里的任何一点意外都可能把她推向崩溃。然后她想到了埃利奥特·海因斯。那个在父亲葬礼上穿着大一号黑西装、背挺得直直的、眼眶通红但没有落一滴泪的少年。三年过去,他现在是布雷克集团青年领袖奖学金项目的学生,在阿什顿市中心有一间由布雷克基金会提供的小公寓。卡洛斯·门多萨在邮件里告诉过她——埃利奥特一直没放弃。他在奖学金项目里默默收集布雷克集团的内幕信息,把自己的仇恨压成一块沉默的煤炭,等着哪一天有人带来一把火。
她拨通了莉娜·阿德勒的电话。响了三声之后接通。“我需要联系埃利奥特·海因斯。今晚。紧急。”莉娜没有问原因。她把埃利奥特的号码用加密短信发过来,附带了一句:“他等你等了三年。”
凌晨零点四十分,埃利奥特·海因斯出现在阿什顿金融区的一家24小时便利店门口。艾琳上次看见他是在沃尔特·海因斯的葬礼上,那时候他还是一个被悲痛压缩到最小体积的少年。现在站在便利店荧光灯下的,是一个身材高瘦的年轻人,穿着一件深蓝色防风外套,领口拉得很高,遮住了下巴。他的脸比三年前更瘦削,颧骨更突出,但那双浅灰色眼睛里的东西没有变——那种十五岁独有的、还没有被生活磨钝的执拗,如今被时间和仇恨打磨成了一把更锋利的刀。艾琳把工卡和一张写有系统密码的纸条塞进他手里,隔着便利店货架之间的狭窄过道低声交代了全部步骤。埃利奥特听完,没有问“如果被抓怎么办”。他只是把工卡翻过来看了一眼,然后塞进防风外套的内侧口袋里。
“你父亲死在布鲁克林大桥上。”他说。声音比三年前更低沉,但咬字依然清晰。“我父亲死在自由街的公寓里。墨丘利吞了我爸的养老金,布雷克吞了我爸的命。现在你说你有一个程序,能让他们的算法自己吃掉自己。你需要我坐在一台电脑前面敲几个键。”他把防风外套的拉链拉到头,遮住了半张脸,只露出那双浅灰色的眼睛。“我准备好了。”
凌晨一点零三分,艾琳回到自己在阿什顿租的短租公寓,打开笔记本电脑,连接上远程桌面。屏幕亮起,她输入了自己的员工账号密码,进入了墨丘利资本的内网系统。与此同时,埃利奥特用她的工卡通过了墨丘利大厦的夜间安保闸机——值班的安保人员认识“艾琳·沃斯”这个名字,系统里显示的访问权限是“维护支持”,申请人是菲利普·陈,审批状态:已通过。菲利普在维护脚本里插入了一条授权记录,让艾琳的工卡被临时列入维护操作人员名单。这是他权限被锁死之后唯一能做的手脚——修改一份不引人注目的授权列表,不涉及任何交易操作,只在系统日志里留下一行看起来完全合法的记录。
凌晨一点十一分,埃利奥特坐在十四层B区第四排的工位上——马丁·沃斯曾经坐过的那把椅子。屏幕亮着,桌面是墨丘利资本默认的灰色背景,左上角是蛇杖标志。他从口袋里掏出艾琳给他的纸条,上面用铅笔写着六行操作步骤,字迹极其工整,像数学公式一样精确。第一步:打开终端。第二步:输入服务器地址。第三步:输入维护模式授权码(艾琳从卡勒布的无意闲聊中提取到了这个信息——维护模式授权码每月更新一次,但本月的授权码卡勒布在茶水间里念出来过,因为他记不住那串无意义的字符组合,把它写在了便条上贴在显示器侧面,艾琳经过他工位的时候拍了一张照片)。第四步:插入U盘。第五步:运行激活脚本。第六步:等待屏幕出现“狮鹫后门激活完成”的确认信息,然后立即退出、清除终端历史、拔出U盘、离开大厦。
凌晨一点十四分,埃利奥特把U盘插入十四层服务器终端。艾琳在公寓的远程桌面上同步看到了系统的响应——一个命令行窗口弹出来,光标一闪一闪地跳动。她拨通了菲利普的加密通话,菲利普的声音压得极低:“狮鹫模型的实时订单流监控显示,维护脚本刚刚停止了交易引擎。你们有大约八十秒的窗口。现在服务器的安全验证降到了维护版本——这个版本不需要动态令牌,只需要静态授权码。埃利奥特可以进去了。”
“授权码输入成功。”埃利奥特的声音从另一条加密线路传来,平稳得不像一个十九岁的年轻人第一次执行潜入任务。“终端接受根目录写权限。正在运行激活脚本。”
艾琳盯着远程桌面上的进程管理器。她能看到一个名为“gryphon_backdoor_v3.py”的进程开始运行,CPU占用率在几秒内飙升到百分之九十七。服务器风扇的声音通过埃利奥特的麦克风隐隐传来,像远方海面上的风暴。她在心里默数着秒数。七十秒。六十秒。五十秒。屏幕上的进程条在缓慢地推进——百分之四十五。百分之五十二。百分之五十八。
然后她的公寓门铃响了。
艾琳的血液在那一瞬间冻结。她看了电脑屏幕右下角的时间——凌晨一点十九分。没有人会在凌晨一点来敲她的门。她站起来,无声地走到门边,从猫眼里往外看。走廊里站着两个人。一个穿着深灰色西装,打领带,看起来是某种行政人员。另一个穿着保安制服,腰间挂着一串对讲机和手电筒。西装男人抬起头,对着猫眼的方向露出一个客气而冰冷的微笑。“沃斯女士,我是墨丘利资本安保部的霍华德·格兰杰。方便开门吗?我们需要跟你确认一些今晚的内部系统异常。”霍华德·格兰杰。墨丘利的法务合伙人。艾伦遗书里提到的四个人之一。他亲自来了。
艾琳退回书桌前,对着麦克风用最小的音量说了一句话:“安保在我门口。继续跑程序。不要停。”然后她关掉了麦克风,深吸一口气,走向门口。她的手放在门把上的时候,回头看了一眼电脑屏幕——进程条在百分之七十一的位置暂停了一瞬间,然后继续推进。七十二。七十三。
她打开了门。


暂无评论,来抢沙发吧!