《复仇星耀途》 第1章:新身份,旧伤痕 第1章:新身份,旧伤痕(第1/2页) 深港市,星耀集团总部大楼。 清晨七点四十五分,玻璃幕墙反射着初升的阳光,将整栋建筑包裹在一片刺眼的光晕中。路容站在旋转门外,看着倒影里那个陌生的自己——黑框眼镜遮住了大半张脸,齐肩短发被刻意染成深棕色,一身略显保守的灰色西装套裙,手里拎着廉价的通勤包。 镜面里的女人眼神空洞,嘴唇紧抿。 她深吸一口气,喉咙里发出轻微的、经过变声器调整后的沙哑嗓音:“路容已死。” 声音很轻,只有自己能听见。 “我是若溪。” 说完这句话,她推开了那扇通往复仇深渊的大门。 冷气扑面而来,混合着消毒水和咖啡的复杂气味。大厅挑高近十米,大理石地面光可鉴人,前台穿着统一制服的接待员露出标准化的微笑。路容——不,现在是若溪——走向闸机,从包里掏出昨天刚办好的工牌。 “滴。” 闸机打开。她走进去,脚步平稳,心跳却像擂鼓。 电梯间挤满了人,西装革履的男男女女低声交谈,手机屏幕的光映在一张张疲惫或亢奋的脸上。路容站在角落,目光扫过楼层指示牌——数据分析部在二十七楼,李剑的副总裁办公室在顶层三十八楼。 三年前,她也曾站在类似的大厅里,穿着剪裁得体的套装,手里拿着天启科技的项目方案,被同事们称为“数据天才”。那时她二十六岁,刚从国外顶尖院校毕业回国,眼里有光,心里有火。 然后,李剑出现了。 电梯门打开,人群涌出。路容跟着人流走进二十七楼的开放式办公区。玻璃隔断划分出一个个工位,巨大的显示屏上滚动着实时数据流,键盘敲击声此起彼伏。这里的一切都高效、冰冷、井然有序。 “新来的?” 一个穿着深蓝色套装、妆容精致的女人走过来,手里拿着平板电脑。她大约四十岁,眼角有细纹,但眼神锐利得像手术刀。 路容立刻认出她——王丽,数据分析部总监,李剑的忠实追随者。资料显示,这个女人擅长职场pua,抢功甩锅的手段炉火纯青,是三年前那场构陷的积极参与者。 “是,我是若溪,今天第一天报到。”路容用调整过的嗓音回答,微微低头,做出新人该有的拘谨姿态。 王丽上下打量她,目光在她廉价的西装和黑框眼镜上停留了几秒,嘴角扯出一个似笑非笑的弧度:“跟我来。九点有新人培训,别迟到。” --- 培训室在走廊尽头,能容纳二十人的小会议室已经坐了一半。路容找了个靠后的位置坐下,从包里拿出笔记本和笔。周围都是同期入职的新人,大多年轻,脸上带着初入大公司的兴奋和紧张。 “大家好,我是王丽,数据分析部总监。” 王丽站在投影幕布前,没有开场白,直接切入正题:“星耀集团是深港市成长最快的互联网公司,我们的核心业务是大数据分析与人工智能应用。在这里,数据就是血液,算法就是心脏。你们能坐在这里,说明通过了初步筛选,但我要提醒各位——” 她顿了顿,目光扫过全场。 “通过筛选,只代表你有资格参与竞争。数据分析部每年淘汰率是百分之三十。业绩不达标、团队协作差、或者……”她的视线有意无意地落在路容身上,“无法适应高强度工作节奏的,都会被清退。” 会议室里一片寂静。 路容低下头,在笔记本上写下“淘汰率30%”几个字,笔尖微微发颤。不是害怕,是愤怒。三年前,李剑就是用类似的语气对她说的:“路容,你很优秀,但职场有职场的规则。有些机会,需要付出代价才能得到。” 她拒绝了。 然后,一切都毁了。 “接下来看第一个案例。”王丽点击遥控器,投影幕布上出现一份加密数据流的分析报告,“这是三年前某科技公司的真实案例。该公司核心数据库遭到入侵,大量用户隐私数据泄露,最终导致公司股价暴跌,核心团队解散。” 路容的呼吸骤然一窒。 幕布上的图表、加密算法示意图、数据流向图……每一个细节都像烧红的烙铁,狠狠烫在她的记忆里。这不是什么“某科技公司”,这就是天启科技。这就是她曾经呕心沥血构建的数据安全体系,这就是李剑用来构陷她的“证据”。 “该案例中,泄露的数据采用了aes-256加密,但攻击者通过社会工程学手段,获取了内部人员的访问权限。”王丽的声音在耳边嗡嗡作响,“调查显示,泄密者是一名年轻的数据分析师,她利用职务之便,将加密密钥卖给了竞争对手。” 胡说。 全是胡说。 路容的手指开始颤抖。她用力握紧笔,指节泛白,但颤抖无法停止。眼前的数据流图开始扭曲、旋转,变成三年前那个夜晚——警车闪烁的蓝红灯光,同事们惊疑的目光,李剑站在人群后面,脸上挂着虚伪的惋惜。 “路容,我真没想到你会做这种事。” “证据确凿,你还有什么好说的?” “你毁了公司,也毁了自己。” 那些声音从记忆深处涌上来,像潮水一样淹没她。喉咙发紧,胸口像被巨石压住,喘不过气。她必须离开这里,立刻,马上。 “抱歉,”路容猛地站起来,声音因为极力压制而更加沙哑,“我去一下洗手间。” 王丽皱了皱眉:“培训期间不要随意离场。” “很快回来。”路容没有看她,径直走向门口。脚步踉跄,差点撞到门框。 走廊空无一人。她几乎是跑向洗手间,推开隔间的门,反锁,然后整个人瘫坐在马桶盖上。颤抖从手指蔓延到全身,牙齿开始打颤,喉咙里发出压抑的、动物般的呜咽。 不能哭。 不能出声。 这里到处都是监控,隔音也不好。她死死咬住下唇,血腥味在口腔里弥漫,但还不够。颤抖越来越剧烈,像癫痫发作的前兆。三年前那场变故后,她患上了严重的应激障碍,医生诊断是创伤后应激障碍伴随焦虑症。高压环境、特定关键词、甚至某些气味,都可能触发症状。 而刚才王丽展示的案例,几乎复刻了她人生中最黑暗的那个夜晚。 路容抬起左手,将手腕塞进嘴里,用牙齿狠狠咬下去。 疼痛尖锐而清晰,像一根针扎进神经。颤抖渐渐平息,喉咙里的呜咽被压回胸腔。她闭上眼睛,额头抵在冰冷的隔间门板上,大口呼吸。 镜子里的人脸色惨白,黑框眼镜后的眼睛布满血丝,嘴唇被咬破渗出血珠。手腕上留下一圈深深的牙印,已经开始泛紫。 “路容,”她对着镜子里的自己无声地说,“你不能倒在这里。” “你花了三年时间准备,伪造身份,学习变声,甚至去整容医院做了微调。你赌上了一切,就为了今天。” “李剑还在三十八楼,活得风光无限。而你,连听到一个案例都差点崩溃。” 她打开水龙头,用冷水泼脸。冰冷的水刺激着皮肤,让混沌的大脑清醒了一些。从包里拿出粉饼,小心遮盖嘴唇上的伤口和苍白的脸色。眼镜重新戴好,整理好头发和衣领。 镜子里又变回了“若溪”——那个平凡、拘谨、甚至有些土气的新人数据分析师。 深呼吸三次。 推开隔间门。 然后,她僵住了。 洗手台前的镜子里,映出两个人——她自己,以及站在她身后三米处的王丽。 王丽靠在洗手间入口的墙边,双手抱胸,不知道已经站了多久。她的目光锐利得像探针,从路容湿漉漉的头发,扫到微微发红的脸颊,最后停留在她紧握的双手上。 “若溪,”王丽开口,声音平静,却带着不容错辨的审视,“你的脸色很差。” 路容的心脏几乎停止跳动。 “是不适应大公司的节奏吗?”王丽向前走了一步,高跟鞋敲击瓷砖地面,发出清脆的响声,“还是说,刚才的案例……让你想起了什么?” 空气凝固了。 路容能听到自己血液流动的声音,能感觉到冷汗顺着脊椎滑落。王丽在试探什么?她看到了多少?听到了多少?隔间的隔音到底有多差? (本章未完,请点击下一页继续阅读)第1章:新身份,旧伤痕(第2/2页) 三秒钟的沉默,像三个世纪那么长。 然后,路容缓缓转过身,低下头,用那种新人特有的、带着怯懦和不安的语气回答:“对不起,王总监。我……我早上没吃早饭,有点低血糖。案例很震撼,我没想到真实的数据泄露后果这么严重。” 她抬起头,努力让眼神显得真诚而惶恐:“我会尽快适应的。真的,非常抱歉耽误了培训。” 王丽盯着她看了足足五秒。 那五秒里,路容几乎能听到自己心跳的轰鸣。她强迫自己保持呼吸平稳,手指不要颤抖,眼神不要躲闪。这是她三年来反复练习的——如何在极度紧张的情况下,维持表面的平静。 “低血糖?”王丽终于开口,语气缓和了一些,“公司楼下有便利店,培训结束后去买点吃的。星耀的工作强度很大,身体是革命的本钱。” “谢谢总监提醒。” “回去吧。”王丽转身走向门口,“还有二十分钟培训结束,别错过重点。” 路容跟在她身后,脚步虚浮。走到走廊时,王丽忽然停下,回头看了她一眼:“对了,若溪。” “是?” “你的简历上写,你之前在几家小公司做过数据分析。”王丽状似随意地问,“但看你刚才的反应,还有笔试时那道加密算法的解题思路……不像新手。” 路容的血液再次冻结。 “我……我自学了很多。”她迅速回答,声音依旧沙哑,“之前在小公司,什么都要做,所以接触得杂。那道题是碰巧,我大学时对密码学有点兴趣。” “碰巧?”王丽笑了笑,那笑容里没有温度,“运气也是实力的一部分。好好干,李总很关注新人的潜力。” 说完,她转身离开,高跟鞋的声音在走廊里渐行渐远。 路容站在原地,直到那声音完全消失,才敢松开紧握的拳头。掌心全是冷汗,指甲在皮肤上掐出深深的印子。 李总很关注新人的潜力。 这句话像一句咒语,在她脑海里反复回响。是随口一提的鼓励,还是别有深意的警告?王丽到底看出了多少?刚才在洗手间,她到底听到了什么? 路容走回培训室,在门口停顿了两秒,调整呼吸,然后推门进去。 培训已经接近尾声。王丽正在讲星耀的企业文化:“在这里,业绩就是一切。你的代码行数、分析报告数量、项目贡献值,都会被系统量化打分。月度排名后百分之十会收到警告,连续三个月则进入淘汰观察期。” 残酷而高效的丛林法则。 路容坐回座位,翻开笔记本。纸页上,“淘汰率30%”那几个字旁边,她不知不觉画了一个圈,圈里写着一个名字:李剑。 笔迹很深,几乎划破纸页。 三年前,李剑毁了她的人生,夺走了她的事业、名誉、甚至对未来的希望。那之后,她像幽灵一样活着——不敢用真名,不敢联系旧友,不敢踏入任何一家像样的科技公司。她做过便利店收银员,送过外卖,在深夜的网吧里自学变声技巧和身份伪造技术。 所有的一切,都是为了今天。 为了走进这栋大楼,坐在这个位置,等待一个机会。 一个拿到证据的机会。 一个让李剑身败名裂的机会。 一个夺回属于自己的一切的机会。 培训结束的铃声响起。新人们陆续起身,低声交谈着走向门口。路容收拾好东西,最后一个离开。走到门口时,王丽叫住了她。 “若溪,你的工位在b区27号。这是你的第一个任务。”王丽递过来一个u盘,“里面是某个边缘项目的测试数据,杂乱无章。明天下午五点前,完成初步清洗和趋势分析报告。李总可能会看。” 路容接过u盘,指尖冰凉。 “别让我失望。”王丽说完,转身离开。 走廊里又只剩下路容一个人。她握着那个小小的黑色u盘,感觉它重若千钧。边缘项目的测试数据?李剑可能会看? 这太刻意了。 是试探,还是陷阱?或者两者都是? 她走回办公区,找到b区27号工位。很偏僻的位置,靠近消防通道,头顶的灯光有些昏暗。她坐下,打开电脑,插入u盘。 文件夹里确实是一堆杂乱无章的原始数据——用户行为日志、服务器错误报告、未经处理的传感器读数。但就在她快速浏览时,几行格式异常的数据跳进了视线。 那几行数据混杂在成千上万条正常日志中,很容易被忽略。但路容一眼就认出了那个加密标记——一个特定的、非标准的十六进制前缀,后面跟着经过混淆的字符序列。 三年前,在天启科技的核心数据库里,她见过完全相同的标记。 那是李剑私下使用的、未经公司备案的加密协议。当年所谓的“泄密证据”中,就包含用这种协议加密的数据包。警方和公司调查组都认定,只有拥有密钥的她才能解密并泄露那些数据。 但真相是,李剑自己就有密钥。 路容盯着屏幕,呼吸再次变得困难。这不是巧合。王丽故意把这些数据给她,是为了测试她是否认得这个标记?还是说,李剑根本就在用星耀集团的项目做掩护,继续进行非法的数据交易? 她闭上眼睛,强迫自己冷静。 不能慌。现在慌,就全完了。 她睁开眼睛,双手放在键盘上。手指依旧有些颤抖,但比刚才好多了。她开始敲击代码,一行行清洗指令在屏幕上滚动。这是她最熟悉的领域——数据。混乱的、无序的、隐藏在数字背后的真相。 随着代码运行,杂乱的数据开始变得规整,异常值被标记,缺失值被填补。她的动作越来越快,眼神越来越专注。世界缩小到屏幕上的字符和逻辑,那些恐惧、愤怒、颤抖,暂时被隔绝在外。 三年前,她是天启科技最年轻的数据架构师,能在七十二小时内重构整个风控模型。现在,她是若溪,一个简历平平的新人,必须小心隐藏自己的真实水平。 但有些东西是藏不住的。 比如直觉。比如对数据异常的天生敏感。比如看到那个加密标记时,心脏骤停般的本能反应。 窗外的天色渐渐暗下来。办公区的人越来越少,最后只剩下她一个人。屏幕的光映在她脸上,明明灭灭。她完成了数据清洗,开始写趋势分析报告。 在报告的“潜在风险”部分,她停顿了很久。 然后,她用一种“新手可能犯的、但思路清奇”的语气写道:“在数据清洗过程中,发现少量格式异常日志,带有非标准加密标记。虽然数量极少,且可能只是测试残留,但建议核查其来源,以防潜在的数据污染或安全漏洞。” 她故意用了几个不专业的术语,让整段话看起来像是新手的过度谨慎。 点击保存。发送给王丽。 发送成功的提示弹出来时,路容靠在椅背上,长长地吐出一口气。手腕上的牙印还在隐隐作痛,提醒她今天发生的一切都不是梦。 她回来了。 以幽灵的身份,踏入猎人的巢穴。 下一步是什么?王丽会怎么看待这份报告?李剑真的会看吗?如果看,他会认出那个“新手”的提醒背后,藏着怎样的警觉吗? 路容关掉电脑,收拾东西。走出办公区时,整层楼已经空无一人。走廊的声控灯随着她的脚步声依次亮起,又在她身后依次熄灭。 她走到电梯间,按下下行键。 电梯从三十八楼缓缓下降。数字跳动:38、37、36……每跳一下,路容的心就沉一分。李剑就在那层楼,就在那个可以俯瞰整个深港市的办公室里。 电梯门打开,里面空无一人。 她走进去,按下1楼。门缓缓关闭,镜面墙壁映出她苍白的脸。就在电梯开始下降的瞬间,她的手机震动了一下。 是一条陌生号码发来的短信,只有一句话: “报告看了。明天上午九点,来我办公室一趟。——李剑” 路容盯着那行字,手指僵硬。 电梯继续下降,失重感包裹全身。镜子里,那个戴着黑框眼镜的女人,缓缓地、缓缓地,露出了一个冰冷到极致的微笑。 第2章:第一道考验 第2章:第一道考验(第1/2页) 地铁车厢摇晃着穿过隧道,广告灯箱的光影在路容脸上快速掠过。她盯着手机屏幕上那条短信,每一个字都像冰锥刺进眼底。李剑。这个名字在三年的时间里从未褪色,反而在每一次午夜梦回时变得更加清晰、更加狰狞。 电梯平稳下降,失重感持续着,像极了三年前她从人生巅峰坠落时的感觉。她将手机紧紧攥在掌心,金属边缘硌得生疼。明天上午九点,三十八楼。猎人与猎物,将在最初的战场,进行一场伪装下的重逢。 她抬起头,电梯镜面里那双眼睛,仇恨的火焰在深处静静燃烧,却被黑框眼镜和刻意低垂的眼帘完美掩盖。门开了,大厅的灯光涌进来。她走出去,脚步平稳,背影挺直,像一个真正的、对未来充满忐忑又怀揣希望的新人员工。没有人知道,那个走向地铁站的平凡身影心里,正在演练一场即将到来的、生死攸关的对话。 *** 第二天早晨八点二十分,路容已经坐在了工位上。 数据分析部的开放办公区弥漫着咖啡和消毒水的混合气味。头顶的日光灯管发出轻微的嗡鸣,二十七楼的落地窗外,深港市的楼宇在晨雾中若隐若现。路容打开电脑,登录内部系统,屏幕上跳出欢迎界面——星耀集团的蓝色logo旋转着展开,像一只缓缓睁开的眼睛。 她端起桌上的保温杯,抿了一口温水。水温刚好,但吞咽时喉咙依旧发紧。变声器贴在颈部的皮肤上,那种微凉的触感时刻提醒着她的伪装。 “若溪,来得挺早啊。” 王丽的声音从身后传来,高跟鞋敲击地面的节奏不紧不慢。路容转过身,看见总监今天穿了一身深紫色套装,耳环是简洁的珍珠款式,整个人看起来干练而威严。 “王总监早。”路容站起身,声音经过调整后带着恰到好处的拘谨。 王丽没有回应她的问候,而是将一个银色u盘“啪”地一声丢在她桌面上。u盘撞击木质桌面的声音清脆刺耳,周围几个早到的同事下意识地抬头看了一眼,又迅速低下头去。 “这是‘星云边缘计算项目’的测试数据。”王丽双手抱胸,居高临下地看着她,“原始数据,没经过任何处理。下班前完成初步清洗和趋势分析报告,发到我邮箱。” 路容拿起u盘。金属外壳冰凉,边缘有些划痕。她抬头看向王丽:“请问清洗的具体标准是?” “标准?”王丽嘴角勾起一个弧度,“你是数据分析师,连清洗标准都要我教?自己判断。李总很关注新人的潜力——” 她顿了顿,身体微微前倾,声音压低了几分,却足够让周围人听清:“别让我失望。” 说完这句话,王丽转身离开,高跟鞋的声音在空旷的办公区里回荡,渐行渐远。 路容坐回椅子,将u盘插入电脑接口。系统提示检测到新设备,她点击打开文件夹。 里面只有一个文件,名字是乱码般的字符串:`xj_testdata_2023q4_raw_v2.7z`。 压缩文件。她解压,进度条缓慢爬升。电脑风扇开始加速运转,发出轻微的嗡鸣。路容盯着屏幕,手指无意识地敲击桌面。一下,两下,三下。这是她紧张时的习惯性动作,三年前就有。她立刻停下,将双手平放在膝盖上。 解压完成。文件夹展开,里面是十七个csv文件和三个日志文件,总计超过五十万行数据。 路容点开第一个csv文件。 密密麻麻的数字和字符涌进视线。这确实是边缘计算项目的测试数据——流量监控、节点延迟、资源占用率,都是星耀集团正在探索但尚未大规模投入的领域。数据杂乱无章,缺失值随处可见,时间戳格式不统一,还有大量明显错误的异常值。 她滚动鼠标,快速浏览。 然后,她的手指僵住了。 在第三个日志文件的末尾,混杂在几百行正常的系统日志中间,有七行数据格式明显不同。 时间戳的格式是`yyyy-mm-ddhh:mm:ss.fff`,而不是项目通用的`unixtimestamp`。字段分隔符是竖线`|`而不是逗号。内容字段被加密过,显示为十六进制字符串。 但这些都不是关键。 关键是那七行数据的末尾,都有一个相同的标记:`#k3-7a-82`。 路容的呼吸停止了。 世界在那一瞬间收缩成屏幕上的那串字符。`#k3-7a-82`。灰底黑字,在日志文件的白色背景上格外刺眼。她的视线开始模糊,耳膜里响起尖锐的鸣叫,像一根针从太阳穴刺进去,直抵大脑深处。 三年前,天启科技。 李剑的办公室,下午四点。阳光从落地窗斜漏出来,在地板上切出锐利的光斑。她站在办公桌前,手里拿着那份被指控“泄露”的商业文件。文件的每一页右下角,都有一个不起眼的水印标记。 就是`#k3-7a-82`。 李剑当时指着那个标记,声音平静得像在讨论天气:“这是内部文件的追踪码。只有核心项目组的成员能接触到。路容,你怎么解释?” 她解释不了。因为她从来没见过那份文件,更不知道那个标记是什么。 后来她才知道,那是李剑私下使用的加密标记之一,用于标识他经手的“特殊”数据——那些游走在法律边缘,甚至完全非法的交易记录。 而现在,这个标记出现在星耀集团的测试数据里。 出现在她面前。 路容猛地闭上眼。黑暗袭来,但那个标记依旧在视网膜上燃烧。`#k3-7a-82`。灰底黑字。她感觉到心脏在胸腔里疯狂撞击,每一次跳动都牵扯着三年前的伤口。手腕上,昨天自己咬出的牙印开始隐隐作痛。 不能抖。 不能出声。 不能暴露。 她深吸一口气,再吸一口。空气进入肺部,冰冷而稀薄。她强迫自己睁开眼睛,重新看向屏幕。那七行数据还在那里,安静地躺在日志文件的末尾,像七具埋在雪地里的尸体。 是陷阱吗? 王丽故意放进来的?李剑授意的?为了测试她?为了看她看到这个标记时的反应? 还是说,这只是巧合?李剑仍然在用这个标记处理非法数据,而这次不小心混入了测试文件? 路容不知道。她只知道,自己必须完成这份报告。必须用“若溪”的方式完成。 她开始工作。 手指重新放在键盘上。第一个敲击有些颤抖,但第二个就稳住了。她打开数据清洗脚本模板,开始修改。删除缺失值超过百分之三十的字段,统一时间戳格式,用中位数填充异常值……这些操作她闭着眼睛都能完成,但现在她必须放慢速度,必须偶尔停下来,假装在思考,假装在查阅资料。 她打开浏览器,搜索“数据清洗常见方法”。页面加载出来,她扫了一眼,然后关掉。这只是表演,给可能存在的监控看的表演。 真正的清洗在后台进行。她写了一个简单的python脚本,批量处理那十七个csv文件。代码运行,进度条跳动。她盯着屏幕,眼神专注,但余光始终注意着周围。 办公区的人渐渐多起来。键盘敲击声、鼠标点击声、低声交谈声、椅子轮子滑动的声音……这些声音交织成职场特有的白噪音。有人从她身后经过,带起一阵微风。路容没有回头,但脊背微微绷紧。 九点半,周哲来了。 他坐在斜对面的工位,隔着一个过道。路容听见他拉开椅子的声音,听见他打开电脑的启动音,听见他轻声和旁边同事打招呼:“早啊,昨天那个bug修好了吗?” 声音温和,带着技术人特有的理性腔调。 路容没有抬头。她不能抬头。周哲是李剑的得力下属,虽然资料显示他为人正直,但谁也不知道他到底站在哪一边。她不能冒险。 (本章未完,请点击下一页继续阅读)第2章:第一道考验(第2/2页) 清洗工作完成了三分之二。她停下来,揉了揉太阳穴。这个动作很自然,任何一个面对杂乱数据的新人都会这么做。然后她起身,去茶水间接水。 走廊里贴着星耀集团的宣传海报:大数据赋能未来、人工智能改变生活、创新驱动增长……每一张海报都光鲜亮丽,每一句口号都充满希望。路容走过这些海报,走进茶水间。 咖啡机的蒸汽喷发声、微波炉的叮咚声、同事闲聊的笑声。空气里弥漫着咖啡豆的焦香和微波炉加热食物的油腻气味。路容接了一杯热水,靠在吧台边,小口啜饮。 “新来的?” 一个女声在旁边响起。路容转头,看见一个和她年纪相仿的女生,手里端着马克杯,笑容友善。 “嗯,昨天刚入职。”路容回答,声音里的沙哑恰到好处。 “我是林晓,也是新人,比你早来一周。”女生伸出手,“数据分析二组的。” 路容和她握手。林晓的手温暖干燥,握力适中。 “若溪,一组。”路容说。 “王总监手下啊。”林晓眨眨眼,压低声音,“她挺严格的,你加油。” 路容笑了笑,没说话。 “对了,你接到那个测试数据的任务了吗?”林晓问,“边缘计算项目的?” 路容点头。 “我也接到了,不过我是另一批数据。”林晓撇撇嘴,“听说李总会亲自看新人的报告,压力好大。” 路容握着杯子的手指收紧了一瞬。 “李总……很关注新人吗?”她问,语气尽量随意。 “据说每年都会挑几个有潜力的重点培养。”林晓凑近了些,“王总监是李总的人,她推荐的,李总一般都会给机会。所以啊,这次任务很重要。” 路容垂下眼睑,盯着杯子里晃动的水面。 机会。 是啊,机会。接近李剑的机会。获取证据的机会。复仇的机会。 也是暴露的机会。万劫不复的机会。 “谢谢提醒。”她抬起头,对林晓露出一个感激的微笑。 回到工位,路容重新投入工作。 那七行带有`#k3-7a-82`标记的数据,她单独提取出来,放在一个新建的文本文件里。她没有删除它们——删除太刻意了,一个新人不会注意到这么隐蔽的异常。但她也不能完全无视——无视更可疑,因为李剑可能就在等着看她是否认得这个标记。 她需要一种中间状态。 一种“注意到了,但没完全理解其意义”的状态。 下午两点,数据清洗全部完成。清洗后的文件整洁规整,缺失值被合理填充,异常值被修正或剔除,时间戳统一格式,字段命名规范。路容检查了一遍,确认没有留下任何属于“路容”的痕迹——没有她惯用的特殊算法,没有她独创的清洗逻辑,一切都符合一个合格新人的水平。 然后开始写分析报告。 她打开模板,填写项目名称、日期、执行人。在“数据概况”部分,她描述了数据来源、规模、质量评估。在“清洗过程”部分,她详细列出了每一步操作和理由,故意加入了几处略显冗余的解释,让整部分看起来像是新人在努力证明自己的严谨。 接着是“趋势分析”。 她调用清洗后的数据,生成折线图、柱状图、散点图。流量监控显示周期性波动,节点延迟在可接受范围内,资源占用率存在优化空间……这些都是边缘计算项目的典型特征,没有惊喜,也没有意外。 报告写到最后一节:“潜在风险与建议”。 路容的手指悬在键盘上方。 窗外的阳光已经西斜,从二十七楼看出去,深港市的楼宇被镀上一层金红色的光晕。远处,江面上货轮缓缓驶过,拉出长长的白色尾迹。这个城市依旧在运转,高效、冷漠、不为任何人的命运停留。 她开始打字。 “在数据清洗过程中,发现少量格式异常日志(共7行),混杂在系统日志文件中。异常特征包括:时间戳格式不统一(yyyy-mm-ddhh:mm:ss.fff)、字段分隔符为竖线而非逗号、内容字段为十六进制字符串。此外,每行日志末尾均带有相同标记:#k3-7a-82。” 写到这里,她停顿了一下。 心脏又开始加速。她深呼吸,继续。 “经查询,该标记并非星云项目组标准标记,亦未在集团内部编码规范中找到对应说明。虽然数量极少,且可能仅为测试残留或误导入数据,但建议核查其来源,以防潜在的数据污染或安全漏洞。具体建议:1.确认该标记的归属及含义;2.检查数据导入流程是否存在漏洞;3.如确认为无关数据,建议建立更严格的过滤机制。” 她反复读了三遍。 语气足够谨慎,用词足够生涩,逻辑足够“新手”——注意到了异常,但没意识到异常可能意味着什么;提出了建议,但建议都是常规的安全措施;整段话看起来就像一个过度认真的新人在展示自己的细心。 完美。 她点击保存,将报告导出为pdf,附上清洗后的数据文件,打包发送到王丽的邮箱。 发送时间:下午四点四十七分。 距离下班还有十三分钟。 路容靠在椅背上,闭上眼睛。疲惫像潮水一样涌上来,从四肢百骸渗透进骨髓。她维持了一整天的伪装,面对了一整天的数据,压抑了一整天的情绪。现在,暂时结束了。 办公区里,有人开始收拾东西,有人还在加班。键盘敲击声稀疏下来,取而代之的是拉链声、关抽屉声、低声的“明天见”。路容没有动。她需要等,等王丽的回复,或者,等别的什么。 五点整,下班铃声响了。 是一段轻柔的钢琴曲,在办公区的广播里流淌。同事们陆续起身离开,脚步声、交谈声、电梯到达的叮咚声。路容依旧坐着,看着电脑屏幕。邮箱里没有新邮件,聊天软件没有新消息。 王丽没有回复。 也许不会回复了。也许这份报告会石沉大海,也许李剑根本不会看,也许那个标记真的只是巧合。 路容开始收拾东西。她把u盘拔出来,放进包里。关掉电脑,屏幕暗下去,映出她疲惫的脸。她站起身,拿起外套,准备离开。 就在这时,桌上的座机响了。 刺耳的铃声划破办公区的寂静。路容的身体僵住了。她盯着那部黑色的电话机,看着它随着铃声微微震动。一下,两下,三下。 她伸出手,手指在触碰到听筒的瞬间,微微颤抖。 她拿起听筒,放到耳边。 “喂?” “若溪是吗?”电话那头传来一个低沉的男声,声音平稳,带着某种惯常的权威感,“我是李剑。” 路容的呼吸停滞了。 “你的报告我看了。”李剑说,语气听不出情绪,“来我办公室一趟,谈谈你的报告。” 电话挂断。 忙音响起,单调而持续。路容握着听筒,指关节因为用力而发白。窗外的夕阳正沉入江面,最后的光线透过玻璃,将她的影子拉得很长,很长。 她缓缓放下听筒。 金属撞击塑料底座,发出清脆的“咔哒”声。 然后她转过身,看向落地窗外。三十八楼就在头顶,十一层楼的距离,垂直向上。那里有一间办公室,有一个男人,有一场等待了三年的对话。 路容抬起手,扶了扶鼻梁上的黑框眼镜。 镜片后的眼睛,冰冷而清晰。 她走向电梯间,按下上行键。 第3章:深渊的凝视 第3章:深渊的凝视(第1/2页) 电梯门缓缓关闭,镜面墙壁映出路容苍白的脸。数字开始跳动:27、28、29……每上升一层,空气就凝重一分。她盯着不断变化的数字,手指无意识地摩挲着包带。三十八楼。那个男人就在那里等着。三年前他毁掉她的人生时,也是在这样的办公室里,用同样平静的声音宣判她的“罪行”。路容深吸一口气,调整了一下颈部的变声器。金属贴片微微发烫,像一块烙铁。电梯到达的叮咚声响起,门开了。一条铺着深灰色地毯的走廊延伸出去,尽头是两扇厚重的胡桃木门。秘书台后的女人抬起头,露出职业化的微笑:“若溪小姐?李总在等您。” 路容点点头,喉咙发紧。她跟着秘书走向那扇门,高跟鞋踩在地毯上,发出沉闷的噗噗声。走廊两侧挂着抽象画,冷色调的几何图形在射灯下泛着金属光泽。空气里有淡淡的雪松香薰味,混合着纸张和皮革的气息——这是权力的味道,昂贵、冰冷、不容置疑。 秘书轻轻敲了门,里面传来一声“进来”。 门开了。 路容走进去的瞬间,视野骤然开阔。这是一间至少八十平米的办公室,整面墙的落地窗外,深港市的天际线在傍晚的余晖中铺展开来。江对岸的摩天大楼亮起了点点灯光,像散落在灰色绒布上的碎钻。办公室中央,一个男人背对着门口,站在窗前。 他穿着深灰色西装,肩线笔挺,身形比三年前更显精干。双手背在身后,姿态从容,仿佛整个城市都在他的俯瞰之下。 门在身后轻轻合拢。 路容站在原地,距离他大约三米。这个距离,她能看清他后颈修剪整齐的发际线,能闻到他身上传来的、某种熟悉的古龙水味道——三年前,就是这个味道,在她被保安带走时,从她身边擦肩而过。 她的心脏开始剧烈跳动,血液冲上耳膜,发出轰鸣。手指在身侧蜷缩起来,指甲陷进掌心。疼痛让她清醒。她不能抖,不能失声,不能露出任何破绽。她是若溪,一个刚入职的新人,一个对副总裁心怀敬畏的普通员工。 “李总。”她开口,声音经过变声器处理后,带着恰到好处的紧张和恭敬,“我是数据分析部的若溪。” 窗前的身影没有动。 几秒钟的沉默,长得像一个世纪。路容能听见自己呼吸的声音,能感觉到汗水顺着脊柱滑落。窗外的天空正在由橙红转为深蓝,云层边缘镶着一道金边。 然后,李剑缓缓转过身。 路容看到了他的脸。 三年时间在他脸上留下了痕迹——眼角多了细纹,法令纹更深了些,但那双眼睛依旧锐利,像鹰隼锁定猎物时的眼神。他的头发梳得一丝不苟,露出饱满的额头。嘴角挂着温和的笑意,但那笑意没有抵达眼底。 “若溪。”他念出这个名字,声音低沉平稳,“坐。” 他指了指办公桌对面的椅子。那是一张黑色皮质扶手椅,看起来柔软舒适,但路容知道,坐上去就意味着进入他的审视范围。 她走过去,坐下。皮质座椅冰凉,透过薄薄的西装裤面料渗进来。她把包放在膝上,双手交叠,姿态拘谨。 李剑没有立刻回到办公桌后。他踱步到一旁的酒柜前,取出一只水晶杯,倒了小半杯琥珀色的液体。冰块碰撞杯壁的声音清脆刺耳。他端着酒杯,走到办公桌后坐下,目光始终落在路容脸上。 “你的报告我看了。”他抿了一口酒,放下杯子,“关于测试数据中异常加密标记的那段分析。” 路容的心脏猛地一缩。 “是。”她努力让声音保持平稳,“我……我在清洗数据时,发现有几个字段的加密格式和整体数据不匹配。标记是`#k3-7a-82`,这种格式我在一些公开的安全漏洞案例里见过,所以觉得可能需要关注。” 她说话时,眼睛看着李剑的鼻梁——这是她训练过的技巧,既显得尊重,又不会因为直视对方眼睛而暴露太多情绪。李剑的手指在桌面上轻轻敲击,节奏均匀,像在打拍子。 “公开案例?”他重复道,“具体是哪些案例?” 路容早有准备。她报出了三个最近两年在安全论坛上讨论过的数据泄露事件,其中两个涉及金融行业,一个涉及医疗数据。她刻意把语速放慢,加入了一些不确定的修饰词:“好像是在‘安全之家’论坛上看到的……具体时间记不太清了,但格式确实很像。” 李剑静静地听着,脸上没有任何表情。等她说完了,他才开口:“你入职才两天,就能从一堆测试数据里发现这种细节。很敏锐。” 这句话听起来像是夸奖,但路容听出了其中的试探。 “我只是比较仔细。”她低下头,做出谦虚的姿态,“而且王总监交代的任务,我不敢马虎。” “王丽。”李剑念出这个名字,语气里有一丝难以察觉的玩味,“她确实擅长挖掘新人潜力。” 他身体前倾,双手交叠放在桌面上。这个动作拉近了两人的距离,路容能更清楚地看到他眼中的神色——那是一种审视,一种评估,一种猎人在判断猎物价值时的冷静计算。 “不过,”李剑话锋一转,“我更感兴趣的是,你这种‘敏锐’是从哪里培养出来的。” 他拿起桌上的一份文件。路容瞥见那是她的简历打印件,右上角贴着她的证件照——那张经过精心修饰、与她本人有七分相似的照片。 “你的简历上写着,过去一年半是‘自由职业期’。”李剑翻看着纸页,纸张摩擦发出沙沙声,“具体做了什么项目?接触过哪些类型的数据?” 空气凝固了。 路容感觉到后背的衬衫开始被汗水浸湿,黏在皮肤上。她伪造的简历里,这段经历写得非常模糊,只说是“为多家中小型企业提供数据咨询服务”,没有具体公司名称,没有项目细节。这是她故意留下的破绽——太完美的简历反而可疑,适当的模糊更能让人接受。 但现在,李剑抓住了这个破绽。 “主要是……一些本地的小公司。”她开始编造,语速控制得恰到好处,“比如‘晨光商贸’,他们需要做销售数据的趋势分析;还有‘深港物流园’的一个分包商,我帮他们优化过运输路线的数据模型……” 她说出这些名字时,心脏在胸腔里狂跳。这些公司都是真实存在的,规模很小,不太可能和星耀集团有交集。她花了整整一周时间研究深港市的中小企业名录,背下了几十家公司的基本信息和业务范围。 李剑听着,手指依旧在桌面上敲击。咚、咚、咚。每一声都像敲在路容的神经上。 “这些项目,有合同吗?有成果报告吗?”他问,声音很轻,但每个字都带着重量。 “有的。”路容点头,“但都是短期合作,合同很简单。成果报告……我电脑里有一些备份,如果需要的话——” “不用。”李剑打断她,身体向后靠进椅背,“我只是好奇,以你的能力,为什么选择去服务这些小公司,而不是找一份稳定的工作。” 他盯着她,眼神像手术刀一样锋利。 (本章未完,请点击下一页继续阅读)第3章:深渊的凝视(第2/2页) “毕竟,你毕业于深港理工大学,专业是数据科学,成绩单很漂亮。”他翻到简历的第二页,“毕业后的第一份工作在天启科技,只做了八个月就离职了。然后就是一年半的自由职业期,接着空窗了三个月,现在来到星耀。” 他把简历放下,双手交叉放在胸前。 “这个轨迹,不太寻常。” 路容的喉咙发干。她能感觉到变声器贴片下的皮肤在发烫,呼吸开始变得困难。应激障碍的症状正在浮现——胸口发紧,四肢末端开始发麻,视野边缘出现细微的颤动。 不能失控。她对自己说。绝对不能。 “天启科技……”她开口,声音比刚才更哑了一些,“当时公司内部有些调整,我所在的部门被合并了。我觉得发展空间有限,就选择了离职。” 这是她精心准备的说辞。三年前天启科技确实经历过一次大规模重组,多个部门合并裁员,这个理由合情合理。 “至于自由职业,”她继续说,努力让声音平稳,“我是想多接触不同类型的项目,积累经验。小公司的数据问题往往更复杂,更锻炼人。” 她说完,办公室里陷入沉默。 李剑没有说话,只是看着她。他的目光从她的脸移到她的手,再移到她微微颤抖的膝盖——路容立刻用力压住大腿,止住了颤抖。窗外的天色又暗了一些,办公室里的灯光自动调亮,暖黄色的光线从天花板洒下来,在李剑脸上投下淡淡的阴影。 时间一分一秒过去。 路容能听见自己心跳的声音,能感觉到汗水从额角滑落,沿着太阳穴流到下颌。她不敢擦,只能维持着僵硬的坐姿。李剑的审视像无形的压力,笼罩着整个空间。 终于,他动了。 他伸手拿起酒杯,又抿了一口。琥珀色的液体在杯中晃动,折射出细碎的光。 “很合理的解释。”他说,语气听不出情绪,“不过,我这个人有个习惯——喜欢把事情弄清楚。” 他放下酒杯,身体再次前倾。 “你报告里提到的那个加密标记,`#k3-7a-82`。”他缓缓地说,“你确定只是在公开案例里见过?” 路容的呼吸停滞了。 “我……确定。”她强迫自己回答,“格式很特别,所以有印象。” “是吗。”李剑的手指在桌面上画了一个圈,“那你知道这个标记最早出现在什么时候吗?” 路容的血液瞬间冰凉。 她当然知道。三年前,天启科技“泄密案”的所谓证据里,就出现了这个标记。李剑当时在内部会议上展示过截图,声称这是路容与外部分享数据时使用的加密标识。 但她不能说。若溪不可能知道。 “不清楚。”她摇头,“应该是……近几年出现的吧?” 李剑盯着她,看了很久。然后,他忽然笑了。 那是一个温和的、长辈式的笑容,眼角堆起细纹,看起来亲切又包容。 “不用紧张。”他说,“我只是随口问问。你能注意到这种细节,说明你很适合做数据安全相关的工作。星耀现在正需要这样的人才。” 他站起身,走到窗边,背对着路容。 “下周开始,你会被调到‘深蓝计划’的预研小组。”他看着窗外的城市灯火,“那是公司未来的核心项目,涉及大量敏感数据。王丽会给你安排具体任务。” 路容的心脏猛地一跳。深蓝计划——这就是周哲之前提到的、李剑亲自抓的项目。进入这个小组,意味着她将接触到星耀最核心的数据,也意味着离李剑的非法交易更近一步。 机会来了。但风险也成倍增加。 “谢谢李总信任。”她站起身,声音里带着恰到好处的激动,“我一定努力。” 李剑没有回头,只是摆了摆手。 “去吧。好好干。” 路容拿起包,转身走向门口。她的脚步很稳,背挺得很直,但只有她自己知道,膝盖在发软,手心全是冷汗。还有三步就到门口了,两步,一步—— 她的手握上门把。 就在这时,李剑的声音从身后传来,平静得像在谈论天气: “对了,若溪。” 路容僵住了。 “你说话的声音,”李剑慢慢地说,“有点特别。是感冒了吗?” 时间静止了。 路容感觉到颈部的变声器贴片像烧红的铁块一样烫。她的喉咙发紧,呼吸变得困难。应激障碍的症状全面爆发——视野开始模糊,耳鸣尖锐,四肢不受控制地颤抖。 她必须回答。必须立刻回答。 “是……有点。”她强迫自己开口,声音因为紧张而更加干涩,“最近换季,喉咙不太舒服。” “多喝热水。”李剑说,语气依旧温和,“身体是革命的本钱。” “谢谢李总关心。” 路容拧开门把,拉开门。走廊的光线涌进来,她一步踏出去,反手关上门。 门合拢的瞬间,她靠在墙上,大口喘气。冷汗浸透了衬衫,黏在背上。视野里的黑斑慢慢消退,耳鸣逐渐平息。她抬手扶住墙壁,指尖冰凉。 就在这时,走廊另一端传来脚步声。 路容抬起头,看见一个穿着浅蓝色衬衫的男人正朝这边走来。他大约三十岁,身形挺拔,戴着一副无框眼镜,手里拿着一份文件夹。他的步伐很快,但很稳,目光直视前方,神情专注。 两人的视线在空中交汇。 那一瞬间,路容看见他眼中闪过一丝疑惑——也许是因为她苍白的脸色,也许是因为她靠在墙上的狼狈姿态。但很快,那疑惑就消失了,取而代之的是礼貌的询问。 “你没事吧?”他问,声音温和,带着关切。 路容立刻站直身体,整理了一下衣襟。 “没事。”她说,努力让声音恢复正常,“只是有点头晕。” 男人点点头,目光落在她胸前的工牌上。 “数据分析部的若溪?”他念出名字,然后笑了,“我是技术部的周哲。李总在里面吗?” “在。”路容说,侧身让开路。 周哲道了声谢,抬手敲了敲办公室的门。在等待回应的时候,他转过头,又看了路容一眼。 “你脸色真的不太好。”他说,“要不要去休息室坐一下?” 路容摇摇头:“不用了,谢谢。” 门内传来李剑的“进来”。周哲推门进去,在门即将关上的瞬间,路容瞥见了他手中文件夹封面上的字样: 深蓝计划-预研阶段技术评估报告。 门关上了。 走廊里只剩下路容一个人。她站在原地,听着自己逐渐平复的心跳,感受着冷汗慢慢变干带来的凉意。窗外,深港市的灯火已经完全亮起,江面上倒映着斑斓的光影。 她转过身,走向电梯间。 每一步,都像踩在刚刚冷却的灰烬上。 第4章:意外的援手 第4章:意外的援手(第1/2页) 路容坐在工位上,盯着电脑屏幕上的数据表格,视线却无法聚焦。 办公室里的白炽灯发出嗡嗡的电流声,空调出风口吹出的冷风拂过她的后颈。她下意识抬手摸了摸变声器贴片的位置——皮肤上的红印已经消退,但那种灼烧感还残留在记忆里。李剑最后那句话像一根刺,扎在她喉咙深处。 “你说话的声音,有点特别。” 他注意到了。 路容闭上眼睛,强迫自己深呼吸。空气里有咖啡的焦苦味、打印机墨粉的化学气味,还有同事们身上混杂的香水味。这些熟悉的气味本该让她感到安全,此刻却像一张无形的网,将她困在原地。 她不能慌。变声器经过特殊处理,模拟的是轻微感冒时的沙哑音色,理论上没有破绽。但李剑的多疑是出了名的,任何细微的异常都可能成为他怀疑的种子。 “若溪?” 路容猛地睁开眼。 林晓站在她工位旁,手里端着马克杯,脸上带着好奇的表情:“你刚才去三十八楼了?见到李总了?” “嗯。”路容简短地回答,手指在键盘上敲了几下,假装在工作。 “哇,厉害啊。”林晓压低声音,“听说李总特别严格,上次市场部的小王去汇报,被问得当场哭出来了。你怎么样?” 路容感觉到自己的心跳又开始加速。她端起桌上的水杯,喝了一口。温水滑过喉咙,稍微缓解了那种紧绷感。 “还好。”她说,“就是问了问报告的事。” “那就好。”林晓松了口气似的,“对了,王总监刚才找你,让你去她办公室一趟。” 路容的手指僵住了。 又是办公室。 她站起身,膝盖有些发软。从工位到总监办公室只有二十米距离,她却觉得像要走完整个马拉松。走廊两侧的玻璃隔断映出她苍白的脸,黑色镜框后的眼睛布满血丝。 王丽的办公室门虚掩着。 路容敲了敲门。 “进来。” 推开门,王丽正坐在办公桌后,手里拿着一份文件。她今天穿了件深红色的西装外套,衬得脸色更加冷峻。办公室里的光线很暗,百叶窗半拉着,只有桌上一盏台灯照亮她面前的一小片区域。 “坐。”王丽头也不抬地说。 路容在办公桌对面的椅子上坐下。椅子是真皮的,坐下去时会发出轻微的挤压声。她能闻到王丽身上浓烈的香水味——某种混合了檀木和麝香的昂贵品牌,像一层无形的屏障,将两人隔开。 “李总刚才给我打了电话。”王丽终于放下文件,抬起头。她的目光像手术刀一样锐利,“他说你报告写得不错,想调你去‘深蓝计划’预研小组。” 路容的心脏漏跳了一拍。 “深蓝计划”——周哲手里那份文件上的名字。她终于要接触到核心了。 “这是好事。”王丽继续说,但语气里听不出任何祝贺的意思,“不过我得提醒你,那个项目是李总亲自抓的,压力非常大。之前调过去的几个人,最短的只待了两周就申请调离。” 她身体前倾,双手交叠放在桌面上。台灯的光从下方照上来,在她脸上投出诡异的阴影。 “你简历上那段时间的空档期,”王丽慢慢地说,“李总好像挺在意的。他让我再跟你确认一下,那两年你到底在做什么项目?自由职业也得有个具体方向吧?” 空气凝固了。 路容感觉到汗水从额角渗出。办公室里的空调温度很低,但她后背的衬衫已经湿了一片。王丽的眼睛死死盯着她,等待一个答案。 她必须回答。必须立刻给出一个听起来合理的解释。 “主要是……”路容开口,声音因为紧张而更加干涩,“是一些中小企业的数据系统优化项目,比较零散,所以……” “具体是哪些企业?”王丽打断她,“有合同吗?有项目成果吗?” 路容的喉咙像被什么东西堵住了。她张了张嘴,却发不出声音。应激障碍的症状开始浮现——视野边缘出现黑斑,耳鸣声由远及近。三年前那个场景又回来了:会议室里,所有人盯着她,李剑用平静的声音宣读那些伪造的证据…… “王总监。” 一个温和的男声从门口传来。 路容和王丽同时转过头。 周哲站在门口,手里拿着一个平板电脑。他穿着浅蓝色的衬衫,袖子挽到手肘,露出线条清晰的小臂。走廊的光从他身后照进来,在他周身勾勒出一圈淡淡的光晕。 “抱歉打扰。”周哲走进来,朝王丽点点头,“李总让我来找若溪。‘深蓝计划’有个技术节点需要紧急处理,我们组的人手不够。” 王丽皱了皱眉:“现在?我正问她——” “对,现在。”周哲的语气很礼貌,但不容置疑,“李总说这个节点关系到下周的演示,必须今天解决。”他转向路容,露出一个歉意的笑容,“王总监说你数据处理很快,我们组正好缺人帮忙核对一批接口日志。李总,能借调若溪半天吗?” 最后这句话,他是对着王丽身后说的。 路容这才注意到,王丽电脑屏幕上正显示着视频通话界面——李剑的脸出现在画面里。他坐在三十八楼的办公室里,背景是那面巨大的落地窗。光线从他身后照过来,让他的脸处于半明半暗之中。 视频里的李剑沉吟了片刻。 那几秒钟的沉默,路容能听见自己血液流动的声音。空调出风口的风吹过她的后颈,带起一阵寒意。她盯着屏幕上李剑的脸,看见他手指无意识地敲击着桌面——这是他在思考时的习惯动作,三年前她见过无数次。 “可以。”李剑终于开口,声音透过扬声器传出来,带着轻微的电流杂音,“王总监,你那边的问题晚点再问。先让若溪去技术部。” 王丽的脸色变了变,但很快恢复平静:“好的,李总。” 视频通话断开。 办公室里的空气重新开始流动。 “走吧。”周哲对路容说,侧身让开路。 路容站起身,膝盖还在发软。她跟着周哲走出王丽的办公室,穿过数据分析部的开放办公区。同事们投来好奇的目光,窃窃私语像蚊蝇一样在耳边嗡嗡作响。 走进电梯,周哲按下二十五楼的按钮。 电梯门合拢,狭小的空间里只剩下他们两个人。镜面墙壁映出两人的身影——周哲站得笔直,目光平静地看着楼层数字;路容则微微低着头,双手紧紧抓着背包带子。 “谢谢。”她低声说。 周哲转过头,看了她一眼。 “不用谢。”他说,“那个技术节点确实需要人手。”顿了顿,他又补充道,“不过王总监问话的方式……确实有点咄咄逼人。” 电梯开始下降。 失重感让路容的胃部一阵翻搅。她靠在电梯壁上,闭上眼睛。刚才在王丽办公室里的那种窒息感还没有完全消退,喉咙里像堵着一团棉花。 “李总问话喜欢挖细节。”周哲突然说,声音压得很低,只有他们两人能听见,“下次被问到履历,准备点具体的项目名称,哪怕是小项目。比如‘某某公司crm系统数据清洗’、‘某某平台用户行为分析模型优化’之类的。有名字,听起来就真实多了。” 路容猛地睁开眼睛。 电梯里的光线很亮,白炽灯照在周哲脸上。他的表情很平静,就像在说一件再普通不过的工作建议。但路容的心脏却像被什么东西狠狠撞了一下。 他在帮她。 这个认知让她既感到温暖,又涌起一阵强烈的愧疚。周哲的善意是真诚的——他以为她只是一个刚入职、不擅长应对高层盘问的新人。他不知道,他此刻的帮助对象,是一个用假身份潜入公司、准备扳倒他上司的复仇者。 “叮——” 电梯到达二十五楼。 门开了,一股完全不同的气息扑面而来。 如果说数据分析部的空气是纸张、咖啡和香水混合的精致味道,那么技术部的空气就是代码、电路板和汗水交织的粗粝气息。开放办公区里摆满了双屏甚至三屏的显示器,蓝色的代码在黑色背景上滚动。键盘敲击声此起彼伏,像一场永不停歇的雨。 空气里有种微妙的臭氧味——那是大量电子设备运行时产生的气味。还有泡面的味道、能量饮料的甜腻味,以及长时间未通风的、略显浑浊的人体气息。 (本章未完,请点击下一页继续阅读)第4章:意外的援手(第2/2页) “这边。”周哲领着路容穿过一排排工位。 技术部的人看起来和数据分析部完全不同。这里几乎没人穿正装,大多是t恤、卫衣、牛仔裤。有人戴着巨大的降噪耳机,完全沉浸在自己的世界里;有人一边啃着面包一边盯着屏幕,手指在键盘上飞舞。 周哲的工位在靠窗的位置。 这里相对安静一些,窗外能看到深港市的老城区——低矮的楼房、错综复杂的街巷,与江对岸的摩天大楼形成鲜明对比。工位上摆着三台显示器,其中一台显示着复杂的系统架构图,另一台是密密麻麻的日志文件,第三台则是一个实时监控仪表盘。 “坐。”周哲从旁边拖来一把椅子。 路容坐下,目光立刻被屏幕上的内容吸引。 那是“深蓝计划”的接口日志文件。 成千上万行数据在屏幕上滚动,每一行都记录着某个时间点、某个接口的调用情况。时间戳、接口id、请求参数、响应状态、耗时……这些看似枯燥的数据,在路容眼中却像一幅缓缓展开的地图。 她看到了熟悉的加密标记。 虽然只是边缘日志,虽然这些接口看起来都是外围服务,但那些隐藏在参数中的、经过编码的字符串,与她三年前在天启科技见过的模式如出一辙。 `#k3-7a-82`的变体。 路容的手指微微颤抖。她强迫自己冷静下来,从背包里拿出自己的笔记本电脑。开机,连接公司内网,登录工作账号。一系列动作流畅自然,就像她真的只是一个来帮忙核对日志的普通员工。 “需要核对的在这。”周哲俯身过来,指了指其中一台显示器上的一个文件夹。 他的手臂擦过路容的肩膀。路容闻到他身上淡淡的洗衣液味道——某种清爽的草本香气,与办公室里那些浓烈的古龙水截然不同。这个味道让她有一瞬间的恍惚,仿佛回到了三年前,她还是路容的时候,在技术部通宵加班,周围都是这样简单干净的气息。 “这些日志是过去一周的。”周哲的声音把她拉回现实,“需要核对每个接口的调用频率是否在正常范围内,异常响应有没有触发告警,还有……”他顿了顿,“有没有任何看起来像是伪装成正常请求的异常数据包。” 路容抬起头:“异常数据包?” “嗯。”周哲的表情变得严肃,“‘深蓝计划’涉及的用户数据量很大,而且有些数据……比较敏感。李总特别强调过数据安全,要求我们定期排查有没有外部渗透的痕迹。” 路容的心沉了下去。 李剑在防范。他不仅在进行非法数据交易,还在小心翼翼地掩盖痕迹。这些日志核查,表面上是技术巡检,实际上是在清除可能暴露他的证据。 “明白了。”路容说,声音平静得连她自己都感到惊讶。 她开始工作。 手指在键盘上飞舞,眼睛快速扫过一行行日志数据。这是她最擅长的领域——在海量数据中寻找模式,发现异常,还原真相。三年前,她就是凭借这种能力成为天启科技最耀眼的新星;三年后,这种能力成了她复仇的唯一武器。 时间一分一秒过去。 办公室里的光线逐渐变化。窗外的天空从明亮的蓝色转为温暖的橙黄,又慢慢沉入深蓝。霓虹灯亮起,老城区的街巷里亮起星星点点的灯火。 周哲偶尔会过来看一眼进度,大多数时间都在自己的工位上忙碌。他接了几个电话,语气时而温和时而严厉,但始终保持着专业和冷静。路容偷偷观察他——他工作时的样子很专注,眉头微蹙,手指无意识地敲击桌面。这个习惯和李剑很像,但给人的感觉完全不同。 李剑的敲击声是权力的节奏,是压迫的前奏;周哲的敲击声,更像是思考时的伴奏。 “差不多了。”路容终于开口,声音因为长时间不说话而有些沙哑。 周哲转过头:“怎么样?” “核对完了。”路容指着屏幕上的总结报告,“过去一周共有三百二十万次接口调用,其中异常响应四千七百次,都在正常波动范围内。没有发现明显的异常数据包模式。” 她停顿了一下,补充道:“不过有个细节——每天凌晨三点到四点之间,接口调用频率会有一个小幅度的异常峰值。虽然每次峰值都不大,但连续七天都在同一时间段出现,有点奇怪。” 周哲的眉头皱了起来。 他走过来,俯身看向屏幕。路容能感觉到他呼吸的热气拂过她的耳畔。这个距离太近了,近得她能看清他睫毛的弧度,能闻到他身上那股干净的草本香气里,混合了一丝淡淡的咖啡味。 “凌晨三点……”周哲喃喃自语,“这个时间段理论上应该是调用低谷。” “是的。”路容说,“我检查了那些调用的接口id,都是正常的用户行为数据收集接口。参数看起来也没问题。但就是……太规律了。” 周哲直起身,揉了揉太阳穴。 “邪门。”他低声说,更像是在自言自语,“最近系统总在凌晨有点小波动,老吴查了几次都说硬件没问题。我本来以为是偶然现象,现在看来……” 他没有说完。 但路容已经记下了两个关键词。 老吴。 凌晨系统波动。 她的心跳开始加速。这是一种猎手发现猎物踪迹时的本能反应——那个加密标记`#k3-7a-82`,那些凌晨的异常调用,还有周哲口中“查了几次都说硬件没问题”的老吴……这些碎片开始在她脑海中拼凑。 “老吴是?”她假装随意地问。 “it部的老员工,吴建国。”周哲说,“在公司待了十几年了,技术很厉害,就是脾气有点怪,不太合群。李总让他负责核心系统的硬件维护。” 路容点点头,没有再问。 她关闭电脑,开始收拾东西。背包的拉链发出轻微的摩擦声,键盘上的指示灯一个个熄灭。办公室里的灯光已经全部亮起,白炽灯的光线在玻璃隔断上反射出无数个重叠的影子。 “今天辛苦你了。”周哲说,语气真诚,“要不是你帮忙,这些日志我一个人得核对到半夜。” “应该的。”路容站起身,背上背包。 她看向周哲。他站在工位旁,身后的窗外是深港市的夜景——远处江对岸的摩天大楼灯火通明,近处老城区的巷弄里烟火气缭绕。两种截然不同的世界,被一扇玻璃窗隔开,却又奇妙地共存于同一个画面中。 就像她和周哲。 一个是复仇的幽灵,一个是正直的技术骨干。两个本该毫无交集的人,此刻却因为一个危险的计划,站在了同一间办公室里。 “那我先回去了。”路容说。 “好。”周哲点点头,“明天你就正式调来预研小组了,工位我会让人准备好。早上九点,技术部会议室,有个项目启动会。” “我会准时到。” 路容转身走向电梯间。 高跟鞋踩在地板上,发出清脆的响声。技术部还有不少人在加班,键盘敲击声、低声讨论声、咖啡机运作的嗡嗡声……这些声音交织在一起,形成一种奇特的背景音。 她按下电梯按钮。 等待的时候,她透过走廊的玻璃窗看向外面。深港市的夜晚很美,但这种美是冰冷的、有距离的。就像她现在的人生——她站在这里,看着这座城市,却永远无法真正融入其中。她是若溪,一个虚构的身份,一个为了复仇而存在的影子。 电梯门开了。 路容走进去,按下二十七楼的按钮。她需要回数据分析部拿些个人物品,明天就要正式离开那里了。 电梯开始上升。 镜面墙壁里,她看见自己的脸——苍白,疲惫,但眼神里有一种前所未有的坚定。今天发生了太多事:李剑的试探,王丽的盘问,周哲意外的援手,还有那些凌晨的异常日志…… 所有这些,都在告诉她一件事:她的方向是对的。 李剑确实在进行某种不可告人的操作。那些凌晨三点的数据调用,那些硬件“没问题”的系统波动,还有那个负责核心系统维护、却查不出问题的老吴…… 路容的嘴角微微扬起。 那是一个冰冷的、几乎看不见的笑容。 猎物已经露出了尾巴。 现在,她只需要顺着这条尾巴,找到它的巢穴。 第5章:高压下的裂痕 第5章:高压下的裂痕(第1/2页) 电梯到达二十七楼。门开了,数据分析部的灯光涌进来。路容走出电梯,走向自己的工位。办公区里已经空了大半,只有几个加班的人还在埋头工作。她开始收拾桌上的个人物品——那盆小小的多肉植物、一个印着抽象图案的马克杯、几本专业书籍。动作很慢,像是在进行某种告别仪式。当她拿起最后那本书时,一张便签纸从书页间滑落,飘到地上。路容弯腰捡起。便签上是她三天前随手写下的几个字:“保持呼吸,保持清醒。”她盯着那行字看了几秒,然后小心地将便签夹回书里。拉上背包拉链,她最后看了一眼这个坐了不到两周的工位。明天开始,她就是“深蓝计划”预研小组的成员了。离真相更近一步,离危险也更近一步。 手机震动了一下。 是周哲发来的消息:“明天九点,二十五楼技术部会议室,别迟到。李总会出席。” 路容盯着那行字,指尖在屏幕上停留了几秒,才回复:“收到。” 她关掉手机屏幕,镜面反射出自己紧绷的脸。明天就要见到李剑了,在正式的、公开的场合。不再是三十八楼办公室里的单独试探,而是会议室里,众目睽睽之下。她必须表现得完美无瑕,像一个真正的、对过去一无所知的新人。 可她的身体记得。 路容抬起手,看着自己的指尖。它们在微微颤抖,像被无形的电流穿过。三年前那场会议的场景又浮现在眼前——会议室里坐满了人,李剑站在投影幕布前,手里拿着所谓的“证据”,声音冰冷而笃定:“路容泄露了公司核心数据。”台下那些曾经对她微笑、称赞她才华的同事,此刻全都用怀疑、鄙夷、甚至幸灾乐祸的眼神看着她。她想辩解,可喉咙像被什么东西堵住了,发不出声音。她想站起来,可双腿软得像棉花。 那种窒息感,此刻又回来了。 路容深吸一口气,强迫自己把注意力拉回现实。她背上背包,走向电梯。走廊里的感应灯随着她的脚步一盏盏亮起,又在身后一盏盏熄灭,像一条短暂的光之通道,连接着过去和现在。 *** 第二天早晨八点四十分,路容已经坐在二十五楼技术部会议室里。 会议室很大,能容纳三十人。深灰色的地毯吸走了大部分脚步声,墙壁是隔音材料,天花板上的嵌入式灯带发出柔和的白光。长条会议桌中央摆着几盆绿植,叶片油亮,显然是专人精心打理的。空气里有新家具的淡淡气味,混合着咖啡的焦香——会议室角落的咖啡机正在运作,发出咕噜咕噜的声响。 路容选了靠窗的位置坐下。窗外是深港市早晨的天空,灰蓝色的云层低垂,远处江面上有货轮缓缓驶过。她打开笔记本电脑,连接投影仪,检查了一遍昨晚准备好的资料。手指在触控板上滑动,屏幕上的数据图表一张张闪过,每一个数字、每一条曲线她都烂熟于心。 她必须做到完美。 八点五十分,会议室的门被推开。 先进来的是周哲。他今天穿了件浅灰色的衬衫,袖子挽到手肘,手里拿着一个黑色的文件夹。看见路容,他点了点头,嘴角露出一丝温和的笑意:“来得真早。” “怕迟到。”路容说,声音刻意保持平稳。 周哲在她斜对面的位置坐下,打开文件夹,开始整理文件。纸张翻动的声音很轻,但在安静的会议室里格外清晰。陆陆续续有其他人进来——技术部的工程师、产品经理、测试人员,大约十几个人。他们低声交谈着,在会议桌两侧坐下。路容注意到,有几个人的目光在她身上停留了几秒,带着审视和好奇。 九点整,会议室的门再次被推开。 王丽走了进来。 她今天穿了身深蓝色的套装,高跟鞋踩在地毯上发出沉闷的声响。她手里拿着平板电脑,脸上没有任何表情,径直走到会议桌前端的位置坐下。坐下后,她抬起手腕看了眼表,然后环视了一圈会议室。 “人都到齐了?”她的声音不高,但带着一种不容置疑的权威。 周哲点点头:“预研小组核心成员都到了。” “好。”王丽放下平板,“在会议开始前,我先宣布一件事。李剑副总裁今天会旁听我们的周会,并且会随机抽取几位新人做即兴数据分析汇报。” 会议室里的空气瞬间凝固了。 路容感觉到自己的呼吸停滞了一秒。她放在膝盖上的手猛地收紧,指甲陷进掌心。疼痛让她稍微清醒了一些,但心脏还是像被一只无形的手攥住了,跳得又重又乱。 “李总?”一个戴眼镜的年轻工程师小声问,“他不是只参加月度战略会吗?” “所以今天对你们每个人都很重要。”王丽的目光扫过在场所有人,最后在路容脸上停留了一瞬,“李总想看看新人的真实水平。被点到名的人,需要现场分析一组实时数据流,给出初步结论。没有准备时间。” 会议室里响起一阵压抑的吸气声。 路容低下头,假装在看电脑屏幕。她的视线开始模糊,屏幕上的字像水中的倒影一样晃动。她用力眨了眨眼,强迫自己聚焦。不能慌,不能慌。她反复默念着这句话,可身体里的某个部分已经开始失控——那种熟悉的、冰冷的恐惧感正从脊椎底部爬上来,像藤蔓一样缠绕住她的四肢。 九点零五分,会议室的门被推开了。 李剑走了进来。 他今天穿了身藏青色的西装,没有打领带,衬衫最上面的扣子解开了一颗。手里拿着一个黑色的皮质笔记本,步伐稳健,脸上带着那种惯常的、似笑非笑的表情。他一进来,会议室里的温度仿佛都下降了几度。所有人都下意识地坐直了身体,连呼吸都放轻了。 “李总。”王丽站起身。 “坐。”李剑摆摆手,在主位坐下。他把笔记本放在桌上,环视了一圈会议室。他的目光像探照灯一样,缓慢地、仔细地扫过每个人的脸。当他的视线落在路容身上时,路容感觉到自己的血液都凉了。 但他只是看了一眼,就移开了目光。 “开始吧。”李剑说,声音平静,听不出情绪。 周哲站起身,走到投影仪前。他清了清嗓子,开始汇报“深蓝计划”预研阶段的技术架构和进度安排。他的声音很稳,逻辑清晰,投影幕布上出现一张张复杂的系统架构图。路容强迫自己盯着那些图表,试图把注意力集中在技术细节上,可她的耳朵里全是自己心跳的声音——咚咚,咚咚,像擂鼓一样,震得她耳膜发疼。 时间一分一秒地过去。 (本章未完,请点击下一页继续阅读)第5章:高压下的裂痕(第2/2页) 周哲的汇报持续了二十分钟。期间李剑偶尔会打断,问一两个问题,都是关于技术实现的细节。周哲对答如流,会议室里的气氛稍微松弛了一些。但路容知道,真正的考验还没开始。 果然,周哲汇报结束后,李剑合上了笔记本。 “技术架构我了解了。”他说,身体向后靠在椅背上,目光再次扫过会议室,“现在我想看看,实际操作层面,我们的新人水平如何。” 他顿了顿,手指在桌面上轻轻敲了敲。 “王总监,把实时数据流调出来。” 王丽立刻操作平板,几秒钟后,会议室主屏幕上出现了一组动态数据流。那是星耀集团旗下某社交app的实时用户行为数据——每秒都有成千上万条记录在滚动,包括用户点击、停留时长、滑动轨迹、搜索关键词等等。数据像瀑布一样倾泻而下,密密麻麻的数字和代码让人眼花缭乱。 “这是过去五分钟的真实数据。”李剑说,“没有经过任何清洗和预处理。我要三个人,现场分析,给出三个不同维度的洞察。” 他抬起手,手指在空中停顿了一下。 路容屏住了呼吸。 “你。”李剑的手指指向一个坐在路容对面的年轻产品经理,“分析用户点击行为的热点分布。” “你。”手指移向另一个技术部的工程师,“分析搜索关键词的情感倾向。” 然后,他的手指转向了路容。 路容感觉到自己的血液都冲到了头顶。会议室里的灯光变得刺眼,空调出风口吹出的冷风像刀子一样刮过她的皮肤。她能听见自己心脏狂跳的声音,能感觉到掌心渗出的冷汗,能闻到空气里咖啡和纸张混合的气味——所有这些感官信息像潮水一样涌来,几乎要将她淹没。 “你。”李剑的声音很平静,“分析用户滑动轨迹中的异常模式。” 路容张了张嘴,想说什么,可喉咙里只发出一个干涩的气音。她猛地站起身,椅子腿在地毯上摩擦出沉闷的声响。所有人的目光都集中在她身上——好奇的,同情的,幸灾乐祸的。她走到会议室前端,接过王丽递来的无线鼠标。 她的手在抖。 鼠标握在手里,像一块冰。她试图控制手指,可它们僵硬得不听使唤。她点开数据分析软件,导入实时数据流。屏幕上的代码开始滚动,黑色的背景上,绿色的字符像蚂蚁一样爬行。她盯着那些数据,大脑却一片空白。 三年前的场景又回来了。 同样的会议室,同样的目光,同样的窒息感。只不过那时候,李剑手里拿着的是一份伪造的邮件记录,而现在,他坐在台下,用那双冰冷的眼睛看着她,等待着她出错,等待着她暴露。 “开始吧。”李剑说。 路容深吸一口气,强迫自己开口:“用户滑动轨迹的异常模式,可以从几个维度分析……” 她的声音在颤抖。 她自己都听得出来——那种细微的、无法控制的颤音,像琴弦绷得太紧时发出的杂音。她清了清嗓子,试图让声音平稳一些,可越是想控制,颤抖就越明显。她能感觉到变声器贴片下的皮肤在发烫,那种灼烧感让她想起昨天在三十八楼办公室里的场景。 “首先,我们可以计算滑动速度的方差……”她继续说,手指在触控板上滑动,调出一个图表。 图表显示出来了,可她的解释却卡住了。 那些数字,那些曲线,那些她本该烂熟于心的分析逻辑,此刻全都搅成了一团乱麻。她盯着屏幕,嘴唇在动,可发出的声音却断断续续,语无伦次。她能听见自己说:“方差过大可能表示……表示用户可能……可能是……” 是什么? 她不知道。 大脑像被抽空了,只剩下嗡嗡的耳鸣声。台下的目光像针一样扎在她背上,她能感觉到李剑的视线——那种冰冷的、审视的、带着某种深意的视线。他在观察她,观察她的每一个细微反应,观察她声音里的颤抖,观察她手指的僵硬。 “继续。”李剑说,声音里听不出情绪。 路容的呼吸开始变得急促。她试图深呼吸,可空气像是有重量,压得她胸口发疼。她抬起手,想擦一下额头的冷汗,可手指刚碰到皮肤,就发现自己的额头冰凉,全是冷汗。 “我……我需要一点时间……”她听见自己说,声音小得像蚊子。 “现场分析,没有时间。”李剑的声音依然平静,但那种平静里透着一股不容置疑的压力,“如果你做不到,可以换人。” 换人。 这两个字像一把锤子,砸碎了路容最后的防线。 三年前,也是在这样的场合,李剑对她说:“如果你解释不清,那就换人来解释。”然后,他拿出了那些伪造的证据,当着所有人的面,宣判了她的“罪行”。 现在,历史又要重演了吗? 路容感觉到自己的视线开始模糊。屏幕上的数据在晃动,会议室的灯光在晃动,连台下那些人的脸都在晃动。她听见自己的心跳声越来越响,像鼓点一样敲击着她的耳膜。她张开嘴,想说点什么,可喉咙里只发出一些破碎的气音。 “若溪?”周哲的声音从台下传来,带着一丝担忧。 路容转过头,看向他。周哲的脸上写满了困惑和关切,他微微皱起眉,似乎在用眼神询问她是否还好。那眼神很真诚,是真正在关心她的状态。 可正是这份真诚,让路容更加崩溃。 她不该在这里。她不该用谎言接近这样一个真诚的人,不该把他卷入这场危险的复仇。她不该站在这里,假装成一个新人,承受着这些本不该属于她的压力和目光。 她是谁? 她是路容,一个被诬陷、被毁掉一切的人。她是若溪,一个为了复仇而存在的幽灵。可此刻,这两个身份在她体内撕扯,几乎要将她撕裂。 “我……”她开口,声音嘶哑得不像自己的,“我……” 她说不下去了。 猛地,她转过身,撞开了身后的椅子。椅子倒在地上,发出巨大的声响。她没有回头,踉跄着冲向会议室门口。她的手在门把手上滑了一下,才拧开门。走廊里的灯光涌进来,刺得她眼睛发疼。她冲出去,高跟鞋踩在地毯上发出沉闷的声响,像逃命一样。 会议室的门在她身后缓缓关上。 隔绝了那些目光,那些疑问,那些她无法承受的一切。 第6章:急智与转机 第6章:急智与转机(第1/2页) 冷水拍打在脸上的触感是冰冷的,带着消毒水气味的自来水顺着脸颊滑落,滴进洗手池里。路容双手撑在白色陶瓷洗手池边缘,指关节因为用力而泛白。她抬起头,镜子里的人脸色惨白,嘴唇没有血色,眼睛周围有淡淡的红晕——那是刚才强忍泪水留下的痕迹。 洗手间里很安静。 只有水龙头没有拧紧时水滴落下的滴答声,远处排风扇低沉的嗡鸣,还有她自己急促的呼吸声在瓷砖墙面间回荡。空气里有柠檬味清洁剂的味道,混合着洗手液淡淡的薰衣草香气。路容看着镜中的自己,那双眼睛里充满了恐惧——不是对李剑的恐惧,而是对自己失控的恐惧。 她以为她准备好了。 三年时间,她反复练习如何在李剑面前保持平静,如何在高压环境下控制呼吸,如何在听到那个名字时不颤抖。她以为那些创伤已经被时间磨平,被复仇的意志覆盖。可就在刚才,当李剑坐在会议室主位,用那种熟悉的、冰冷的审视目光看着她时,三年前的一切瞬间复活了。 那种窒息感,那种喉咙被扼住的感觉,那种全世界都在旋转的眩晕。 路容闭上眼睛,深深吸了一口气。空气里消毒水的味道刺进鼻腔,让她稍微清醒了一些。她不能在这里倒下。如果现在放弃,那三年的隐忍、伪装、痛苦就全都白费了。她会永远背负着“泄密者”的污名,而李剑会继续逍遥法外,用同样的手段毁掉更多人。 “不能在这里倒下……”她低声重复,声音在空旷的洗手间里显得格外微弱。 她睁开眼睛,再次看向镜子。这一次,她强迫自己把注意力从恐惧转移到回忆上。刚才冲出会议室前,她看到了什么?在那一瞬间的混乱中,她的视线扫过了什么? 周哲的电脑屏幕。 对,周哲坐在她斜对面,他的笔记本电脑屏幕是开着的。在她起身逃离的那一刻,她瞥见了屏幕上的内容——一份技术文档,标题栏写着“深港市智慧交通数据流压缩算法优化方案”。文档里有很多图表和参数,其中有一个参数被标红了,旁边有批注:“非标准校验参数,可能导致特定模式丢失”。 非标准校验参数。 模式丢失。 路容的大脑开始飞速运转。她刚才分析的数据流是实时用户行为数据,来自星耀集团旗下的一款社交应用。如果数据在传输过程中使用了非标准的压缩算法,而那个算法存在校验参数的问题,那么某些特定的用户行为模式就可能因为数据包重组错误而丢失或变形。 这不是她的专业领域,但她懂基本原理。更重要的是,她记得周哲那份文档里的具体参数值——0x7f3a。一个十六进制的校验码,通常用于数据完整性验证。如果这个参数设置不当,确实可能导致特定字节序列的误判。 一个大胆的想法在她脑海中成形。 路容拧紧水龙头,水滴声停止了。她从包里抽出纸巾,仔细擦干脸上的水渍。然后她打开化妆包,用粉底轻轻遮盖眼周的红晕,涂上一点口红。镜子里的人渐渐恢复了“若溪”该有的样子——一个冷静、专业、偶尔会紧张但总体可控的新人数据分析师。 她需要五分钟。 五分钟时间,在脑海里构建完整的解释逻辑。五分钟时间,让心跳恢复正常,让呼吸平稳下来。五分钟时间,说服自己重新走进那个会议室,面对那些目光。 路容靠在冰冷的瓷砖墙上,闭上眼睛。她开始在心里默念: “第一,道歉。为刚才的突发不适道歉,但不要解释具体原因——就说突然头晕,低血糖。” “第二,转移焦点。不要纠缠于刚才的失态,立刻将话题引回数据分析。” “第三,提出技术假设。基于周哲文档里的参数,指出数据流可能存在因非标准压缩算法导致的模式丢失问题。” “第四,请求验证。请周哲确认这个技术点的存在,用他的专业权威为自己的假设背书。” “第五,争取机会。如果假设成立,请求获得完整数据进行深入分析。” 每一步都要清晰,每一步都要坚定。她不能犹豫,不能结巴,不能露出任何破绽。 路容睁开眼睛,看向洗手间门上的时钟。距离她冲出会议室已经过去三分钟。她整理了一下衬衫领口,抚平裙摆上的褶皱,然后深吸一口气,推开了隔间的门。 走廊里的灯光比洗手间明亮得多。 路容沿着来时的路往回走,高跟鞋踩在地毯上发出沉闷的声响。她能听见自己的心跳声,但这一次,心跳是规律的,是有力的。她经过几间办公室,透过玻璃墙能看到里面的人正在工作,没有人注意到她——或者注意到了,但假装没看见。在星耀集团,明哲保身是职场第一法则。 会议室的门就在前方二十米处。 路容在门前停下,手放在门把手上。她能听见门内传来模糊的说话声,是王总监的声音,语气里带着明显的不耐烦。她闭上眼睛,最后默念了一遍计划,然后推开了门。 所有的目光瞬间聚焦在她身上。 会议室里大约有十五个人,此刻全都转过头看向门口。路容能感觉到那些目光的重量——好奇的、疑惑的、讥诮的、审视的。王总监站在投影幕布前,手里拿着激光笔,话说到一半停住了,眉头皱了起来。周哲坐在原来的位置,看到她时明显松了口气,但眼神里依然有担忧。李剑坐在主位,身体微微后仰靠在椅背上,双手交叉放在桌上,脸上没有任何表情,只是看着她。 空气凝固了几秒。 路容走进会议室,轻轻关上门。她走到自己刚才的位置——椅子还倒在地上。她弯腰扶起椅子,动作很慢,很稳,像是在完成一个仪式。然后她坐下,打开笔记本电脑,屏幕亮起,显示的还是刚才那份数据流分析界面。 “抱歉。”她开口,声音比想象中平稳,“刚才突然有点头晕,可能是低血糖。给大家添麻烦了。” 王总监嗤笑了一声,声音不大,但在安静的会议室里格外清晰:“低血糖?若溪,这是公司的重要会议,不是学校课堂。如果你身体不适,应该提前请假。” “是我的失误。”路容抬起头,看向王总监,目光平静,“我会注意的。” 她没有躲避,没有辩解,只是平静地承认。这种态度反而让王总监愣了一下,准备好的后续批评卡在了喉咙里。 李剑的手指在桌面上轻轻敲了敲:“继续吧。王总监,你刚才说到哪里了?” “啊,是。”王总监回过神来,重新拿起激光笔,“我刚才说到,若溪的分析没有得出明确结论,我们需要重新评估这份数据流的价值……” “关于那份数据流,”路容打断了她,声音清晰而坚定,“我有一个新的想法。” 会议室里再次安静下来。 所有人都看向她。王总监的脸色沉了下来,显然对被打断很不满。周哲微微前倾身体,眼神里带着好奇。李剑的手指停止了敲击,目光落在路容脸上,那种审视的、探究的目光又回来了。 路容能感觉到自己的手心在出汗,但她强迫自己保持声音的平稳:“我刚才分析数据流时,注意到异常模式的分布呈现非随机性。具体来说,异常点集中在数据包序列的特定位置,而且间隔呈现规律性。” 她调出刚才的分析图表,用鼠标圈出几个点:“这里,这里,还有这里。间隔都是1024个数据包。这种规律性通常不是用户行为导致的,而是数据处理环节的问题。” 王总监皱眉:“所以呢?这能说明什么?” “结合数据来源——我们使用的是第三方数据服务商提供的实时流,”路容继续说,语速适中,每个字都咬得很清楚,“我查过他们的技术文档,他们使用的数据压缩算法是自研的,不是行业标准算法。而自研算法如果校验参数设置不当,在特定数据包大小下,可能导致重组错误。” 她停顿了一下,看向周哲:“周工,我记得你之前研究过数据流压缩算法优化。如果校验参数是0x7f3a,在1024字节的数据包边界,是不是容易出现特定模式的丢失?” 周哲愣了一下,显然没想到会被点名。他迅速打开自己的电脑,调出那份技术文档,快速浏览了几秒,然后抬起头,眼神里闪过一丝惊讶:“确实。0x7f3a这个校验码在1024字节边界有一个已知的问题,会导致某些特定字节序列被误判为校验错误而被丢弃。” (本章未完,请点击下一页继续阅读)第6章:急智与转机(第2/2页) 他看向投影幕布上的数据流图表,又看了看路容圈出的那些点,眉头渐渐皱起:“等等……如果数据服务商用的就是这个参数,那么你圈出的这些异常点位置,正好对应1024字节数据包的边界。这不太可能是巧合。” 会议室里的气氛变了。 刚才那些讥诮、怀疑的目光,此刻变成了认真和思考。几个技术骨干开始交头接耳,有人拿出手机查资料,有人在笔记本电脑上快速计算。王总监张了张嘴,想说什么,但看了看李剑的脸色,又闭上了嘴。 李剑依然坐在那里,姿势没有变,但路容能感觉到他的注意力完全集中了。那种审视的目光变得更加锐利,像是在解剖她的每一句话,每一个表情。 “所以你的结论是什么?”李剑开口,声音平静,但每个字都带着重量。 “我的初步结论是,”路容迎上他的目光,没有躲避,“我们看到的‘用户行为异常模式’,可能根本不是用户行为问题,而是数据采集和传输环节的技术缺陷导致的假象。如果这个假设成立,那么基于这些数据做出的任何产品决策,都可能存在方向性错误。” 她停顿了一下,补充道:“当然,这只是基于现有信息的假设,需要进一步验证。” 会议室里一片寂静。 只有空调出风口发出的轻微风声,笔记本电脑散热风扇的嗡鸣,还有远处城市交通传来的模糊噪音。路容能闻到咖啡的焦香,能感觉到空调冷风拂过手臂时起的鸡皮疙瘩,能听见自己平稳而有节奏的呼吸声。 李剑沉默了很久。 他的目光在路容脸上停留,然后移到周哲身上,又移回数据图表,最后重新落回路容。那眼神很复杂——有审视,有怀疑,但还有一种路容从未见过的、难以捉摸的东西。 “周哲,”李剑终于开口,“这个技术点,你确定?” 周哲点头:“确定。0x7f3a参数的问题在业内是已知的,但因为它不是标准参数,很多公司不会特别关注。如果数据服务商确实用了这个参数,那么若溪的假设有很高的可能性。” 李剑的手指又在桌面上敲了敲,这次节奏很慢,像是在思考。敲击声在安静的会议室里格外清晰,像倒计时一样。 终于,他看向王总监:“王总监,会后把‘深蓝计划’相关的完整数据权限开放给若溪。包括原始数据流、数据服务商的技术协议、还有我们内部的数据处理日志。” 王总监的脸色变了:“李总,这……这是核心数据,若溪才入职两周……” “正因为她刚入职,没有思维定式,才能看出我们忽略的问题。”李剑打断她,语气不容置疑,“下周的进度会,我要看到她的深入分析报告。如果验证通过,数据服务商那边,你去沟通,要求他们提供技术说明,必要时可以重新谈判合同条款。” 他重新看向路容,眼中审视未消,但嘴角微微勾起一个几乎看不见的弧度:“有点意思。” 那三个字说得很轻,但落在路容耳中,却像重锤一样。 她成功了。 她用急智挽回了一场灾难,用专业知识赢得了继续潜伏的机会,甚至获得了接触更核心数据的权限。这本该是值得庆祝的时刻。 可为什么,她心里没有一点喜悦? 路容低下头,假装整理电脑文件,避开李剑的目光。她能感觉到周哲在看她,眼神里有赞赏,有好奇,还有一丝她不敢深究的关切。她能感觉到王总监的视线像刀子一样扎在她背上,充满了嫉妒和敌意。她能感觉到会议室里其他人复杂的目光——有佩服,有羡慕,也有警惕。 “会议继续。”李剑的声音把她拉回现实,“下一个,周哲,你汇报一下算法模块的进展。” 周哲站起身,走向投影幕布。会议室里的注意力转移了,但路容能感觉到,有些东西已经改变了。 她获得了李剑的“兴趣”。 在星耀集团,被李剑“感兴趣”是双刃剑。可能是晋升的捷径,也可能是深渊的开始。三年前,李剑也对路容“感兴趣”——欣赏她的才华,给她重要项目,然后在她最信任他的时候,亲手毁了她。 现在,历史会重演吗? 路容盯着电脑屏幕,数据图表在眼前晃动,但她什么也看不进去。她想起刚才李剑那个几乎看不见的笑容,想起他说“有点意思”时的语气,想起他眼中那种难以捉摸的神情。 那不是一个上司对下属专业能力的单纯赞赏。 那是一个猎手,发现了值得追踪的猎物时的表情。 空调冷风再次拂过手臂,路容下意识地抱了抱手臂。会议室里的温度似乎降低了几度,或者只是她的错觉。她端起桌上的水杯,喝了一口,水温已经凉了,带着淡淡的氯味。 周哲的汇报声音在会议室里回荡,专业、清晰、有条理。路容强迫自己集中注意力听,记下关键点,但她的思绪总是不由自主地飘向刚才那一刻——李剑沉默时,会议室里那种几乎凝固的气氛;他说“有点意思”时,眼中一闪而过的光芒;还有他吩咐王总监开放数据权限时,那种不容置疑的权威。 她得到了想要的机会。 但也把自己推到了更危险的边缘。 会议在四十分钟后结束。人们陆续起身离开,椅子拖动的声音,低声交谈的声音,笔记本电脑合上的声音。路容慢慢收拾东西,故意拖到最后。她需要时间平复心情,需要思考下一步该怎么走。 “若溪。” 周哲的声音从身后传来。路容转过身,看到他站在会议室门口,没有离开。 “你还好吗?”他问,语气里带着真诚的关心,“刚才真的只是低血糖?” 路容点点头,挤出一个微笑:“嗯,早上没吃早饭。以后会注意的。” 周哲看着她,眼神里有探究,但最终没有追问:“你刚才的分析很精彩。那个参数问题,连我都没第一时间想到。你是怎么注意到的?” “运气吧。”路容轻声说,避开他的目光,“正好瞥见了你电脑上的文档。” “瞥一眼就能记住参数值,还能联想到数据流问题,”周哲笑了笑,“这可不是运气。你是真的很有天赋。” 路容的心脏猛地收紧。 天赋。 三年前,李剑也说过同样的话。他说:“路容,你是我见过最有天赋的数据分析师。”他说这句话时,眼神里满是赞赏,语气里满是信任。然后,他用这份“天赋”作为武器,毁掉了她的一切。 “谢谢。”路容低声说,声音有些干涩。 周哲似乎察觉到了她的异常,但只是说:“李总给了你数据权限,这是很好的机会。但也意味着压力会更大。如果需要帮助,随时找我。” 他说完,转身离开了会议室。 路容站在原地,看着他的背影消失在走廊拐角。阳光从窗户斜照进来,在地毯上投下明亮的光斑。空气中漂浮着细微的尘埃,在光柱里缓缓旋转。她能听见远处电梯到达的叮咚声,能闻到会议室里残留的咖啡香气,能感觉到指尖因为紧张而微微发麻。 她成功了。 但也可能,刚刚踏进了更深的陷阱。 路容背起背包,走出会议室。走廊里的感应灯随着她的脚步一盏盏亮起,像在为她引路,也像在记录她的每一步。她走到电梯间,按下下行按钮,等待电梯从一楼缓缓上升。 电梯门上的数字跳动:1,2,3…… 路容看着那些数字,脑海里回放着刚才会议室的每一个细节。李剑的表情,王总监的敌意,周哲的关心,还有她自己冷静说出那些技术分析时的声音。 那个声音很平稳,很专业,完全不像一个刚刚经历崩溃的人。 那是“若溪”的声音。 不是路容的。 电梯到达,门开了。路容走进去,按下二十七楼的按钮。电梯门缓缓关闭,镜面墙壁里映出她的脸——依然苍白,但眼神已经恢复了冷静,甚至有一丝冰冷。 她看着镜中的自己,轻声说: “游戏开始了。” 第7章:暗流与监视 第7章:暗流与监视(第1/2页) 路容站在电梯里,镜面墙壁映出她苍白的脸和冷静的眼神。电梯缓缓上升,数字跳动到二十七楼。门开了,她走出电梯,走向数据分析部。办公区里已经坐满了人,早晨的阳光透过落地窗洒进来,在工位隔板上投下明亮的光斑。路容走到自己原来的位置,却发现桌上已经空了。她的多肉植物、马克杯、专业书籍都不见了。邻座同事抬起头,指了指角落:“王总监说你的工位调整了,在那边。”路容顺着手指方向看去——那是一个靠墙的位置,正上方有一个明显的监控摄像头,红色指示灯稳定地亮着。而那个工位旁边,坐着一个正在对着镜子补口红的年轻女孩。 空气里有咖啡的焦香和打印机油墨的味道。路容提着背包走向那个角落,脚步很轻,但每一步都踩在地毯上发出细微的沙沙声。她能感觉到周围投来的目光——好奇的、同情的、幸灾乐祸的。那个位置是整个办公区最差的位置,背靠墙壁,左侧是消防通道门,右侧是那个女孩,正上方是摄像头,没有任何隐私可言。 “你就是若溪吧?”女孩放下口红,转过头来。她大概二十三四岁,染着栗色的长发,眼睛很大,妆容精致,穿着当季流行的碎花连衣裙,脖子上挂着工牌——林晓,数据分析部实习生。“王总监让我告诉你,以后你就坐这儿了。她说你昨天表现突出,李总特别重视,所以给你安排个‘安静’的位置,方便你专心研究数据。” 林晓说“安静”两个字时,语气里带着明显的讽刺。她说话声音清脆,语速很快,像一串珠子滚落在地板上。 路容点点头,没有说话。她把背包放在椅子上,开始整理桌面。桌面上有一层薄薄的灰尘,她用纸巾擦拭,纸巾立刻变成灰色。桌角有之前使用者留下的咖啡渍,已经干涸成深褐色的斑点。她拉开抽屉,里面空空如也,只有几张废纸和一支断了的铅笔。 “哎,你别介意啊,”林晓凑过来,身上有浓郁的香水味,混合着水果糖的甜腻,“王总监就是这样,谁要是太出风头,她就给谁穿小鞋。上个月有个男生也是,在周会上提了个建议,第二天工位就被调到厕所旁边了,没俩礼拜就辞职了。” 路容抬起头,看了林晓一眼。女孩的眼睛里闪着八卦的光芒,那种迫不及待想要分享秘密的神情,像小孩子发现了糖果罐。 “谢谢提醒。”路容轻声说,声音经过变声器处理后显得平淡而温和。她打开电脑,登录系统,屏幕上跳出“深蓝计划数据访问权限已开通”的提示。她点击确认,数据仓库的界面展开,密密麻麻的文件夹和数据库列表像一片黑色的森林。 “哇,你真的拿到权限了?”林晓凑得更近,几乎要贴到路容的屏幕前,“这可是核心数据啊,我们实习生连看一眼的资格都没有。王总监肯定气死了,她最讨厌别人动她的蛋糕。” 路容不动声色地把屏幕角度调整了一下,让林晓看不到具体内容。“我只是做分析报告。” “得了吧,”林晓坐回自己的椅子,椅子轮子在地毯上发出沉闷的滚动声,“李总亲自点名要你做的报告,这可不是小事。我跟你说啊,咱们部门现在分两派,一派跟着王总监,其实就是跟着李总;另一派是孙副总那边的人,不过孙副总的人不多,都挺低调的。” 路容的手指在键盘上停顿了一下。阳光从侧面窗户照进来,在她手背上投下细长的影子。她能听见远处打印机工作的嗡嗡声,能闻到林晓桌上那杯奶茶的甜腻香气,能感觉到头顶摄像头传来的、几乎不可察觉的微弱电流声。 “孙副总?”她问,语气尽量保持随意。 “对啊,孙明远副总,管市场部的,”林晓压低声音,虽然周围根本没人注意她们,“他跟李总不对付很久了。听说去年竞聘集团副总裁,孙副总本来希望很大,结果李总不知道用了什么手段,硬是空降过来把他挤下去了。现在两人明面上客客气气,背地里都在较劲。” 路容打开一个数据文件,屏幕上跳出用户行为数据的流式图表。蓝色的线条在坐标轴上起伏,像心跳的波形。她盯着那些数据,脑海里却在快速整理林晓的话。派系斗争——这意味着机会,也意味着危险。如果李剑和孙明远确实存在矛盾,那么她或许可以利用这种矛盾。但前提是,她必须足够小心,不能成为任何一方的棋子。 “这些事,你怎么知道得这么清楚?”路容问,眼睛没有离开屏幕。 林晓笑了,笑声像风铃。“我入职三个月,别的没学会,就学会听八卦了。咱们部门有个微信群,王总监不在的那个,里面天天聊这些。还有啊,it部那个老吴,你知道吧?就是那个头发乱糟糟、整天穿格子衬衫的大叔。他可有意思了,上次李总让他调取某个员工的聊天记录,他直接说‘没有合法授权不能提供’,把李总气得够呛。” 老吴。 路容在心里记下这个名字。it部门的技术人员,如果能有他的帮助,很多事情会容易得多。但根据林晓的描述,这个人原则性很强,不容易接近。 “李总没开除他?”她问。 “哪能啊,”林晓撇撇嘴,“老吴技术太牛了,整个集团的系统架构都是他参与设计的。听说当年猎头挖他,开价是这个数。”她伸出五根手指,晃了晃,“李总再生气,也得忍着。不过从那以后,老吴就被边缘化了,现在只管些基础运维,重要项目都不让他碰。” 路容点点头,开始运行第一个数据分析脚本。屏幕上跳出进度条,缓慢地向前移动。她趁这个时间,抬起头,看似随意地扫视整个办公区。 天花板上每隔五米就有一个监控摄像头,黑色的半球形外壳,红色的指示灯。她数了数,在她视线范围内有八个。其中四个是固定角度的,覆盖主要通道和出入口;另外四个是云台摄像头,可以旋转。她头顶上这个,是云台型的。 路容低下头,继续看屏幕。进度条走到百分之三十。她用余光观察头顶摄像头的转动规律。每十五秒,摄像头会缓慢地左右旋转三十度,然后停顿五秒,再转回原位。这个周期很规律,像钟摆。 但有一个问题——当她假装伸手去拿水杯时,她注意到摄像头的转动似乎有半秒的延迟。不是机械延迟,更像是……有人在另一端控制,看到她的动作后,才调整了摄像头角度。 有人在实时监视这个位置。 路容的心脏收紧了一下,但脸上没有任何表情。她拿起水杯,喝了一口水。水温适中,带着淡淡的漂白粉味道。她放下杯子,手指在键盘上敲击,调出另一个数据文件。 “若溪,你中午吃什么?”林晓突然问,“我知道楼下新开了一家轻食店,沙拉特别好吃,要不要一起去?” “我带了饭。”路容说。 “自己做的?你好厉害啊,”林晓凑过来,眼睛盯着路容放在桌下的饭盒袋,“我都不会做饭,天天点外卖。哎,你住哪儿啊?要是顺路,以后可以一起下班。” 路容感觉到一阵不适。林晓的热情太过直接,太过密集,像一张网慢慢罩过来。她需要信息,但不需要这么亲密的关系。亲密意味着更多的暴露风险。 “我住得比较远,”她轻声说,“而且经常加班,时间不固定。” “哦……”林晓有些失望,但很快又振作起来,“没关系,反正咱们是邻座,有的是时间聊天。我跟你说啊,昨天你走了之后,王总监在办公室里发了半天火,摔了一个杯子。保洁阿姨收拾的时候,我正好路过,听见她在打电话,说什么‘不能让新人太嚣张’。” 路容的手指在键盘上停顿。屏幕上的数据分析结果跳出来,是一组异常的用户登录模式。这些登录行为集中在凌晨两点到四点,ip地址来自海外,但用户设备信息显示是国内常见的手机型号。矛盾的数据。 她把这些异常标记出来,保存到单独的文件夹里。然后,她打开邮件,开始撰写给李剑的周报提纲。邮件正文写得很正式,用词严谨,没有任何个人情绪。但在附件里,她隐藏了一个加密的注释文件,记录了她对监控摄像头的观察,以及林晓提供的那些信息。 “若溪,你在听吗?”林晓的声音把她拉回现实。 “在听。”路容说,眼睛依然盯着屏幕。 “我说,下午三点有个部门例会,王总监要求所有人都要发言,汇报工作进度。你刚来,又接了这么重要的任务,她肯定会重点‘关照’你。你最好准备一下,她特别爱挑刺,尤其是对新人。” “谢谢。”路容说,这次语气真诚了一些。 林晓笑了,笑容很灿烂。“不客气,咱们是同事嘛。对了,你那个数据分析,需不需要帮忙?我虽然是个实习生,但excel用得可溜了,函数、透视表都会。” “暂时不用,谢谢。”路容说。 她需要保持距离。林晓太爱说话,太爱分享,和她走得太近,迟早会出问题。但另一方面,林晓确实是个信息源,而且是个不设防的信息源。路容需要在利用和疏远之间找到平衡点,像走钢丝。 (本章未完,请点击下一页继续阅读)第7章:暗流与监视(第2/2页) 下午的时间过得很快。路容处理了三批数据,发现了更多异常模式——非常规的数据传输时间、加密方式不符合公司标准、日志记录有缺失的时段。这些异常都很隐蔽,如果不是她刻意寻找,很容易被忽略。但把它们放在一起看,就像一张逐渐清晰的拼图。 李剑在利用“深蓝计划”的数据流做别的事情。 具体是什么,她还需要更多证据。但方向已经明确了。 下午三点,部门例会准时开始。王总监坐在长桌主位,穿着深蓝色的套装,头发梳得一丝不苟。她面前摆着一杯黑咖啡,没有加糖也没有加奶。会议室里坐了二十多个人,空气里有空调的冷风和人体散发的微弱热气混合的味道。 路容坐在角落的位置,尽量降低存在感。但王总监的目光还是扫了过来,在她身上停留了三秒。 “先从新人开始吧,”王总监说,声音冷硬,“若溪,汇报一下‘深蓝计划’数据分析的进展。” 所有人的目光都集中到路容身上。她能感觉到那些目光的重量,像石头压在肩膀上。她深吸一口气,打开准备好的ppt,投屏到会议室的屏幕上。 “截至今天下午两点,我已经完成了第一阶段的数据清洗和预处理,”她的声音平稳,经过变声器处理后显得专业而冷静,“发现了三个需要关注的异常点。第一,数据流中存在非常规的加密传输时段,集中在工作日的晚上十点到凌晨两点;第二,部分用户行为数据存在模式断裂,初步判断可能与数据压缩算法有关,需要进一步验证;第三,日志系统在特定时间段有记录缺失,缺失时段与异常加密时段高度重合。” 会议室里很安静。只有空调出风口的风声,和有人轻轻翻动笔记本纸张的声音。 王总监盯着屏幕上的ppt,脸色越来越沉。“这些异常,你确定不是数据源本身的问题?” “我对比了三个不同的数据源,异常模式一致。”路容说。 “那你认为原因是什么?” “目前信息不足,无法下结论,”路容谨慎地说,“需要更多数据支持和跨部门协作。我建议联系技术部,核查日志系统的完整性;同时联系安全部,评估异常加密时段的风险。” 王总监沉默了几秒,手指在桌面上轻轻敲击。敲击声很轻,但在安静的会议室里格外清晰。“李总要求下周提交报告,你现在连原因都说不清楚,怎么交差?” “报告会如实呈现发现的问题和初步分析,”路容说,“以及建议的后续调查方向。数据安全是‘深蓝计划’的基础,发现问题比掩盖问题更重要。” 这句话说得很直接。会议室里的气氛更加凝重了。有人低下头,假装看笔记;有人交换眼神,意味不明。 王总监盯着路容,眼神像刀子。“好,那就按你的思路做。但我要提醒你,如果最后证明这些‘异常’只是技术故障或者你的误判,你要承担全部责任。” “我明白。”路容说。 会议在压抑的气氛中继续。其他人汇报工作时,都显得格外小心,用词谨慎,避免任何可能引起质疑的表述。路容坐在角落里,安静地听着,记录着。她能感觉到王总监的敌意,像一层冰冷的雾气笼罩着她。也能感觉到其他人对她的疏远——没有人看她,没有人主动和她说话,她像被一道无形的墙隔开了。 这就是职场。当你成为焦点,当你触及敏感问题,当你威胁到某些人的利益时,孤立是最自然的反应。 会议在四点半结束。人们匆匆离开会议室,像逃离什么危险的地方。路容收拾东西,故意放慢速度。她需要时间观察,需要确认一些事情。 林晓在门口等她。“你刚才太敢说了,”她小声说,眼睛亮晶晶的,“王总监脸都绿了。不过你要小心,她肯定会报复的。” “我知道。”路容说。 她们一起走回工位。下午的阳光斜照进来,在办公区的地毯上投下长长的影子。空气里有下班前特有的躁动感——有人开始收拾东西,有人小声约晚饭,有人对着手机屏幕傻笑。 路容坐回自己的位置,继续处理数据。但她的大部分注意力,都放在观察上。她注意到,头顶的摄像头在她坐下后,调整了角度,正好对准她的屏幕方向。她稍微侧身,摄像头也跟着微调。 实时监控,毫无疑问。 她继续工作,手指在键盘上敲击,眼睛看着屏幕,但余光始终注意着周围。她看到王总监从办公室出来,站在走廊里打电话,表情严肃。她看到几个老员工聚在茶水间,低声交谈,偶尔朝她的方向瞥一眼。她看到it部的一个技术人员推着设备车经过,工牌上写着“吴建国”——应该就是老吴。他大概五十岁左右,头发花白,穿着皱巴巴的格子衬衫,戴着厚厚的眼镜,走路时微微驼背。 老吴经过她的工位时,脚步停顿了一下。他的目光扫过路容的电脑屏幕,又扫过头顶的摄像头,然后什么也没说,推着车继续往前走。 但路容注意到,他的眉头微微皱了一下。 下班时间到了。同事们陆续离开,办公室里的灯光一盏盏熄灭,只剩下应急照明灯发出幽绿的光。路容假装还在加班,实际上她在等,等所有人都走光。 林晓是最后一个离开的邻座。“若溪,你还不走啊?” “还有点数据要处理,你先走吧。”路容说。 “好吧,明天见。”林晓挥挥手,背着粉色的小包离开了。 现在,整个数据分析部只剩下路容一个人。应急照明灯的光线很暗,把办公区照得像海底世界。远处传来电梯运行的嗡鸣声,空调系统已经切换到夜间模式,出风口的风变得微弱而冰凉。 路容站起来,伸了个懒腰,动作自然得像真的累了。她走到窗边,看着窗外深港市的夜景。高楼大厦的灯光像繁星,车流像发光的河流。这座城市很美,也很残酷。 她转身,开始慢悠悠地整理桌面。把文件放进文件夹,把笔插进笔筒,把水杯洗干净。每一个动作都很自然,但她的眼睛在快速扫视整个办公区。 明处的摄像头,她早就记下了位置和角度。现在,她要找的是暗处的。 路容走到办公区中央,假装在找什么东西,弯下腰看桌子底下。她用这个姿势,用手机的广角镜头,快速扫过几个关键角落——王总监办公室门口、财务总监办公室门口、档案柜旁边、消防通道的应急箱上方。 手机镜头里,画面有些模糊,但足够看清轮廓。 她保持弯腰的姿势几秒钟,然后站起来,揉了揉腰,走回自己的工位。整个过程不到一分钟,自然得像任何一个加班后整理东西的员工。 她坐回椅子上,打开手机相册,调出刚才拍的照片。手指在屏幕上滑动,放大,再放大。 第一张,王总监办公室门口。除了明处的摄像头,没有异常。 第二张,档案柜旁边。没有异常。 第三张,消防通道。没有异常。 第四张,财务总监办公室门口。 路容的手指停住了。 财务总监办公室的门是深棕色的实木门,门口摆着一盆绿萝,长势很好,叶片油绿。在绿萝盆栽的土壤表面,靠近盆沿的位置,有一个极微小的反光点。 非常微弱,如果不是用广角镜头捕捉到那个角度,根本看不见。 路容把图片放到最大。反光点很小,大概只有针尖大小,但形状很规则——圆形。而且反光的角度很特别,不是自然光反射,更像是玻璃或者镜面的反光。 隐藏摄像头。 她的呼吸微微急促起来。财务总监办公室,为什么要在那里装隐藏摄像头?财务总监是孙明远的人,还是李剑的人?或者,两边都在监控? 路容关掉手机屏幕,靠在椅背上。办公室里的冷气吹在她的脖子上,激起一层鸡皮疙瘩。她能听见自己的心跳声,在寂静的空间里格外清晰。 这不是普通的职场斗争。 这是战争。而战场布满了眼睛。 她站起来,关掉电脑,收拾好东西。背包背在肩上时,她再次抬头看了一眼头顶的摄像头。红色的指示灯在黑暗中像一只眼睛,静静地注视着她。 路容转身,走向电梯间。脚步声在地毯上被吸收,几乎听不见。电梯从一楼上升,数字跳动,像倒计时。 门开了,她走进去,按下b1层——地下停车场。电梯门缓缓关闭,镜面墙壁里映出她的脸。苍白,冷静,眼神深处有一丝冰冷的火焰。 她看着镜中的自己,轻声说: “找到你了。” 第8章:深夜的故障 第8章:深夜的故障(第1/2页) 凌晨一点十三分。 路容在黑暗中睁开眼睛。 出租屋里一片漆黑,只有窗外远处高架桥上的车灯偶尔划过天花板,投下短暂的光影。她躺在床上,呼吸平稳,但身体已经进入警戒状态——这是三年训练出来的本能。任何异常的声响、光线变化、甚至空气流动的改变,都会让她瞬间清醒。 手机在床头柜上震动。 不是电话,是连续不断的短信提示音。嗡嗡嗡,嗡嗡嗡,像一群被困在玻璃瓶里的蜜蜂。声音在寂静的房间里格外刺耳。 路容伸手拿起手机。屏幕的冷光刺得她眯起眼睛。锁屏界面上,十几条消息通知堆叠在一起,全部来自同一个企业聊天群——“星耀集团技术应急群”。 她解锁手机,点开群聊。 消息像瀑布一样滚下来。 【王总监】@所有人紧急情况!公司核心数据库访问异常,营销部、财务部、运营部均报告无法调取数据。请所有在线技术人员立即登录远程支持系统,优先级最高! 【王总监】重复一遍:所有技术人员立即上线!故障影响范围正在扩大! 【王总监】@周哲@吴建国@张明@李涛@若溪…… 后面跟着一长串@名单。路容的名字“若溪”夹在中间,像一颗不起眼的石子。 她坐起身,打开床头灯。暖黄色的灯光洒下来,照亮了这个不到二十平米的出租屋。房间很简陋,一张床,一张书桌,一个衣柜,墙上贴着深港市的地铁线路图。书桌上摆着她的笔记本电脑,黑色的机身,没有任何贴纸或装饰。 空气里有灰尘的味道,混合着窗外飘进来的汽车尾气。深港市的夜晚从不真正安静,总有什么在运转——车辆、机器、或者人心。 路容掀开被子,赤脚踩在地板上。瓷砖冰凉,寒意从脚底窜上来。她走到书桌前,打开电脑。屏幕亮起,蓝色的登录界面像一扇通往另一个世界的门。 她输入密码,进入系统,打开远程支持客户端。界面加载的几秒钟里,她能听见自己心跳的声音——沉稳,有力,但比平时快了一些。 这不是普通的系统故障。 星耀集团的核心数据库采用分布式架构,有七层冗余备份,理论上不可能出现多个部门同时无法访问的情况。除非…… 除非有人动了手脚。 远程支持界面加载完成。左侧是用户列表,显示所有已登录的技术人员头像和状态。路容扫了一眼——周哲在线,状态“忙碌”;it部的吴建国在线,状态“空闲”;还有五六个她不熟悉的名字,状态都是“正在处理”。 右侧是故障报告面板。红色的警报信息一条条跳出来: 【01:07:23】营销部数据库连接超时,错误代码:503 【01:09:41】财务部核心表锁死,事务回滚失败 【01:11:15】运营部数据仓库查询队列堵塞,等待超时300秒 【01:12:58】日志服务器记录异常,疑似资源竞争 路容的手指在触摸板上移动,点开详细日志。黑色的命令行界面弹出来,白色的字符快速滚动。她眯起眼睛,瞳孔在屏幕光的照射下微微收缩。 日志显示,故障是从凌晨零点五十分开始的。最初是营销部的几个查询请求响应变慢,然后像多米诺骨牌一样,连锁反应蔓延到其他部门。但奇怪的是——故障的传播路径不是随机的。 它像是有选择性的。 财务部的核心表被锁死,但辅助表正常;运营部的数据仓库查询堵塞,但实时流处理通道畅通;营销部的历史数据无法访问,但当天的新增数据可以正常写入。 这不像硬件故障,也不像普通的软件bug。 这像是一种……测试。 或者,一种警告。 路容的呼吸变轻了。她靠在椅背上,手指无意识地敲击桌面。木质桌面传来沉闷的咚咚声,节奏稳定,像心跳的模拟。 企业聊天群里,消息还在滚动。 【张明】我这边看了,数据库服务器cpu使用率正常,内存也没爆,奇怪了 【李涛】网络连接检测过了,没问题,ping值都在5ms以内 【王总监】@所有人别在群里闲聊!上远程系统,统一排查!半小时内必须解决!李总明天早上要看报表! 王总监的消息后面跟着三个感叹号,像三把悬在头顶的刀。 路容盯着屏幕,没有在群里回复。她的手指在键盘上停顿了几秒,然后开始快速敲击。 她新建了一个临时讨论组。 组名:“故障排查_临时”。成员:周哲、吴建国、还有她自己。 没有邀请其他人。 讨论组创建成功。路容在输入框里打字,手指在机械键盘上敲出清脆的咔嗒声。房间里只有这个声音,和窗外隐约传来的汽车引擎轰鸣。 【若溪】@周哲@吴建国两位老师好,我是数据分析部的若溪。我这边看到一些异常模式,想请两位帮忙确认一下。 消息发送出去。 几秒钟后,周哲的头像旁边出现“正在输入”的提示。 【周哲】什么模式? 路容切回远程支持系统,打开另一个命令行窗口。她输入一串命令,屏幕上的字符像流水一样滚动。她的眼睛快速扫过每一行输出,大脑像一台精密的处理器,过滤无关信息,提取关键数据。 故障表现很奇特。 数据库连接没有真正断开,而是被某种机制“挂起”了。查询请求进入等待队列,但队列的处理线程被占用,不是被其他任务占用,而是被……空循环占用了。 就像有一个人站在门口,不进去,也不离开,就堵在那里。 路容的手指再次敲击键盘。 【若溪】请两位看一下日志服务器的/var/log/mysql/slow_queries.log,时间范围00:50到01:10。注意第34行到第47行。 她发送消息,然后等待。 房间里很安静。她能听见冰箱压缩机启动的嗡嗡声,能听见楼上邻居冲马桶的水流声,能听见自己吞咽口水时喉咙的轻微响动。三种声音在黑暗里交织,像一首不协调的交响乐。 临时讨论组里,吴建国回复了。 【吴建国】看了。锁等待时间异常,但锁持有者显示为“system”,不是具体进程。 【周哲】我也看到了。这不对劲。system进程不会主动持有用户表锁。 路容的嘴角微微上扬,一个几乎看不见的弧度。她继续打字。 【若溪】请再执行:showprocesslist;然后过滤state为“usersleep”的连接。 这次,周哲的回复快了一些。 【周哲】有七个连接处于usersleep状态,sleep时间都超过300秒。连接来自……内部ip,10.0.5.x段。 10.0.5.x段。 路容的瞳孔收缩了一下。 那是测试服务器的ip段。按理说,测试服务器不应该在生产环境持有数据库连接,更不应该让连接处于休眠状态超过五分钟。 除非有人故意这么做。 她切回命令行,输入另一串指令。屏幕上的输出快速滚动,白色的字符在黑色背景上像一群受惊的飞鸟。路容的眼睛盯着屏幕,手指在键盘上悬停,像钢琴家等待下一个和弦。 找到了。 七个休眠连接,全部来自同一台测试服务器——test-05。而test-05服务器的管理员权限,上周刚刚变更过。 新的管理员是:王总监。 路容的呼吸停了一拍。 (本章未完,请点击下一页继续阅读)第8章:深夜的故障(第2/2页) 她靠在椅背上,闭上眼睛。脑海里快速闪过几个画面——王总监在会议室里冰冷的眼神,工位调整时那抹得意的微笑,还有今天下午,她经过王总监办公室时,听见里面传来的压低声音的电话: “……必须给她点颜色看看……李总那边我会解释……” 当时路容没有多想。现在,这些碎片拼凑在一起,形成了一个模糊但危险的图案。 王总监在测试服务器上做了手脚,制造了这场“故障”。目的是什么?给她一个下马威?测试她的技术能力?还是……更深的算计? 路容睁开眼睛,眼底一片清明。 不管目的是什么,现在必须解决故障。而且,必须用“若溪”这个身份该有的方式解决——不能太突出,不能太老练,但也不能毫无作为。 她重新开始打字。 【若溪】@周哲@吴建国我有个猜测,不一定对。那七个休眠连接可能是测试脚本残留,脚本异常退出但连接没释放。可以尝试从测试服务器端强制kill连接吗? 消息发送出去。 路容等待回复的时候,手指无意识地摩挲着键盘边缘。塑料外壳有些磨损,边缘微微发亮,那是长期使用留下的痕迹。这台电脑陪了她三年,从“路容”到“若溪”,从天才新星到职场幽灵。它记得她所有的搜索记录,所有的代码尝试,所有深夜里的孤独和愤怒。 临时讨论组里,周哲回复了。 【周哲】有权限。我试试。 几秒钟后。 【周哲】kill了三个连接。另外四个……权限不足。 【吴建国】权限不足?test-05的root权限被改了? 【周哲】嗯。管理员换人了。 讨论组里沉默了几秒。 路容能想象屏幕那头的两个人此刻的表情——周哲皱着眉头,手指在键盘上敲击,试图找到绕过权限的方法;吴建国靠在椅背上,眯着眼睛,心里盘算着这背后的意味。 她继续打字。 【若溪】如果从数据库端强制终止连接呢?用super权限执行:killconnection[id]; 这次,回复的是吴建国。 【吴建国】可以。但需要确认连接id。而且,super权限只有我和周工有。 【若溪】连接id在slowquerylog里有记录。第38行、42行、45行、49行。 消息发送出去。 路容等待的时候,端起桌上的水杯喝了一口。水是凉的,顺着喉咙滑下去,带来一阵轻微的寒意。窗外的天空是深紫色的,没有星星,只有城市的光污染在云层上涂抹出一片朦胧的橙红。 临时讨论组里,吴建国发来一条消息。 【吴建国】小姑娘,眼挺尖啊。连日志行数都记得这么清楚。 路容的手指停顿了一下。 她意识到自己犯了一个小错误——作为一个“新人”,不应该对日志文件熟悉到能精确指出行数。这太老练了,太像……曾经的她。 她快速打字补救。 【若溪】刚才查日志的时候特意记了一下,怕自己看错了。 这个解释有些牵强,但勉强说得通。 几秒钟后,周哲回复了。 【周哲】连接已终止。数据库锁释放了。 几乎同时,企业聊天群里跳出一条消息。 【李涛】哎?恢复了!营销部那边说能访问了! 【张明】财务部也正常了! 【王总监】@所有人故障排除完毕,辛苦了。相关技术人员写一份事故报告,明天上午十点前发给我。 王总监的消息后面没有感叹号,语气平静得像什么都没发生过。 但路容知道,有什么已经发生了。 临时讨论组里,吴建国发来最后一条消息。 【吴建国】行了,散了吧。明天还得早起。 周哲回复了一个简单的“嗯”。 路容盯着屏幕,手指在键盘上悬停了几秒,然后敲出两个字。 【若溪】谢谢两位老师。 她退出讨论组,关闭远程支持系统,合上笔记本电脑。屏幕暗下去,房间里唯一的光源消失了,只剩下床头灯那团暖黄色的光晕。 路容靠在椅背上,闭上眼睛。 脑海里复盘刚才的每一个细节。 故障表现——针对性的资源锁死,像测试又像警告。 故障源头——测试服务器test-05,管理员权限变更。 解决过程——她引导了排查方向,但控制在了“新人该有的水平”。 周哲的反应——那个“?”,还有后续的沉默。 吴建国的反应——“眼挺尖啊”。 最后一个,最值得玩味。 路容睁开眼睛,拿起手机。屏幕还亮着,停留在企业聊天软件的界面。她退出群聊,回到主界面,然后看到了一条未读私信。 发送者:吴建国。 时间:凌晨一点四十六分。 内容只有一句话: “小姑娘,手挺生,路子挺野。明天下午三点,b2层备用机房,换过滤网。” 路容盯着这条消息,看了整整一分钟。 手挺生——指的是她打字的速度和指令的输入方式,还不够熟练,有生疏感。 路子挺野——指的是她解决问题的思路,不按常规,直接切中要害。 换过滤网——一个再普通不过的杂活,it部最基础的维护任务。 但约定地点:b2层备用机房。 那个地方路容知道。在地下二层,靠近停车场入口,平时很少有人去。机房没有监控——至少明面上没有。因为里面存放的都是淘汰的旧设备,价值不高,安保级别很低。 一个绝佳的,私下谈话的场所。 路容放下手机,走到窗边。她拉开窗帘,看着窗外深港市的夜景。高楼大厦的灯光像无数双眼睛,在黑暗中静静注视。远处,星耀集团的大厦还亮着几盏灯,在楼群中像一个沉默的巨人。 凌晨的风从窗户缝隙钻进来,带着潮湿的凉意。路容能闻到空气中淡淡的汽车尾气味,能听见高架桥上偶尔驶过的货车的轰鸣,能感觉到玻璃窗传来的轻微震动。 三种感官信息在脑海里交织。 她转身回到书桌前,打开抽屉,取出一个黑色的笔记本。翻开,里面是她这一个月来记录的所有信息——李剑的行程规律,王总监的派系关系,部门的人员架构,还有她发现的那些异常数据模式。 她在新的一页写下: “凌晨故障。测试服务器test-05。王总监权限。吴建国邀约。b2机房。” 写完,她合上笔记本,放回抽屉。 床头柜上的电子钟显示:凌晨两点零七分。 路容关掉床头灯,躺回床上。黑暗重新笼罩房间,只有窗外远处的灯光在天花板上投下模糊的光影。她闭上眼睛,但大脑还在运转。 明天的会面,是机会,也是风险。 吴建国看出了什么?他是什么立场?是李剑的人,还是孙明远的人?或者,他只是个看不惯公司现状的老技术员? 路容不知道。 但她知道一点——在星耀集团这座布满监控的迷宫里,她终于找到了第一个,可能不是敌人的身影。 窗外的城市渐渐安静下来。 路容在黑暗中调整呼吸,让心跳慢慢平复。她的手指无意识地攥紧了被角,布料粗糙的触感从指尖传来。她能听见自己的呼吸声,平稳,绵长,像潮汐。 凌晨两点二十三分。 她睡着了。 第9章:机房暗语 第9章:机房暗语(第1/2页) 下午两点五十分。 路容站在星耀大厦b2层的走廊尽头。 走廊的灯光是那种惨白的led灯管,每隔五米一盏,有些灯管已经老化,发出滋滋的电流声。光线在灰色的水泥墙壁上投下斑驳的影子,让整个空间显得更加空旷阴冷。空气里有股混合的气味——地下停车场的汽车尾气、潮湿的霉味、还有从机房缝隙里渗出来的机器散热片的金属焦味。 她穿着公司发的深蓝色工装,胸前别着“若溪”的工牌。工牌照片上的她戴着黑框眼镜,头发扎成低马尾,表情平静得近乎呆板。这是她入职时特意拍的照片,要的就是这种不起眼的效果。 走廊尽头有一扇灰色的铁门,门上贴着褪色的标签:“备用机房·设备重地·非请勿入”。 路容抬手看了看表。 两点五十二分。 她深吸一口气,推开铁门。 门轴发出刺耳的嘎吱声,在空旷的走廊里回荡。门后的世界扑面而来——首先是声音,几十台旧服务器风扇运转的低频嗡鸣,像一群被困在地下的蜂群。然后是温度,比走廊低了至少五度,冷气从空调出风口吹出来,带着灰尘和金属的味道。最后是光线,机房里的照明只有几盏应急灯,昏黄的光线勉强照亮一排排黑色的机柜,在水泥地上投下扭曲的阴影。 路容站在门口,让眼睛适应昏暗。 机房大约有两百平米,排列着十几排机柜。大部分机柜的门都敞开着,里面是已经淘汰的服务器,线缆像藤蔓一样垂下来,有些已经积了厚厚的灰尘。地面是灰色的防静电地板,有些地方已经翘起,露出水泥。 空气里有灰尘在光线中飞舞。 她看见老吴了。 在机房最深处,第三排机柜后面。一个穿着灰色夹克的身影蹲在地上,背对着门口,正在整理一堆散乱的光纤线。他的动作很慢,很仔细,一根一根地捋顺,盘成圈,用扎带固定。 路容关上门。 铁门合上的声音在机房里显得格外沉闷。她踩着防静电地板走过去,脚步声被服务器的嗡鸣声吞没。地板有些地方已经松动,踩上去会发出轻微的咯吱声。 她走到第三排机柜前。 老吴没有回头。 他继续整理着光纤线,动作没有停顿。路容站在他身后两米的地方,没有说话。她能看见老吴的后颈,皮肤有些松弛,头发花白,夹克的领口已经磨得发亮。他的手指很粗,关节突出,但动作异常灵活,那些细如发丝的光纤在他手里像听话的丝线。 时间一分一秒过去。 机房的空调出风口发出呼呼的风声。路容能感觉到冷气吹在脖子上,激起一层鸡皮疙瘩。她能闻到灰尘的味道,混合着机器散热片的焦糊味,还有老吴身上淡淡的烟草味。 两点五十五分。 老吴终于把最后一根光纤盘好,用扎带固定。他站起身,没有转身,只是从工具包里掏出两样东西,反手扔了过来。 路容下意识接住。 一个是一次性口罩,白色的,包装还没拆。另一副是灰色的棉线手套,掌心有防滑的橡胶颗粒。 “戴上。” 老吴的声音很低,有些沙哑,在机房的嗡鸣声中几乎听不清。他依然背对着路容,抬手指了指天花板。 路容抬头。 天花板上是中央空调的通风管道,其中一个出风口下方挂着一个白色的过滤网。过滤网已经变成灰黑色,边缘积着厚厚的灰尘,有些地方甚至结了蜘蛛网。 她拆开口罩包装,戴上。口罩的布料有些粗糙,橡胶耳带勒得耳朵发疼。然后戴上手套,棉线的触感很熟悉,让她想起三年前在天启科技机房的日子。 老吴从工具包里拿出一个折叠梯,展开,架在过滤网下方。梯子是铝合金的,有些旧了,展开时发出金属摩擦的刺耳声音。他爬上梯子,从工具包里拿出螺丝刀,开始拆卸过滤网四周的固定螺丝。 螺丝已经锈蚀,拧起来很费力。老吴的手臂肌肉绷紧,螺丝刀和螺丝摩擦发出吱吱的声音。灰尘从过滤网边缘簌簌落下,在昏黄的光线中像细小的雪。 路容站在梯子下方,仰头看着。 她能看见老吴的后背,夹克随着用力的动作绷紧。能听见螺丝刀拧动的金属摩擦声,能闻到从过滤网上落下的灰尘的味道——那种陈年的、混合着霉菌和金属氧化物的气味。 第一颗螺丝拧下来了。 老吴把螺丝放进工具包侧面的小袋子里,然后拧第二颗。他的动作很稳,没有多余的动作,每一个拧转的幅度都恰到好处。路容注意到,他的工具包很旧,帆布材质已经洗得发白,但里面的工具摆放得整整齐齐——螺丝刀、扳手、钳子、电工胶带、扎带、万用表,每一件都在固定的位置。 这是一个老技术员的习惯。 第二颗螺丝拧下来。 第三颗。 第四颗。 过滤网松动了。老吴双手托住过滤网的边缘,用力一拉,整个过滤网从通风口取了下来。更多的灰尘落下,像一场小型的沙尘暴。路容下意识后退半步,但还是有灰尘落在她的头发和肩膀上。 老吴把取下的过滤网递下来。 路容伸手接住。过滤网很重,至少有五公斤,金属框架冰凉,网格上积的灰尘厚得几乎看不见原来的颜色。灰尘从网格缝隙里漏出来,落在她的手套上,变成一层灰色的粉末。 “新的在那边。” 老吴依然没有回头,只是用下巴指了指机房角落。那里堆着几个纸箱,其中一个纸箱敞开着,里面是崭新的白色过滤网。 路容把旧过滤网放在地上,走到纸箱前。她取出一个新的过滤网,很轻,很干净,白色的网格在昏黄的光线下泛着微光。她走回梯子下方,把新过滤网递上去。 老吴接过,对准通风口,推进去,然后开始拧固定螺丝。 第一颗。 第二颗。 整个过程,两人没有说一句话。 机房的嗡鸣声填满了沉默。路容能听见自己的呼吸声,透过口罩变得沉闷。能听见老吴拧螺丝时肌肉用力的轻微喘息。能听见空调出风口的风声,像某种生物的呼吸。 第三颗螺丝拧到一半时,老吴突然开口。 声音很低,几乎被服务器的嗡鸣声淹没。 “昨晚那手‘端口镜像诱导’。” 他停顿了一下,继续拧螺丝。螺丝刀和螺丝摩擦的声音在寂静中格外清晰。 “不像新手。” 路容的心脏猛地一跳。 但她脸上的表情没有变化。口罩遮住了她大半张脸,只露出眼睛。她抬起头,看着老吴的背影。老吴依然在拧螺丝,动作没有停顿,仿佛刚才那句话只是随口一提。 “以前在论坛跟大神学过几招。” 路容的声音透过口罩传出来,有些模糊。她刻意让语气平静,甚至带点不好意思的腼腆,就像一个刚入行的新人被前辈夸奖时的反应。 老吴哼了一声。 那声音很短促,带着某种意味不明的情绪。他没有再说话,继续拧螺丝。第四颗螺丝拧紧,他收起螺丝刀,从梯子上下来。 折叠梯收起来时发出金属碰撞的声音。老吴把梯子靠墙放好,拍了拍手上的灰尘。他的手套已经变成灰色,掌心的橡胶颗粒上沾满了灰尘。 路容站在原地,等待。 老吴从工具包里拿出一个矿泉水瓶,拧开盖子,喝了一口。他的喉结上下滚动,喝水的声音在机房里很清晰。喝完,他把瓶子放回工具包侧面的网兜,然后从夹克内袋里掏出一个小东西。 一个黑色的u盘。 很普通的u盘,塑料外壳,没有任何品牌标志,容量标签上写着“16gb”。老吴把u盘递过来,动作随意得像递一支笔。 “拿着。” 路容接过u盘。 u盘很轻,塑料外壳冰凉。她的指尖触到u盘侧面时,感觉到一个细微的凸起——不是塑料注塑时留下的毛边,而是一个规则的、半球形的凸起,大约米粒大小,位置在u盘的侧面正中。 她的手指在那个凸起上停留了半秒。 然后若无其事地握紧u盘。 “部门新发的‘安全规范’。”老吴说,声音依然很低,“回去学习。下周部门会议要抽查。” 路容点点头,把u盘放进工装口袋。口袋很深,u盘落进去时几乎没有声音。 “过滤网换完了。”老吴说,开始收拾工具包。他把螺丝刀插回固定的位置,把扎带整理好,把万用表的表笔盘起来。每一个动作都很慢,很仔细,仿佛在完成某种仪式。 路容站在原地,不知道该走还是该留。 老吴拉上工具包的拉链,把包背在肩上。他转身,第一次正面看向路容。 路容终于看清了他的脸。 五十岁左右,方脸,皮肤粗糙,眼角有很深的皱纹。眼睛不大,但很亮,在昏黄的光线下像两颗打磨过的石子。他的眼神很平静,没有审视,没有试探,只是平静地看着路容,就像看机房里的任何一台机器。 (本章未完,请点击下一页继续阅读)第9章:机房暗语(第2/2页) “机房温度低,待久了容易感冒。” 老吴说完,转身朝门口走去。 他的脚步声在防静电地板上很轻,几乎被服务器的嗡鸣声吞没。路容跟在他身后,保持着两步的距离。两人一前一后穿过一排排机柜,黑色的机柜像沉默的墓碑,在昏黄的光线下投下长长的阴影。 走到门口时,老吴停下脚步。 他的手放在门把手上,没有立刻推开。他背对着路容,肩膀微微塌着,像承载着某种看不见的重量。机房的光线从他身后照过来,把他的影子拉得很长,一直延伸到路容脚下。 空气里有灰尘在飞舞。 空调出风口的风声呼呼作响。 服务器的嗡鸣声像潮水一样涌来。 老吴开口了,声音很轻,仿佛自言自语: “监控室的轮班表。” 他停顿了一下,手依然放在门把手上。 “每周三、五晚八点后,是小张。” 又停顿。 路容屏住呼吸。 “他喜欢喝南门那家奶茶,全糖。” 说完,老吴推开门。 走廊惨白的灯光涌进来,刺得路容眯起眼睛。老吴走出去,没有回头,径直朝走廊另一头走去。他的背影在灯光下越来越小,最后消失在拐角处。 路容站在机房门口,看着空荡荡的走廊。 铁门在她身后缓缓合上,发出沉闷的撞击声。机房里的嗡鸣声被隔绝,走廊里只剩下led灯管的电流声。 她把手伸进口袋,握住那个u盘。 指尖再次触到那个细微的凸起。 微型无线信号***。 她见过这种东西。三年前,在天启科技,她参与过一个数据安全项目,测试过各种反****。这种微型***通常只有米粒大小,可以贴在手机、电脑、或者u盘上,激活后会在周围形成一个小范围的信号屏蔽区,阻断所有无线通信——wi-fi、蓝牙、移动网络。 老吴给了她一个信号***。 还有监控室的轮班信息。 还有保安小张的喜好。 路容松开u盘,把手从口袋里拿出来。她的掌心有汗,手套的棉线已经湿了一小块。她摘下口罩,深吸一口气。走廊里的空气比机房温暖,但依然有地下停车场飘来的汽车尾气味。 她看了一眼手表。 三点零七分。 会面只持续了十五分钟。 十五分钟里,两人说的话不超过十句。但信息量比过去一个月在公司里收集到的还要多。 路容朝电梯间走去。 她的脚步声在空旷的走廊里回荡。led灯管在头顶滋滋作响,有些灯管闪烁不定,让影子在墙壁上跳动。她能听见自己的心跳声,平稳,但比平时快了一些。 电梯间在走廊另一头。 她按下下行按钮,电梯门缓缓打开。轿厢里空无一人,不锈钢墙壁映出她的身影——深蓝色工装,黑框眼镜,平静得近乎呆板的脸。 她走进电梯,按下1楼。 电梯门合上,轿厢开始上升。轻微的失重感传来,电梯井里传来钢索摩擦的嘎吱声。不锈钢墙壁上映出无数个她的倒影,层层叠叠,像一场没有尽头的梦境。 路容看着倒影中的自己。 “若溪”。 这个身份她已经用了三个月。每天早晨戴上黑框眼镜,用变声器调整声音,刻意改变走路的姿势和说话的语气。她把自己塞进这个壳里,像寄居蟹塞进捡来的贝壳。 但老吴看出来了。 不是看穿了她的真实身份,而是看出了这个壳的不自然。看出了“若溪”这个新人,不该有的技术直觉,不该有的冷静,不该有的“路子野”。 电梯到达1楼。 门开了,大堂的光线涌进来。下午三点,大堂里人来人往,前台接待员在接电话,保安在巡逻,几个穿着西装的人匆匆走过,手里拿着文件夹。 路容走出电梯,穿过大堂。 玻璃自动门感应到她的靠近,缓缓打开。室外的热浪扑面而来,混合着汽车尾气和城市灰尘的味道。深港市下午三点的阳光很烈,照在皮肤上有灼热感。 她走到大厦外的广场上,找了个树荫下的长椅坐下。 广场上有几个白领在抽烟,低声交谈。有外卖员骑着电动车疾驰而过,车后的保温箱发出哐当哐当的声音。远处,星耀大厦的玻璃幕墙反射着阳光,像一块巨大的、冰冷的宝石。 路容从口袋里掏出u盘。 黑色的塑料外壳在阳光下泛着微光。她翻到侧面,仔细看那个凸起。半球形,黑色,和u盘外壳的颜色完全一致,不仔细看根本发现不了。她用指甲轻轻按压,凸起微微下陷——里面有微型开关。 她收回u盘,放回口袋。 然后拿出手机,打开备忘录,新建一个条目。 输入: “b2机房。老吴。u盘(***)。监控轮班:三、五晚八点后-小张。喜好:南门奶茶全糖。” 输入完毕,她锁屏,把手机放回口袋。 树荫下的长椅很凉,铁质的扶手在阳光下晒得发烫。路容能感觉到铁扶手传来的热量,能听见广场上人们的交谈声和车流声,能闻到空气中混合的烟味、汽车尾气味、还有远处咖啡店飘来的咖啡香。 三种感官信息。 她闭上眼睛,让这些信息在脑海里沉淀。 老吴是什么立场? 他给了她信号***——这意味着他知道她可能需要屏蔽信号,可能需要在没有监控的环境下做某些事。他给了她监控室的轮班信息——这意味着他知道她可能需要避开监控。他给了她保安小张的喜好——这意味着他知道她可能需要“通过”小张这一关。 所有这些信息,都指向同一个结论:老吴在帮她。 但为什么? 路容睁开眼睛,看着广场上来来往往的人。一个穿着西装的男人一边打电话一边快步走过,表情焦急。两个女白领端着咖啡杯,低声说笑。一个清洁工推着垃圾车,慢慢清扫地上的落叶。 每个人都有自己的立场,自己的动机。 老吴的动机是什么? 路容想起昨晚的故障排查。老吴在临时讨论组里几乎没说话,只是在她给出关键指令时,默默执行。然后今天,他私下邀约,在机房里用最隐晦的方式传递信息和工具。 一个在it部干了十几年的老技术员。 一个被边缘化、被派到备用机房干杂活的老员工。 一个可能看透了公司里某些事,但无力改变,只能沉默旁观的人。 路容站起身。 树荫下的凉意消失了,室外的热浪重新包裹她。她朝地铁站走去,脚步平稳,表情平静,就像一个刚结束一天工作的普通职员。 但她的脑海里在飞速运转。 u盘里的“安全规范”需要检查。那个微型***需要测试。监控室的轮班表需要验证。保安小张的喜好需要确认。 还有最重要的——老吴的立场,需要进一步观察。 地铁站入口人潮涌动。路容随着人流走下台阶,空调的冷风从地下涌上来,带着地铁特有的混合气味——机油味、灰尘味、还有无数人身上的汗味和香水味。 她刷了交通卡,通过闸机。 站台上挤满了人,电子显示屏显示下一班地铁还有两分钟到站。广播里传来女声的播报,声音在空旷的站台里回荡。铁轨深处传来地铁驶近的轰鸣声,由远及近,像某种巨兽的呼吸。 路容站在人群边缘,手插在口袋里,握着那个u盘。 塑料外壳已经被她的体温焐热。 那个细微的凸起,像一颗埋藏在平静表面下的种子。 地铁进站了,带起一阵风,吹乱了她的头发。车门打开,人群涌出又涌入。路容随着人流走进车厢,找到一个靠门的角落站定。 车厢里很挤,人与人之间几乎没有空隙。她能感觉到旁边人的体温,能闻到各种气味混合在一起——香水、汗味、快餐、还有地铁空调的冷气味。 地铁启动,加速。 窗外的站台向后飞逝,变成模糊的光带。车厢里的灯光很亮,照在每个人脸上,让表情都显得苍白而疲惫。 路容看着车窗上自己的倒影。 黑框眼镜,平静的脸,深蓝色工装。 “若溪”。 这个身份还能用多久? 她不知道。 但她知道,从今天下午三点零七分开始,她在这个迷宫般的公司里,终于不是完全孤独的了。 即使那个盟友,只给了她一个u盘,三句话,和一个背影。 地铁在隧道里疾驰,车轮和铁轨摩擦发出有节奏的轰鸣。车厢摇晃,灯光闪烁,人群沉默。 路容握紧了口袋里的u盘。 指尖下的凸起,像一颗等待发芽的种子。 第10章:盟友的馈赠 第10章:盟友的馈赠(第1/2页) 地铁到站,路容随着人流走出车厢。站台广播在身后渐渐模糊,她走上通往地面的台阶,傍晚的阳光斜射下来,在地铁口投下长长的影子。深港市的晚高峰刚刚开始,车流如织,霓虹初上。路容站在街边,看着对面星耀大厦的灯光一层层亮起,像一座逐渐苏醒的钢铁森林。她把手伸进口袋,u盘的塑料外壳贴着掌心,那个细微的凸起像一颗等待被按下的按钮。晚风吹过,带来城市夜晚特有的喧嚣与孤独。她转身,朝出租屋的方向走去,脚步在暮色中坚定而沉默。 出租屋在老城区一栋六层居民楼的顶层。 楼道里的声控灯坏了三盏,路容摸黑爬上楼梯,脚步声在空旷的楼道里回荡。她能闻到各家各户晚饭的气味——炒菜的油烟味、炖汤的香气、还有楼道角落里堆积的杂物散发出的霉味。六楼,她掏出钥匙,金属钥匙插入锁孔的声音在寂静中格外清晰。 门开了。 房间不大,三十平米左右,一室一厅的格局。客厅里只有一张旧沙发、一张折叠桌、两把椅子。窗帘是深灰色的,拉得很严实。墙壁上贴着廉价的墙纸,有些地方已经起泡剥落。空气里有股淡淡的灰尘味,混合着旧家具的木料气息。 路容关上门,反锁。 她没有开大灯,只打开了沙发旁的一盏落地台灯。昏黄的灯光照亮了沙发周围的一小片区域,让房间的其他角落隐没在阴影里。她脱下外套,挂在门后的挂钩上,然后从包里拿出那台不联网的旧笔记本电脑。 这台电脑是她三年前买的,系统已经老旧,但足够安全。她从来没有用它连接过任何网络,所有数据都通过物理介质传输。电脑外壳有几处磕碰的痕迹,键盘上的字母已经磨损得看不清。 路容把电脑放在折叠桌上,插上电源。 电源适配器发出轻微的电流声。她按下开机键,风扇开始转动,发出老旧机器特有的嗡鸣。屏幕亮起,蓝色的启动界面在昏暗的房间里投下一片冷光。她等待系统完全启动,手指无意识地敲击着桌面。 桌面上只有几个图标——一个文本编辑器,一个图片查看器,一个加密软件,还有一个数据恢复工具。 路容从口袋里掏出u盘。 塑料外壳在台灯光下泛着哑光。她翻到侧面,那个微型无线信号***嵌在u盘的接缝处,只有米粒大小,不仔细看根本发现不了。她用手指摸了摸那个凸起,然后深吸一口气,把u盘插进电脑的usb接口。 电脑发出“叮”的一声提示音。 u盘图标出现在屏幕上,显示容量为32gb。路容双击打开,里面只有一个文件:“安全规范_v2.1.pdf”。文件大小显示为3.7mb,创建时间是今天下午三点十五分——正是她和老吴在机房见面的时间。 她点开文件。 pdf打开,确实是星耀集团最新的信息安全规范,一共四十二页,内容详实,格式规范。路容快速浏览了一遍,确认文件本身没有问题。但她的目光停留在文件属性上——创建时间、修改时间、访问时间都正常,但文件的“隐藏属性”一栏显示为“是”。 这不对。 pdf文件通常不会设置隐藏属性。 路容关闭pdf,回到u盘根目录。她打开电脑的文件夹选项,勾选“显示隐藏的文件、文件夹和驱动器”,然后刷新。 u盘里多了一个文件夹。 文件夹的名字是一串乱码:“~$temp_bak”。图标是普通的文件夹图标,但颜色比正常的文件夹要淡一些,像是被刻意做了视觉弱化处理。路容把鼠标移到文件夹上,右键点击“属性”。 文件夹大小:28.6mb。 创建时间:今天下午两点五十分——比pdf文件早了二十五分钟。 路容双击文件夹。 弹出一个对话框:“请输入密码以访问此文件夹。” 密码框是空白的,旁边有一个小小的提示图标,但没有任何文字提示。路容盯着那个对话框,脑海里飞快地闪过各种可能性。老吴会用什么密码?一个it老员工的习惯密码?某个技术术语?还是…… “深蓝”。 这个词跳进她的脑海。 深蓝计划。星耀集团目前最重要的项目,也是李剑亲自负责的项目。老吴在机房里没有提过这个词,但路容知道,公司里所有稍微核心一点的员工都知道这个计划的存在。如果老吴真的想给她传递信息,用这个词的某种变形作为密码,合情合理。 路容在密码框里输入:“deepblue”。 回车。 “密码错误。” 她想了想,换成小写:“deepblue”。 “密码错误。” 再试:“deepblue”。 “密码错误。” 路容停下手指。不对,老吴不会用这么简单的变形。一个在it部干了十几年的人,对密码安全有本能的敏感。他可能会用更复杂的方式——大小写混合、数字替换、特殊符号,或者…… 她闭上眼睛,回忆老吴在机房里的样子。 蹲在地上整理光纤线,背对着她,动作缓慢而仔细。他说过三句话:“滤网该换了。”“小张喜欢南门那家奶茶,全糖。”“周三、五,八点后。” 没有一句提到“深蓝”。 但老吴知道她在查什么。他知道她不是普通的新人,知道她需要什么。他给的u盘里有信号***,有监控室轮班信息,那么隐藏文件夹里的内容,一定更关键。 路容睁开眼睛。 她在密码框里输入:“shen_2023”。 这是“深蓝”的拼音,加上年份。2023年,正是深蓝计划正式启动的年份。 回车。 “密码错误。” 她皱起眉头。手指在键盘上悬停了几秒,然后重新输入:“sl_jh_2023”。sl是“深蓝”的拼音首字母,jh是“计划”的拼音首字母。 “密码错误。” 路容靠回椅背,台灯的光线照在她的侧脸上,在墙壁上投下一个沉思的剪影。房间里很安静,只有电脑风扇的嗡鸣和窗外隐约传来的城市噪音。她能听见自己的呼吸声,平稳而克制。 密码到底是什么? 老吴会怎么设置这个密码?一个技术员,一个被边缘化的老员工,一个用最隐晦的方式传递信息的人。他可能不会用太复杂的加密方式,因为要确保她能打开。但他也不会用太简单的方式,因为要确保u盘即使落入别人手中,也不会轻易暴露。 路容的目光落在u盘上。 那个微型信号***。老吴特意装了这东西,说明u盘里的内容极其敏感,连无线信号传输的风险都要规避。那么密码本身,可能就藏在…… 她突然坐直身体。 老吴在机房里说的最后一句话:“周三、五,八点后。” 这句话表面上是告诉她监控室轮班时间。但如果换个角度理解呢?周三、五——星期几的英文缩写是wed和fri。八点后——20:00之后。 路容在密码框里输入:“wedfri_20”。 回车。 “密码错误。” 她想了想,把下划线去掉:“wedfri20”。 “密码错误。” 不对。 路容的手指在键盘上轻轻敲击。wed和fri的缩写,老吴一个中文母语的人,真的会用英文星期缩写吗?更可能的是…… 她输入:“三五_20”。 回车。 文件夹打开了。 路容屏住呼吸。 隐藏文件夹里一共有五个文件。四个是文档,一个是图片。她先点开第一个文档,文件名是:“网络拓扑_简图_v0.1”。 文档打开,是一张手绘的星耀大厦内部网络拓扑简图。 图是用黑色线条画的,很简洁,但标注得很详细。大厦一共四十八层,每层的网络节点、交换机位置、主干线路走向都用简单的符号标出。路容一眼就看到了几个关键位置——数据中心在三十八层,核心服务器在四十层,网络安全监控中心在四十一层。 但最让她注意的是图上的红色标记。 一共有七个红点,分布在大厦的不同位置。每个红点旁边都有手写的注释: “b2备用机房东南角——监控盲区,覆盖时长约15分钟/次” “28层消防通道转角——摄像头故障未修复,已报修三个月” “41层监控中心外走廊——每周三、五20:00-21:00保洁时段,摄像头关闭” “地下停车场c区柱132旁——信号屏蔽,监控画面雪花” …… 路容的手指在触摸板上滑动,放大每一个红点区域的细节。注释的字迹很工整,用的是蓝色圆珠笔,笔画有力,但有些地方因为用力过猛而留下了凹痕。她能想象老吴画这张图时的样子——坐在某个角落里,避开所有人的视线,一笔一划地记录下这些漏洞。 这些信息太珍贵了。 有了这张图,她在大厦里的行动就有了路线图。那些监控盲区、故障摄像头、定时关闭的时段,都是可以利用的窗口。尤其是每周三、五晚上八点到九点,监控中心外的走廊摄像头会关闭——那正是老吴告诉她的轮班时间。 路容把这张图看了三遍,确认每一个细节都记在脑子里,然后关闭文档。 第二个文档:“服务器日志_路径规则”。 这个文档更技术性一些,列出了星耀集团内部各种服务器日志的默认保存路径、命名规则、保留周期。路容快速浏览,目光停留在几行字上: “核心业务数据库访问日志:/var/log/db_ess/,按日期分目录,保留90天” “员工终端操作日志:/nas/log/terminal/,按部门分目录,保留180天” “网络安全事件日志:/secure/log/incident/,实时同步至离线备份,永久保留” (本章未完,请点击下一页继续阅读)第10章:盟友的馈赠(第2/2页) 永久保留。 路容的心跳加快了一些。如果三年前天启科技的那次“泄密事件”在星耀内部也有记录,如果李剑当时用了类似的手段,那么这些日志里可能会有线索。但问题是,她需要访问这些日志服务器,而权限…… 她继续往下看。 文档的最后有一段手写的备注,字迹和拓扑图上的注释一样: “日志服务器访问需要三级以上权限,但备份系统每周六凌晨3点自动全量备份至磁带库,磁带库在b1层档案室,物理访问需门禁卡+值班员签字。值班员老陈,周六上午9点换班,喜欢抽红塔山。” 路容盯着这段话。 老吴连这个都写下来了。磁带库的物理位置、访问流程、值班员的喜好。这意味着什么?意味着老吴认为她可能需要去那里,意味着那些日志里可能有她需要的东西。 她关闭文档,深吸一口气。 第三个文档:“事件摘要_2019q4_数据泄露”。 文档只有一页,内容很简洁,像是一份内部调查报告的摘要。路容点开,目光扫过第一行字: “事件时间:2019年11月15日-11月20日” “涉及部门:市场部、技术部” “泄露数据类型:客户资料样本(脱敏后)约5000条” “初步调查结论:外部攻击,通过钓鱼邮件获取员工账号,已封堵漏洞” “处理措施:涉事员工书面警告,加强安全培训,事件未对外公开” 路容的眉头皱了起来。 2019年第四季度,星耀集团发生过数据泄露事件。客户资料,五千条,脱敏后的样本。调查结论是外部攻击,处理措施是警告员工、加强培训。看起来像是一次普通的安全事件,很多公司都会遇到。 但路容读第二遍时,发现了问题。 “涉事员工”这个表述很模糊。是哪个员工?市场部的还是技术部的?男的女的?什么职位?为什么没有具体名字? “书面警告”这个处理也很轻。数据泄露,哪怕是脱敏后的样本,按照星耀集团的安全规范,至少应该是记过处分,严重的可能开除。为什么只是书面警告? “事件未对外公开”——这倒正常,公司都会尽量掩盖负面消息。 但让路容真正在意的是最后一段,那是一段手写的补充,字迹有些潦草,像是后来加上的: “当时负责调查的是李副总(现任李剑副总裁),结论出得很快,三天就定了性。技术部的小王坚持说内部有嫌疑,被调去边缘项目。市场部那个被警告的员工,三个月后离职,去了竞争对手那里。现在想想,那五千条‘脱敏’数据,后来好像出现在某个数据交易平台的样本库里,标签是‘星耀真实客户画像(部分脱敏)’。” 路容盯着这段话,血液在耳膜里鼓噪。 处理方式。 太眼熟了。 快速定性,把责任推给外部攻击或某个替罪羊,涉事人员要么被边缘化,要么被迫离职,事件被压下去,数据最终流向黑市。三年前天启科技的那次“泄密事件”,李剑用的就是这套手法。只不过那次更狠,直接把她这个拒绝潜规则的技术骨干打成“内鬼”,让她身败名裂。 现在,老吴给了她另一个案例。 2019年,星耀集团内部,李剑还是副总的时候。同样的手法,同样的套路。这意味着什么?意味着李剑不是第一次干这种事,意味着他有成熟的运作模式,意味着…… 路容关闭文档,手指有些发凉。 她点开第四个文档,但里面是空的,只有一个文件名:“待补充”。她关掉,然后点开最后一个文件——那张图片。 图片文件名:“便签_照片_001”。 文件打开,是一张照片,拍得有些模糊,但能看清内容。 照片里是一张黄色的便签纸,贴在某个会议记录本的边缘,已经被撕下来一半。便签上的字是手写的蓝色圆珠笔字迹,行书,有些连笔,但能辨认: “深蓝计划二期数据出口方案,合规性存疑。法务部赵律师已介入梳理,建议暂缓对外传输,待风险评估完成。技术部需配合提供原始数据样本及加密协议细节。” 便签的右下角有打印的会议日期:“2023.08.15”,还有参会人员列表的缩印,字太小,看不清楚。 路容把图片放大。 便签纸的边缘有些卷曲,上面有咖啡渍的痕迹,已经干涸成褐色的斑点。纸张的纹理在照片里清晰可见,能看出是那种廉价的便利贴,背面有胶,但已经失去粘性。 她的目光落在文字上。 “深蓝计划二期数据出口方案,合规性存疑。” 这句话很关键。深蓝计划的数据要出口?出口到哪里?给谁?为什么合规性存疑?赵律师介入梳理——赵律师,法务部负责人,李剑的“白手套”。他介入,意味着这件事可能涉及法律灰色地带,需要专业人士来“处理”。 “建议暂缓对外传输,待风险评估完成。” 建议暂缓,但有没有真的暂缓?路容想起周哲今天在食堂说的话:“深蓝计划进入新阶段,数据量激增。”如果数据出口方案真的暂缓了,数据量怎么会激增?除非…… 她的手指在触摸板上滑动,把图片继续放大。 便签的右下角,会议日期和参会人员列表的旁边,有一个很小的区域,之前因为图片模糊没有看清。现在放大到极致,那个区域的像素点开始显现。 是一个签名。 电子签名,扫描后打印在便签上的。字很小,是英文花体字,两个字母: “l.j.” 路容的呼吸停止了。 房间里的一切声音都消失了——电脑风扇的嗡鸣、窗外的车流声、甚至她自己的心跳声。所有的感官都聚焦在那两个字母上,聚焦在那个她刻在骨子里的缩写上。 l.j. 李剑。 便签上的内容涉及深蓝计划数据出口合规性存疑,建议暂缓传输。而李剑的签名就在旁边。这意味着什么?意味着李剑知道这件事,意味着他可能批准了数据出口方案,哪怕合规性存疑。意味着赵律师的“介入梳理”,可能不是要阻止,而是要“合法化”这个行为。 路容盯着那张照片,眼睛一眨不眨。 时间一分一秒过去。 台灯的光线照在电脑屏幕上,反射出淡淡的光晕。她的影子在墙壁上凝固成一个静止的轮廓。房间里很冷,空调没有开,但寒意从脊椎一路爬上来,让她控制不住地打了个寒颤。 她找到了。 第一个直接证据。 一张便签照片,上面有李剑的签名,内容涉及深蓝计划数据出口的合规性问题。虽然这还不是铁证,还不能直接证明李剑在进行非法数据交易,但这是一个起点。一个可以追查的线索。 深蓝计划的数据出口方案。 赵律师的介入。 技术部需要提供原始数据样本和加密协议细节。 路容的脑海里开始拼接碎片。老吴给的拓扑图标出了监控盲区,日志路径规则指出了可能存放历史记录的位置,2019年的事件摘要展示了李剑的惯用手法,而现在这张便签照片,把李剑、赵律师、深蓝计划的数据出口问题直接联系在了一起。 这是一个完整的链条。 一个盟友的馈赠。 路容缓缓靠回椅背,闭上眼睛。她能感觉到心脏在胸腔里剧烈跳动,血液在血管里奔流。三年来,第一次,她手里握住了实实在在的东西。不是猜测,不是推理,而是一张照片,一个签名,一段指向明确的文字。 老吴。 这个在it部干了十几年,被边缘化,沉默寡言的老技术员。他为什么要给她这些?是因为看不惯李剑的所作所为?是因为自己也曾是受害者?还是因为…… 路容睁开眼睛,看向电脑屏幕。 照片还停留在放大状态,l.j.两个字母在像素点中清晰可见。她伸出手,手指轻轻触碰屏幕,指尖传来液晶屏微凉的触感。 “谢谢。” 她轻声说,声音在寂静的房间里几乎听不见。 然后她开始行动。 先把u盘里的所有文件复制到电脑的加密分区里,设置三重密码。然后清空u盘,只留下那个“安全规范.pdf”文件。接着,她打开文本编辑器,开始整理笔记: “监控盲区:b2东南角(15分钟)、28层消防通道(永久故障)、41层走廊(周三五20-21点关闭)、停车场c区132柱(信号屏蔽)” “日志磁带库:b1档案室,周六凌晨3点备份,值班员老陈(红塔山)” “2019年数据泄露事件:李剑调查,快速定性,涉事员工边缘化/离职,数据最终出现在黑市样本库” “深蓝计划数据出口方案:合规性存疑,赵律师介入,李剑签名,建议暂缓但可能未执行” 她一条一条写下来,字迹工整,逻辑清晰。写完后,她打印出来,用打火机点燃,看着纸张在烟灰缸里慢慢烧成灰烬。灰烬是黑色的,边缘卷曲,散发出纸张燃烧特有的焦味。 然后她重新打开电脑,把加密分区里的文件再次备份到另一个移动硬盘里,把硬盘锁进床头柜的暗格。 做完这一切,已经是晚上十点。 路容关掉电脑,拔掉电源。房间里只剩下台灯的光线,昏黄而温暖。她走到窗边,拉开窗帘的一角。 深港市的夜景在窗外展开。高楼大厦的灯光像繁星一样铺满视野,车流在街道上划出流动的光带。远处,星耀大厦的轮廓在夜色中清晰可见,顶层的几扇窗户还亮着灯,像黑暗中睁开的眼睛。 路容看着那栋大厦,看了很久。 她的手里握着u盘,塑料外壳已经被她的体温焐热。那个微型信号***在指尖下微微凸起,像一颗埋藏的种子,终于开始发芽。 老吴给了她地图,给了她钥匙,给了她第一个证据。 现在,轮到她走进迷宫了。 第11章:周哲的午餐 第11章:周哲的午餐(第1/2页) 周三晚上八点十分,星耀大厦四十一层。 路容站在消防通道的门后,透过门缝观察着走廊。走廊里光线昏暗,只有几盏应急指示灯发出幽幽的绿光。空气里弥漫着消毒水的味道,混合着中央空调送出的冷风。她能听到远处传来的吸尘器嗡鸣声——保洁人员正在工作。 老吴的地图是对的。 走廊尽头那个原本应该亮着红点的监控摄像头,此刻镜头盖是闭合的。她数了数时间,从八点整开始,摄像头已经关闭了十分钟。保洁时段,监控关闭,这是星耀大厦为了节省电力和维护成本而制定的规则,现在成了她的机会。 路容深吸一口气,推开消防通道的门。 门轴发出轻微的吱呀声,在空旷的走廊里显得格外清晰。她立刻停下动作,屏住呼吸。吸尘器的声音还在远处,没有变化。她侧身闪出,轻轻带上门,然后贴着墙壁,朝走廊深处移动。 脚下是深灰色的地毯,吸音效果很好,她的脚步声几乎听不见。墙壁是米白色的,每隔几米就挂着一幅抽象画,画框在应急灯的绿光下投出扭曲的影子。她能闻到地毯清洁剂残留的柠檬味,还有从某个办公室门缝里飘出来的咖啡香气——有人加班。 监控中心在走廊中段,双开的磨砂玻璃门,门牌上写着“网络安全监控中心”。门禁系统是银灰色的读卡器,旁边有一个数字键盘。路容在距离门口五米的地方停下,躲在一盆大型绿植后面。 透过绿植的叶片缝隙,她能看见玻璃门后的情况。 监控中心里灯火通明,至少有二十块屏幕在同时闪烁。屏幕的光映在玻璃上,形成一片流动的光斑。她能看见一个穿着保安制服的身影坐在控制台前,背对着门,正在操作着什么。那就是小张,今晚的值班员。 路容看了看手表:八点十五分。 按照老吴提供的信息,小张的值班时间是晚上八点到凌晨四点。现在是他刚接班不久,精神应该还比较集中。她需要观察他的工作习惯,看看有没有什么规律可循。 就在这时,走廊另一头传来了脚步声。 路容立刻缩回绿植后面,心脏猛地收紧。脚步声很轻,是软底鞋踩在地毯上的声音,还伴随着轮子滚动的声音——是保洁车。她透过叶片的缝隙看去,两个穿着蓝色工作服的保洁员正推着车朝这边走来。 她们在距离监控中心还有三个办公室的地方停下,开始清理垃圾桶。 路容屏住呼吸,身体紧贴着墙壁。绿植的叶片擦过她的脸颊,带着塑料的质感。她能听到保洁员们的对话声,虽然压低了,但在安静的走廊里依然清晰。 “昨晚又是小张值班吧?”一个年纪稍大的声音。 “是啊,我进来收垃圾的时候,看见他桌上放着奶茶。”另一个年轻些的声音,“还是那家很贵的,一杯要三十多。” “又有人给他送?” “可不是嘛。上个月是王总监的助理送过一次,这个月不知道又是谁。” “啧啧,这岗位……” 声音渐渐低下去,变成了窃窃私语。路容竖起耳朵,但只捕捉到几个零碎的词:“……数据出口……备份……磁带库……” 她的心跳加快了。 保洁员收拾完那个区域的垃圾桶,推着车继续往前走。轮子在地毯上滚动,发出沉闷的声响。她们经过监控中心门口时,小张从里面打开了门。 “张哥,还没下班啊?”年轻保洁员打招呼。 “早着呢,到四点。”小张的声音听起来很放松,“你们今天挺晚的。” “b2层有个部门加班,刚收拾完。”年长保洁员说,“对了,你桌上那奶茶……” “哦,朋友送的。”小张的语气突然变得含糊,“你们忙吧,我回去盯着了。” 门关上了。 保洁员们推着车继续往前走,渐渐消失在走廊拐角。路容从绿植后面探出头,确认走廊里已经没有人,才缓缓吐出一口气。 刚才的对话在她脑海里回放。 奶茶。有人给小张送奶茶。上个月是王总监的助理,这个月不知道是谁。这意味着什么?小张这个监控中心的值班员,为什么会有人特意给他送东西?是单纯的同事关系,还是…… 路容的目光重新落在那扇磨砂玻璃门上。 门禁系统是标准的刷卡加密码锁。她仔细观察读卡器的型号:h3cimc3000系列,企业级门禁系统。这种系统通常需要员工卡和六位数字密码双重验证。密码可能是个人设置,也可能是统一分配的。 她记下了型号,然后继续观察。 小张在监控中心里走动了几次,每次都是起身去接水,或者去后面的小休息室。路容注意到,他每次离开控制台的时间都不超过三分钟。而且,他离开时,监控中心的门并没有锁——只是虚掩着。 这意味着什么? 意味着如果能在三分钟内完成操作,并且不触发任何警报…… 路容摇了摇头,把这个危险的念头压了下去。现在还太早,太冒险。她需要更多信息,需要了解监控中心的内部布局,需要知道那些屏幕分别监控哪些区域,需要找到日志系统的访问入口。 她看了看手表:八点二十五分。 保洁时段还有五分钟结束。她必须离开了。 路容最后看了一眼监控中心,然后转身,贴着墙壁,沿着来时的路返回。消防通道的门就在十米外,她推开门的瞬间,听到走廊里传来“嘀”的一声轻响。 监控摄像头的镜头盖打开了,红色的指示灯亮起。 她闪身进入消防通道,轻轻关上门,背靠着冰冷的金属门板,长长地舒了一口气。 楼梯间里很暗,只有每层楼梯转角处有一盏声控灯。路容没有立刻下楼,而是在台阶上坐了下来。水泥台阶很凉,透过薄薄的裤料传到皮肤上。她能闻到楼梯间里灰尘和潮湿混合的气味,还有远处隐约传来的城市噪音。 她从口袋里掏出手机,打开备忘录,开始记录: “41层监控中心观察: 1.值班员小张,晚8-凌晨4班次 2.门禁:h3cimc3000,刷卡+密码 3.小张离开控制台时间≤3分钟,门虚掩 4.有人送奶茶(上月王总监助理,本月未知) 5.保洁员提及‘数据出口’‘备份’‘磁带库’(待核实)” 写完后,她收起手机,站起身。 腿有些发麻,她扶着栏杆活动了一下,然后开始下楼。脚步声在空旷的楼梯间里回荡,声控灯一层层亮起,又一层层熄灭。从四十一层到一楼,她走了整整十五分钟。 走出大厦时,已经是晚上八点五十。 深港市的夜晚完全降临了。街道上车流如织,霓虹灯把整条街照得如同白昼。路容站在大厦门口,看着进进出出的人群——有刚加完班拖着疲惫脚步的员工,有穿着西装还在打电话谈业务的中层,有拎着外卖匆匆跑进去的快递员。 她深吸了一口夜晚的空气,空气里有汽车尾气的味道,有路边小吃摊的油烟味,还有这座城市永不熄灭的活力。 然后她转身,朝地铁站走去。 *** 周四中午十二点十分,星耀集团员工食堂。 食堂在三楼,占据了整整一层楼的空间。落地窗外是深港市的天际线,阳光透过玻璃洒进来,在光洁的地板上投下明亮的光斑。空气里弥漫着各种食物的气味——炒菜的油烟、炖汤的香气、油炸食品的酥脆味道,还有消毒水清洁过后的淡淡气味。 路容端着餐盘,在人群中穿行。 食堂里人声鼎沸,几百个员工在这里用餐。交谈声、笑声、餐盘碰撞声、椅子拖动声,所有声音混合在一起,形成一种嘈杂而充满生命力的背景音。她刻意避开人群密集的区域,朝食堂最里面的角落走去。 那里有一排靠窗的座位,因为距离取餐区最远,通常人比较少。 她在一个双人桌旁坐下,把餐盘放在桌上。餐盘里是一份清炒西兰花,一份红烧鸡块,一碗米饭,还有一小碗紫菜蛋花汤。食物的热气在空气中升腾,带着诱人的香味。 路容拿起筷子,夹起一块西兰花。 就在这时,一个身影在她对面坐了下来。 “不介意吧?”周哲端着餐盘,自然地放在桌上,“看你总一个人。” 路容抬起头。 周哲今天穿着浅蓝色的衬衫,袖子挽到手肘,露出结实的小臂。他的餐盘里堆得满满的——两份荤菜,一份素菜,还有两个馒头。他脸上带着温和的笑容,眼睛在食堂明亮的灯光下显得很清澈。 “不介意。”路容说,声音通过变声器处理后,带着一种中性的柔和。 “那就好。”周哲拿起筷子,“我其实也经常一个人吃,今天正好看到你。” 路容低下头,继续吃饭。她能感觉到周哲的目光在她身上停留了几秒,然后移开了。食堂的嘈杂声在耳边回荡,但她能清晰地听到自己咀嚼食物的声音,还有心跳的声音。 “最近工作怎么样?”周哲问,语气随意,“适应了吗?” “还好。”路容说,“数据清洗的工作量比较大,但还能应付。” “嗯,王总监那边……”周哲顿了顿,“她要求一向很高。不过你做得不错,上次那个异常检测的报告,李总还特意提了一句。” 路容的手微微一顿。 李剑提了她的报告? “是吗?”她让自己的声音听起来平静,“我只是按照规范操作。” “规范操作能做到那个程度,已经很厉害了。”周哲咬了一口馒头,“很多老员工都做不到那么细致。对了,你听说了吗?‘深蓝计划’要进入新阶段了。” 路容抬起头:“新阶段?” “嗯。”周哲咽下食物,喝了口汤,“数据量会激增,听说至少要翻三倍。清洗和标注的工作量会很大,王总监已经在考虑要不要把一部分外包出去,或者……” 他看了路容一眼:“压给新人。” 路容的心跳加快了。 她放下筷子,表现出适度的好奇:“数据量会增加到什么程度?现在的系统能承受吗?” “系统没问题,星耀的服务器集群足够强大。”周哲说,“关键是数据处理环节。特别是数据加密和传输协议,要保证在大量数据流动的情况下,安全性和效率的平衡。” “加密协议……”路容小心地选择着措辞,“是用公司自研的那套吗?我上次在内部文档里看到过介绍,但不太理解其中的密钥交换机制。” 周哲看了她一眼,眼神里闪过一丝惊讶。 “你对技术细节很感兴趣啊。”他说,“大部分新人只关心怎么完成工作,很少问这些底层的东西。” “我觉得了解原理,才能更好地工作。”路容说,声音里带着恰到好处的谦逊。 周哲笑了笑,那笑容很真诚。 “你说得对。”他说,“加密协议确实是自研的,基于国密算法做了改良。密钥交换用的是改进的ecdh协议,每次会话都会生成临时密钥,前向安全性很好。传输层用的是公司定制的tls协议,证书体系是独立的,不和外部ca交互。” (本章未完,请点击下一页继续阅读)第11章:周哲的午餐(第2/2页) 他说得很详细,但都在公开技术文档的范围内,没有涉及核心机密。 路容认真地听着,偶尔点头。她能感觉到周哲在分享这些知识时的愉悦——那是一种技术人员面对同样对技术感兴趣的人时,自然产生的共鸣。 “不过说实话,”周哲话锋一转,语气里多了些感慨,“有时候我觉得,数据本身比怎么处理它更敏感。” 路容抬起头:“什么意思?” “你看啊。”周哲用筷子在餐盘上比划着,“加密算法再强,传输协议再安全,最终数据还是要被人使用的。而一旦数据到了人手里,就有了泄露的可能。权限管理、访问控制、操作审计……这些人为的环节,其实比技术环节更脆弱。” 他顿了顿,压低声音:“‘深蓝计划’的数据,你知道是什么级别的吗?” 路容摇头。 “s级。”周哲说,“公司最高密级。按照规范,这种级别的数据,从采集、清洗、标注到训练,全流程都应该在物理隔离的环境里进行。但现在为了赶进度,很多环节都放到了普通办公网络里。” 他的声音更低了:“我听说,数据出口方案……有点问题。” 路容的呼吸几乎停止了。 她强迫自己保持平静,夹起一块鸡块,慢慢地咀嚼。鸡肉很嫩,酱汁的味道在舌尖化开,但她几乎尝不出味道。 “什么问题?”她问,声音尽量自然。 周哲看了看四周,确认没有人注意他们,才继续说:“合规性存疑。赵律师那边在‘梳理’,但你知道的,法务部‘梳理’的意思,通常就是……” 他没有说完,但路容懂了。 就是找法律漏洞,让不合规的事情看起来合规。 “这些事,我们小员工还是少打听。”周哲突然笑了笑,那笑容里有些无奈,“做好自己的本职工作就行了。来,吃饭,菜都要凉了。” 路容点点头,继续吃饭。 但她的心思已经完全不在食物上了。周哲的话在她脑海里反复回响:数据出口方案、合规性存疑、赵律师梳理……这些信息,和老吴给的便签照片完全吻合。 她需要更多细节。 “如果数据量真的翻三倍,”她重新挑起话题,“清洗工作会不会引入新的工具?我听说有些ai辅助清洗的软件,效率很高。” “可能会。”周哲说,“不过那些工具通常需要把数据上传到第三方平台,安全审查很麻烦。王总监更倾向于用内部工具,或者……让新人手动处理。” 他说到“手动处理”时,语气里有一丝不易察觉的同情。 “手动处理s级数据?”路容问,“这符合规范吗?” 周哲看了她一眼,那眼神很复杂。 “若溪,”他说,“在星耀,规范是给遵守规范的人定的。对于有些人来说,规范……是可以变通的。” 他说得很隐晦,但路容听懂了。 两人沉默地吃了一会儿饭。食堂的嘈杂声似乎更大了,远处传来一阵笑声,几个年轻员工正在分享什么有趣的事情。阳光透过窗户,在餐桌上投下明亮的光斑,光斑随着时间慢慢移动。 路容餐盘里的食物已经吃完了,她端起汤碗,小口喝着。紫菜蛋花汤很清淡,带着海藻的鲜味和鸡蛋的香气。 周哲也吃完了,他把筷子整齐地放在餐盘上,然后看着路容。 他的目光很专注,专注到让路容有些不自在。 “若溪,”他开口,声音比刚才更轻,“你……是不是以前经历过什么事?” 路容的手一抖,汤碗里的汤晃了一下,几滴溅到了桌上。 “为什么这么问?”她问,声音通过变声器后,依然保持着平稳。 “就是一种感觉。”周哲说,他的眼神很认真,“有时候你看数据的眼神,不像新人,倒像……” 他顿了顿,似乎在寻找合适的词。 “倒像一个曾经失去过什么,现在拼命想要找回来的人。” 路容的心脏猛地收缩。 她能感觉到血液冲上脸颊,耳朵里嗡嗡作响。食堂的嘈杂声突然变得遥远,周哲的声音却异常清晰,每一个字都像针一样扎进她的意识里。 她放下汤碗,碗底和桌面碰撞,发出轻微的“咔”声。 “我只是对工作比较认真。”她说,声音依然平稳,但只有她自己知道,这句话说得多艰难。 周哲看着她,看了很久。 然后他笑了,那笑容很温和,甚至有些温柔。 “可能是我多想了。”他说,“抱歉,不该问这些的。” 他站起身,端起餐盘:“我下午还有个会,先走了。你慢慢吃。” 路容点点头,没有说话。 周哲转身离开,他的背影在食堂的人群中穿行,渐渐远去。路容坐在原地,看着他的背影消失在大门处,然后才缓缓吐出一口气。 她的手在桌下握成了拳,指甲深深陷进掌心。 疼痛让她清醒了一些。 她端起餐盘,站起身,朝餐具回收处走去。脚步很稳,表情很平静,就像任何一个吃完午饭准备回去工作的普通员工。 但她的脑海里,周哲的那句话在反复回响: “倒像一个曾经失去过什么,现在拼命想要找回来的人。” *** 下午一点半,数据分析部办公区。 路容坐在工位上,盯着电脑屏幕。屏幕上打开的是“深蓝计划”外围数据清洗的工作界面,一行行数据在滚动,但她一个字也看不进去。 周哲的话还在耳边。 他察觉到了什么?是她的技术细节问得太专业?是她看数据的眼神太专注?还是……她身上有什么破绽,是她自己都没有意识到的? 路容闭上眼睛,深吸一口气。 冷静。必须冷静。 周哲只是随口一问,不一定真的怀疑什么。就算他有所察觉,也不可能猜到她的真实身份。她现在需要做的,是继续扮演好“若溪”这个角色,一个认真工作、对技术感兴趣的新人。 她睁开眼睛,重新看向屏幕。 手指在键盘上敲击,开始处理数据。敲击声很轻,但在安静的办公区里依然清晰。她能听到周围同事的键盘声、鼠标点击声、偶尔的咳嗽声,还有中央空调送风的嗡嗡声。 阳光从窗户斜照进来,在办公桌上投下明亮的光斑。光斑里有细小的灰尘在飞舞,像无数微小的生命在空气中游荡。 路容工作了两个小时。 下午三点半,内部通讯软件弹出一条消息。 是王总监发来的:“若溪,来我办公室一趟。” 路容的心跳漏了一拍。 她回复:“好的,马上到。” 然后她站起身,整理了一下衬衫的衣领,朝王总监的办公室走去。走廊里很安静,只有她的脚步声在地毯上发出轻微的沙沙声。她能闻到空气里残留的咖啡香气,还有打印机墨粉的味道。 王总监的办公室在走廊尽头,门关着。 路容敲了敲门。 “进来。”里面传来王总监的声音。 路容推门进去。 办公室很大,落地窗外是深港市的天际线。王总监坐在宽大的办公桌后,正在看一份文件。她今天穿着深灰色的西装套裙,头发一丝不苟地盘在脑后,脸上化着精致的妆容。 “王总监。”路容说。 王总监抬起头,看了她一眼,那眼神很锐利。 “坐。”她说,指了指办公桌前的椅子。 路容坐下。椅子是真皮的,坐下去很柔软,但她的背脊挺得笔直。 “有个任务要交给你。”王总监放下文件,双手交叠放在桌上,“‘深蓝计划’新阶段的数据清洗工作,需要提前准备。我打算让你负责第一批数据的初步清洗。” 路容的心跳加快了。 “第一批数据量有多大?”她问。 “大约500gb。”王总监说,“都是文本数据,需要做去重、去噪、格式标准化。时间比较紧,下周一就要完成。” 路容在心里快速计算:500gb文本数据,按照常规清洗速度,至少需要三天。今天是周四,下周一交,意味着她需要加班。 “我能问一下,”她小心地选择措辞,“这批数据的密级是?” 王总监看了她一眼,那眼神里闪过一丝什么,但很快消失了。 “a级。”她说,“所以清洗工作必须在公司内网完成,不能带出公司。我会给你开通临时权限,允许你在非工作时间进入办公区。” 路容点点头:“我明白了。” “还有,”王总监从抽屉里拿出一份文件,“这是数据清洗的具体规范,你仔细看看。特别是数据出口前的检查项,一定要严格执行。” 路容接过文件。 文件的封面写着:“深蓝计划数据清洗规范_v3.2”。她翻开第一页,里面详细列出了清洗流程、质量要求、安全规范。在最后一节“数据出口检查”里,列出了十七个检查项,包括加密状态、完整性校验、传输协议确认等等。 她的目光落在第七条:“确认数据接收方已通过安全审查。” 这一条后面打了个星号,标注着:“如接收方为外部合作单位,需提供法务部出具的合规性审查报告。” 路容抬起头:“这批数据……要出口?” 王总监的表情没有变化。 “只是可能。”她说,“公司正在评估多个合作方案,数据可能会提供给合作伙伴进行联合建模。所以清洗工作要格外仔细,确保数据质量。” 她顿了顿,补充道:“这也是为什么选你。你工作细致,出错率低。” 路容点点头,没有说话。 她拿着文件站起身:“那我先回去看规范,尽快开始工作。” “去吧。”王总监说,重新拿起桌上的文件,“对了,若溪。” 路容停下脚步。 “好好干。”王总监看着她,脸上露出一个标准的职业微笑,“这个机会很难得。” 路容也回以一个微笑:“谢谢王总监。” 她转身离开办公室,轻轻带上门。 走廊里,她背靠着冰冷的墙壁,闭上眼睛。 手里的文件沉甸甸的。 深蓝计划数据清洗。a级密级。可能出口。法务部合规性审查。 所有这些信息,都在指向同一个方向。 她睁开眼睛,朝办公区走去。脚步很稳,表情很平静,就像任何一个接到重要任务的员工,既感到压力,又充满干劲。 但只有她自己知道,她的心里,有什么东西正在燃烧。 第12章:王总监的陷阱 第12章:王总监的陷阱(第1/2页) 路容回到工位,将那份《深蓝计划数据清洗规范_v3.2》放在桌上。纸张边缘在办公室的灯光下泛着冷白的光泽。她翻开文件,目光落在“数据出口检查”那一节,手指轻轻划过“法务部合规性审查报告”那几个字。窗外,深港市的午后阳光正烈,高楼玻璃幕墙反射出刺眼的光芒。她打开电脑,登录内网,申请临时权限。系统提示需要王总监二次审批。她点击提交,然后靠在椅背上,看着屏幕上跳转的进度条。办公室里的键盘声此起彼伏,中央空调吹出的冷风拂过她的后颈。她拿起桌上的水杯,喝了一口,水温刚好,带着淡淡的柠檬味。然后她开始阅读规范的第一章,字句在眼前清晰,每一个标点都像是一个等待被解答的谜题。 周五上午九点十分,路容刚完成第一批数据的预处理脚本测试,内网邮箱弹出一条紧急通知。 “数据分析部全体成员:请于九点半到三号会议室参加紧急会议。王总监。” 邮件的发送时间是九点零五分。 路容看了眼电脑右下角的时间,还有二十分钟。她保存了脚本,关闭了正在运行的测试程序。办公室里的气氛已经变了,键盘声稀疏下来,有人低声交谈,椅子拖动的声音此起彼伏。她旁边的林晓探过头来,脸上带着不安。 “若溪姐,你说是什么事啊?这么急。” 林晓的声音压得很低,带着年轻人特有的紧张。路容注意到她的手指在桌面上无意识地敲击,指甲修剪得很整齐,涂着淡粉色的指甲油。 “不知道。”路容说,声音平静,“去了就知道了。” 她站起身,拿起笔记本和笔。笔记本是公司统一配发的黑色硬壳本,封面光滑,摸上去有细微的颗粒感。笔是普通的黑色签字笔,笔帽上有一圈银色的金属环。她把笔夹在笔记本的侧边,动作很慢,像是在给自己争取思考的时间。 九点二十五分,路容走进三号会议室。 会议室不大,长方形,能容纳十五人左右。深灰色的地毯,米白色的墙壁,一面墙是整块的玻璃白板,另一面挂着星耀集团的logo——银色的星辰图案,在灯光下泛着冷光。会议桌是深色实木,桌面上已经摆好了几瓶矿泉水,瓶身上凝结着细小的水珠。空调温度开得很低,路容一进门就感到一股寒意从手臂蔓延开来。 王总监已经坐在主位。 她今天穿了一套深蓝色的西装套裙,头发一丝不苟地梳在脑后,露出光洁的额头。她的面前放着一台笔记本电脑,屏幕亮着,映出她面无表情的脸。她的手指在触控板上滑动,动作很轻,但路容注意到她的指尖有些发白——那是用力按压的痕迹。 陆陆续续有人进来,找了位置坐下。路容选了靠窗的位置,离王总监不远不近。林晓坐在她旁边,呼吸有些急促。路容能闻到她身上淡淡的香水味,是某种花果香调,混合着会议室里消毒水的味道,形成一种奇怪的气味组合。 九点三十分整,王总监抬起头。 “人都到齐了。”她的声音不高,但会议室里立刻安静下来,“关上门。” 坐在门口的人起身关上了门。门锁发出轻微的咔哒声,在安静的房间里格外清晰。路容感到空气似乎更冷了,空调出风口正对着她的方向,冷风直接吹在她的后颈上。 王总监的目光扫过在座的每一个人,最后停留在路容脸上,停留了大约两秒钟,然后移开。 “今天临时召集大家,是因为‘深蓝计划’出了严重问题。”她的声音很平静,但平静之下有一种紧绷感,“昨天下午,技术部在对第一批清洗完成的数据进行质量检查时,发现数据存在严重污染。” 会议室里响起一阵轻微的骚动。 路容没有动。她保持着原来的坐姿,背挺得很直,双手放在桌面上,手指轻轻交叠。她能感觉到旁边林晓的身体僵了一下。 “污染的具体表现是,”王总监继续说,手指在笔记本电脑上敲击了几下,“部分关键字段被随机替换成了无意义字符。比如用户id字段,原本应该是十六位数字,现在变成了乱码。比如时间戳字段,原本应该是标准的时间格式,现在变成了随机字符串。” 她调出一张截图,投影到白板上。 白板上出现了一行行数据。路容的目光立刻锁定在那些异常字段上。确实如王总监所说,一些字段的内容完全混乱了,字母、数字、符号混杂在一起,没有任何规律。但她的注意力没有停留在数据本身,而是快速扫过数据的格式、排版、字段顺序。 “这批数据原本计划今天上午交付给技术部,用于模型训练的初步测试。”王总监的声音冷了下来,“现在因为污染问题,交付必须推迟。李总已经知道这件事了,非常生气。” 她顿了顿,目光再次扫过全场。 “李总的意思是,必须有人为这件事负责。” 会议室里鸦雀无声。路容能听到空调出风口的嗡嗡声,能听到旁边林晓吞咽口水的声音,能听到远处办公室传来的模糊电话铃声。她看着白板上的数据截图,大脑在飞速运转。 这些数据,她认识。 上周三到周五,她花了整整三天时间,清洗了这批数据。500gb的文本数据,她逐条检查了格式,编写了清洗脚本,运行了去重算法,最后生成了清洗报告。每一个步骤她都记得清清楚楚,因为这是她进入星耀后接手的第一个重要任务,她不敢有丝毫马虎。 “经过初步排查,”王总监的声音再次响起,“问题出在数据清洗环节。” 路容抬起眼睛。 王总监的目光正看着她。 “上周负责这批数据初步清洗的,是若溪和林晓。”王总监说,声音很平稳,但每个字都像钉子一样钉进空气里,“技术部检查了数据的时间戳,污染发生的时间段,正好是她们两人操作的时间。” 林晓猛地吸了一口气。 路容能感觉到她的身体在颤抖,椅子发出轻微的吱呀声。 “我、我没有……”林晓的声音很小,带着哭腔,“我都是按照规范操作的……” “林晓。”王总监打断她,声音里没有温度,“现在不是辩解的时候。数据摆在这里,污染是事实。” 她调出另一张截图。 “这是数据清洗系统的操作日志。”她说,“你们可以自己看。” 白板上出现了操作日志的截图。路容的目光立刻锁定在时间戳上。日志显示,上周三下午两点到四点,周四上午九点到十一点,周五全天,都有数据清洗操作记录,操作者id显示为“ruoxi_001”和“linxiao_002”。 路容的瞳孔微微收缩。 她记得很清楚,上周五她确实在清洗数据,但那天下午三点之后,她因为要参加一个临时培训,提前结束了工作。培训是王总监亲自通知的,内容是“新员工数据安全规范”。培训地点在五楼的小会议室,从两点半开始,到四点半结束。 那段时间,她根本不在工位上。 “王总监,”路容开口,声音平静,“我能看一下完整的操作日志吗?包括系统自动生成的备份日志。” 王总监看了她一眼,那眼神里有什么东西一闪而过。 “当然可以。”她说,手指在笔记本电脑上操作了几下,“我已经把相关日志导出到共享文件夹了。会议结束后,你们可以自己去查看。” 她顿了顿,补充道:“不过我要提醒你们,技术部已经确认,污染就是在清洗环节发生的。现在的问题不是谁操作了数据,而是为什么会发生污染,以及如何补救。” “我要求查看原始数据副本。”路容说,声音依然平静,“以及清洗过程中生成的中间文件。如果真的是清洗环节的问题,中间文件应该能反映出污染的具体过程。” (本章未完,请点击下一页继续阅读)第12章:王总监的陷阱(第2/2页) 王总监沉默了几秒钟。 会议室里的空气仿佛凝固了。路容能感觉到所有人的目光都集中在她身上,有好奇,有同情,有审视,也有幸灾乐祸。她保持着原来的坐姿,背挺得很直,目光平静地看着王总监。 “原始数据副本已经交给技术部分析了。”王总监终于说,“中间文件……系统会自动清理,可能已经不存在了。” “系统会在清洗完成后72小时才清理中间文件。”路容说,声音很轻,但每个字都很清晰,“按照时间推算,中间文件应该还在。” 王总监的嘴角微微抽动了一下。 “若溪,你对系统流程很熟悉啊。”她说,语气里带着一丝不易察觉的审视。 “入职培训时学过。”路容回答,表情没有任何变化,“数据清洗规范里也有详细说明。” 王总监盯着她看了几秒钟,然后移开目光。 “好,我会让技术部把中间文件也发到共享文件夹。”她说,“但是若溪,林晓,我希望你们明白现在的处境。李总已经发话了,如果今天下班前不能给出合理的解释和解决方案,就要按严重失职处理。” 她顿了顿,声音更冷了。 “严重失职的后果,你们应该清楚。” 林晓终于忍不住哭了出来。 压抑的抽泣声在安静的会议室里格外刺耳。路容能听到她吸鼻子的声音,能听到她手指抓挠桌面的声音,能闻到她眼泪混合着香水的气味。她没有转头去看林晓,目光依然停留在王总监脸上。 “王总监,”路容说,“我能现在就看操作日志吗?” 王总监看了她一眼,然后点了点头。 “可以。”她说,把笔记本电脑转向路容的方向,“你自己看吧。” 路容站起身,走到王总监身边。笔记本电脑的屏幕很亮,映出她自己的脸——戴着黑框眼镜,表情平静,眼神专注。她弯下腰,手指放在触控板上,开始滚动操作日志。 日志很长,密密麻麻的时间戳、操作类型、操作者id、操作对象。路容的目光快速扫过,大脑像一台精密的机器,开始比对记忆中的时间线。 上周三下午两点到四点,她确实在清洗数据。日志显示,那段时间有大量的数据读取、格式转换、去重操作,操作者id是“ruoxi_001”。这和她记忆吻合。 上周四上午九点到十一点,她也在清洗数据。日志显示,那段时间有数据校验、异常值处理、生成清洗报告等操作,操作者id同样是“ruoxi_001”。这也和她记忆吻合。 问题出在上周五。 日志显示,上周五上午九点到下午五点,几乎全天都有数据清洗操作,操作者id是“ruoxi_001”和“linxiao_002”。操作类型包括数据加密、字段映射、格式标准化等等。 但路容记得很清楚,上周五她只工作到下午三点。三点之后,她去了五楼参加培训。培训是王总监亲自通知的,她还特意在日历上做了标记。 她继续往下滚动日志。 时间戳,时间戳,时间戳。 她的目光突然停住了。 上周五下午三点十五分,有一条操作记录:数据字段替换,操作者id“ruoxi_001”,操作对象“user_id_field”。 这条记录的时间,正好是她参加培训的时间。 路容的手指在触控板上停住了。她没有立刻说话,而是继续往下看。三点二十分,三点二十五分,三点三十分……连续几条操作记录,都是字段替换,操作者id都是“ruoxi_001”。 而这些操作,正是导致数据污染的直接原因。 “看完了吗?”王总监的声音在耳边响起。 路容直起身,目光从屏幕上移开。 “看完了。”她说,声音依然平静。 “有什么要说的吗?”王总监问。 路容沉默了几秒钟。 她能感觉到会议室里所有人的目光都集中在她身上,能听到林晓压抑的抽泣声,能闻到空气中弥漫的紧张气味。空调的冷风还在吹,她的手臂上起了一层细小的鸡皮疙瘩。 “日志显示,上周五下午三点之后,还有我的操作记录。”她终于开口,声音很轻,但每个字都很清晰,“但那个时间,我在五楼参加培训。培训是您亲自通知的,王总监。” 王总监的表情没有任何变化。 “培训?”她微微皱眉,“什么培训?” “新员工数据安全规范培训。”路容说,“上周三您亲自通知我的,说周五下午两点半到四点半,在五楼小会议室。” 王总监沉默了几秒钟,然后摇了摇头。 “我不记得有这回事。”她说,“而且就算有培训,你完全可以在培训间隙回工位操作。数据清洗系统支持远程登录,你可以在任何地方操作。” “培训期间不允许使用电子设备。”路容说,“培训讲师明确要求手机关机,笔记本也不能带。” “那你有没有离开过培训室?”王总监问,“比如去洗手间?” 路容看着她,没有说话。 她知道,这是一个陷阱。无论她怎么回答,王总监都有办法把责任推到她身上。如果说离开过,那么“离开的时间足够操作数据”就会成为理由。如果说没离开过,那么“你怎么证明你没离开过”就会成为问题。 “我需要查看完整的系统日志。”路容说,避开了王总监的问题,“包括登录日志、网络访问日志、文件操作日志。如果真的是我操作的,这些日志应该能反映出我的操作轨迹。” 王总监的嘴角微微上扬,那是一个几乎看不见的冷笑。 “完整的系统日志涉及公司安全,不能随便查看。”她说,“不过既然你坚持,我可以向技术部申请。但是若溪,我要提醒你,技术部已经初步判断问题出在清洗环节,你现在要求查看更多日志,只会让事情更复杂。” “如果问题确实出在清洗环节,我愿意承担责任。”路容说,声音很稳,“但我需要确凿的证据。现在的操作日志有时间上的矛盾,我需要弄清楚是怎么回事。” 王总监盯着她看了几秒钟。 会议室里的空气仿佛更冷了。路容能听到自己的心跳声,平稳而有力。她能感觉到汗水从后背渗出,浸湿了衬衫,但她的表情没有任何变化。 “好。”王总监终于说,“我给你24小时。” 她站起身,目光扫过全场。 “24小时内,若溪,你要么找出数据污染的真正原因,要么,就按严重失职处理。”她的声音很冷,像冰一样,“散会。” 她合上笔记本电脑,拿起桌上的文件夹,转身离开了会议室。 门在她身后关上,发出沉闷的响声。 会议室里安静了几秒钟,然后爆发出低低的议论声。有人同情地看了路容一眼,有人摇摇头,有人快速收拾东西离开,仿佛这里有什么不祥的东西。林晓还在哭,肩膀一耸一耸的,眼泪把脸上的妆都弄花了。 路容站在原地,没有动。 她的目光落在白板上,那些被污染的数据截图还投影在那里,乱码字符在灯光下显得格外刺眼。她的手指轻轻握紧,指甲陷进掌心,带来细微的刺痛感。 24小时。 她转身,朝门口走去。脚步很稳,背挺得很直,就像什么都没有发生过一样。 但只有她自己知道,她的心里,有什么东西正在燃烧。 那是三年前被浇灭的火,现在,又重新燃起来了。 第13章:将计就计 第13章:将计就计(第1/2页) 路容回到工位,没有立刻坐下。她站在窗前,看着楼下深港市的车流。阳光透过玻璃照进来,在地板上投出明亮的光斑。办公室里很安静,只有键盘敲击声和偶尔的电话铃声。她能感觉到背后有目光在注视,好奇的,同情的,幸灾乐祸的。她转过身,打开电脑。屏幕亮起,显示着时间:上午十点四十七分。24小时倒计时,现在开始。她登录内网,打开共享文件夹,下载了王总监提供的操作日志。文件不大,只有几mb。她解压缩,打开第一个日志文件。密密麻麻的文字在屏幕上滚动。她的手指放在键盘上,开始输入第一个查询命令。 日志在屏幕上展开,黑色的字符在白色背景上排列成行。路容的眼睛快速扫过每一行,寻找着那些她熟悉的标记。她记得很清楚,上周五下午清洗数据时,她按照自己的习惯,在系统中创建了三个临时文件:checkpoint_ruoxi_1103_1430.txt、checkpoint_ruoxi_1103_1520.txt、checkpoint_ruoxi_1103_1615.txt。这三个文件记录了她在不同阶段的清洗进度和参数设置,是她工作流程的一部分。在正常的系统日志中,这些文件的创建、修改、删除都应该有记录。 但王总监提供的日志里,什么都没有。 路容的手指在键盘上停顿了一下。她重新输入查询命令,扩大搜索范围,将时间范围扩展到整个上周五。结果依然一样——没有那些标记文件的任何记录。这不可能。除非有人手动删除了这些日志条目。 她靠在椅背上,闭上眼睛。办公室里空调的嗡嗡声变得清晰起来,混合着远处打印机工作的咔哒声。她能闻到空气中淡淡的咖啡味,还有某种清洁剂的柠檬香气。她的手指在桌面上轻轻敲击,节奏很慢,像是在计算着什么。 这是王总监设的局。不,不止是王总监。李剑一定在背后。他们想用这种方式把她赶出公司,或者更糟——让她背上商业泄密或重大失职的罪名。直接辩解没有用,王总监既然敢拿出这些剪辑过的日志,就说明他们已经准备好了说辞。她需要确凿的证据,需要完整的系统日志,需要看到那些被删除的记录。 她睁开眼睛,看向电脑屏幕右下角的时间:十一点零三分。 还有不到二十三小时。 她想起老吴。上周三在楼梯间,那个头发花白、穿着皱巴巴衬衫的it部老员工,递给她一张纸条,上面写着一串路径:“/var/log/secure_backup/,周三晚八点半后,监控盲区生效十五分钟。”老吴当时说得很含糊,只说如果她遇到麻烦,可以试试这个路径,但没解释具体怎么用。现在想来,那可能是某种备份日志的访问路径,而监控盲区,或许是她接近某些敏感区域的机会。 路容打开手机,调出日历。今天是周五。周三已经过去了。但老吴说的是“周三晚八点半后”,这意味着每周三晚上八点半,监控系统会有十五分钟的盲区?她需要确认。 她站起身,拿起桌上的水杯,朝茶水间走去。脚步很轻,像是随意散步。经过林晓的工位时,她瞥了一眼——林晓正趴在桌上,肩膀还在微微颤抖,旁边有两个女同事在低声安慰她。路容没有停留,径直走进茶水间。 茶水间里没有人。咖啡机发出咕噜咕噜的煮水声,空气里弥漫着浓郁的咖啡香。路容接了一杯温水,靠在料理台边,慢慢喝着。她的目光落在墙上的排班表上——那是保洁人员的排班表,但旁边还贴着一张保安值班表,用透明胶带粘着,边角已经卷起。 她走过去,假装整理自己的袖口,目光快速扫过那张表格。 保安值班表是按周排的,用黑色水笔手写,字迹有些潦草。她找到了周三晚上的那一栏:18:00-02:00,值班人:张小军(小张)。后面用红笔标注了一个小小的奶茶图标。 路容的瞳孔微微收缩。 她记得老吴提过保安小张——一个二十出头的年轻人,喜欢打游戏,值班时经常犯困,最爱喝全糖奶茶。老吴当时是随口说的,像是在抱怨现在的年轻人不敬业。但现在想来,那可能不是抱怨,而是信息。 路容放下水杯,走出茶水间。回到工位时,她的心里已经有了计划。 下午的工作照常进行。王总监没有再出现,但办公室里弥漫着一种压抑的气氛。同事们看路容的眼神更加复杂,有人刻意避开她的目光,有人在她经过时压低声音说话。路容没有理会,她专注地处理着手头的工作,偶尔在笔记本上记录着什么,看起来像是在认真查找数据污染的原因。 只有她自己知道,笔记本上写的是另一套东西。 时间:周三晚八点半。 地点:监控室所在楼层(b2层东侧走廊)。 目标:获取服务器日志备份系统的访问信息。 方法:利用监控盲区,接近值班保安小张,以查看监控为名,观察监控主机界面。 准备:一杯全糖奶茶。 她把这些要点写在笔记本的角落,字很小,用只有自己能看懂的符号做了标记。然后她撕下那一页,折成小块,塞进钱包的夹层里。 下午五点,下班时间到了。 同事们陆续离开,办公室里的灯一盏盏熄灭。路容没有走,她坐在工位上,看着电脑屏幕上的时间。六点,七点,七点半。窗外的天色渐渐暗下来,深港市的霓虹灯开始亮起,远处的写字楼像一个个发光的盒子。办公室里只剩下她一个人,顶灯已经关了,只有她工位上的台灯还亮着,在桌面上投出一圈暖黄色的光。 她打开手机,点开外卖软件,找到一家还在营业的奶茶店,点了一杯全糖珍珠奶茶,备注:多加珍珠,少冰。配送地址写的是公司楼下大堂。 七点五十分,外卖到了。 路容下楼取回奶茶。塑料杯很冰,表面凝结着细密的水珠,摸上去湿漉漉的。杯身上贴着的标签写着“全糖”,字是红色的,在灯光下很醒目。她提着奶茶回到办公室,放在桌上,然后开始等待。 八点十分。八点二十分。八点二十五分。 她关掉台灯,办公室陷入黑暗。只有电脑屏幕还亮着,显示着时间:八点二十八分。她站起身,拿起奶茶和手机,走出办公室。 走廊里很安静,感应灯随着她的脚步一盏盏亮起,投下苍白的光。她的脚步声在空旷的走廊里回响,很轻,但在这寂静中显得格外清晰。她能闻到空气中残留的消毒水味,还有某种金属的冷冽气息。电梯下到b2层,门打开时,一股更冷的空气涌进来。 b2层是设备层和监控室所在的地方。走廊很窄,天花板很低,裸露的管道纵横交错,表面刷着灰色的防锈漆。灯光是冷白色的,照在水泥地面上,反射出暗淡的光。路容沿着走廊向东走,脚步声在管道间回荡,像是有什么东西在跟着她。 她看到了监控室的门。 那是一扇厚重的金属门,漆成深灰色,门上有一个小小的观察窗,玻璃是单向的,从外面看不到里面。门旁边挂着一个牌子:“监控重地,闲人免进”。门缝底下透出一线光,很微弱,像是屏幕发出的光。 路容停下脚步,站在距离门五米远的地方。她看了眼手机:八点二十九分。还有一分钟。 她深吸一口气,调整了一下呼吸。然后她抬起手,敲了敲门。 里面没有回应。 她又敲了敲,这次用力了一些。 “谁啊?”一个含糊的声音从里面传来,带着刚睡醒的沙哑。 “我是数据分析部的若溪。”路容说,声音放得很轻,带着一点歉意,“不好意思打扰了,我有点急事。” 门开了。 一个年轻的保安探出头来,穿着深蓝色的制服,帽子歪戴着,眼睛还有些惺忪。他看起来二十出头,脸圆圆的,皮肤很白,嘴角还沾着一点口水渍。他看到路容,愣了一下,然后揉了揉眼睛。 “什么事?”他问,声音里带着警惕。 路容举起手里的奶茶,塑料杯在灯光下泛着微光。 “我点了奶茶,多买了一杯。”她说,脸上露出一个不好意思的笑容,“想着值班可能挺无聊的,就带下来了。全糖的,不知道你喜不喜欢。” 小张的眼睛亮了一下。他盯着那杯奶茶,喉结动了动。 “这……不太好吧。”他说,但手已经伸了出来。 “没事的,反正我也喝不完。”路容把奶茶递过去,塑料杯表面的水珠沾湿了她的手指,凉凉的。 小张接过奶茶,脸上的警惕放松了一些。他打开杯盖,吸管插进去,吸了一大口,然后满足地叹了口气。 “谢谢啊。”他说,声音变得友善多了,“你怎么这么晚还没走?” “加班。”路容说,叹了口气,“最近项目紧,压力大。对了,其实我还有件事想麻烦你。” “什么事?” 路容摸了摸自己的耳朵,脸上露出焦急的表情。 “我的一只耳钉掉了。”她说,“是男朋友送的,挺贵的。我记得下午在工位附近还戴着,晚上就发现不见了。能不能麻烦你帮我回看一下监控?就我工位附近,大概傍晚五六点的时候。” 小张犹豫了一下,又吸了一口奶茶。 “这个……监控不能随便看的。”他说。 “我知道,所以我才这么晚下来,不想让别人知道。”路容的声音里带着恳求,“就看一下,几分钟就好。我真的找了好久,办公室都翻遍了,就是找不到。那耳钉对我很重要……” 她看着小张,眼睛在灯光下显得很亮,带着一点水光。 小张又喝了一口奶茶,珍珠在吸管里发出咕噜咕噜的声音。他看了看路容,又看了看手里的奶茶,终于点了点头。 “好吧,就看一下。”他说,“你工位在几楼?” “七楼,数据分析部,靠窗第三个工位。” “行,你进来吧。”小张推开门,“不过只能看,不能录,也不能太久。” “谢谢,真的太感谢了。”路容跟着他走进监控室。 监控室不大,大约十平米,四面墙上挂满了显示器,大大小小几十块,显示着公司各个角落的实时画面。屏幕的光在昏暗的房间里闪烁,映出各种角度的走廊、电梯、办公室、楼梯间。房间中央是一张l形的工作台,上面摆着三台主机,键盘鼠标杂乱地放着。空气里有一股泡面和电子设备混合的味道,还有奶茶的甜香。 小张坐在主控台前,操纵着鼠标。路容站在他身后,目光快速扫过整个房间。 她的视线落在最右边那台主机上。那台机器的屏幕显示的不是监控画面,而是一个命令行界面,黑色的背景,绿色的字符在滚动。屏幕顶端有一行字:“日志备份系统——只读访问”。下面是一串ip地址:192.168.10.47:8088。再下面是一个登录提示:“请输入账户名:”。 账户名的格式是:ad_backup_xxxx。xxxx是四位数字。 路容的心脏跳得快了一些。她强迫自己移开视线,看向小张面前的监控屏幕。 “七楼,数据分析部……”小张嘟囔着,操纵着摇杆,画面在屏幕上切换。很快,路容工位附近的画面出现了——空荡荡的办公室,工位整齐排列,窗外的城市夜景在背景里闪烁。 “时间调到几点?”小张问。 “五点半左右吧。”路容说。 小张调整时间轴,画面开始快进。办公室里没有人,只有灯光亮着。时间跳到六点,六点半,七点……画面一直很平静,什么都没有发生。 路容知道为什么。老吴说的监控盲区,应该就是指这个时段——每周三晚上八点半后的十五分钟,监控系统会自动切换备份,这段时间的监控画面不会被记录,或者会被覆盖。所以她要求看傍晚时段的监控,这个时段是正常的,拍不到什么异常,但也不会引起小张的怀疑。 “没看到什么啊。”小张说,画面已经快进到八点,“你确定是在工位附近掉的?” (本章未完,请点击下一页继续阅读)第13章:将计就计(第2/2页) “可能是我记错了。”路容说,声音里带着失望,“算了,不找了。谢谢你啊,小张。” “没事。”小张关掉监控画面,转过身,又喝了一口奶茶,“你要不再找找?说不定掉在别的地方了。” “嗯,我再回去找找。”路容说,目光不经意地扫过那台日志备份主机。 屏幕上的命令行界面还开着,绿色的光标在闪烁。她看到了账户名的完整格式:ad_backup_后跟四位数字,数字似乎是日期相关的,因为她看到了“1129”这样的组合——今天是11月3日,1129可能是11月29日的缩写?不,也可能是某种编号规则。 她记住了。ip地址:192.168.10.47:8088。账户名格式:ad_backup_xxxx。 “那我先走了。”路容说,“不打扰你值班了。” “好,慢走啊。”小张挥了挥手,注意力已经回到了奶茶上。 路容走出监控室,金属门在身后关上。走廊里依然安静,冷白色的灯光照在她脸上。她沿着原路返回,脚步很稳,但手心已经出汗了。 回到七楼办公室,她关上门,靠在门上,长长地吐出一口气。 心脏还在剧烈跳动,血液冲上耳膜,发出嗡嗡的声音。她能闻到手上残留的奶茶甜香,混合着监控室里的电子设备气味。她走到窗边,看着楼下的城市夜景,霓虹灯在夜色中流淌,像一条发光的河。 时间:晚上九点零七分。 还有不到二十小时。 她没有再停留,收拾好东西,关掉电脑,离开了办公室。 出租车在夜色中穿行。路容坐在后座,看着窗外飞速后退的街景。路灯的光线在车窗上划过一道道流动的痕迹,商店的招牌在黑暗中闪烁,行人匆匆走过,脸上带着疲惫或兴奋。深港市的夜晚永远这么热闹,但这一切都离她很遥远。 她回到出租屋,打开门,熟悉的狭小空间扑面而来。房间不大,一室一厅,家具简单,但收拾得很整洁。空气里有一股淡淡的灰尘味,混合着昨天煮泡面留下的汤料香气。她关上门,反锁,拉上窗帘,然后打开灯。 暖黄色的灯光照亮了整个房间。 路容放下包,脱下外套,走到书桌前。桌上摆着一台笔记本电脑,黑色的,表面有些磨损。她打开电脑,等待系统启动的间隙,她起身去厨房倒了一杯水。水是凉的,流过喉咙时带来一阵清爽。她端着水杯回到书桌前,坐下。 电脑已经启动完毕。她打开浏览器,在地址栏输入:192.168.10.47:8088。 页面加载,跳转,出现一个简洁的登录界面。蓝色的背景,白色的输入框,上面写着:“星耀集团日志备份系统(只读权限)”。下面有两个输入框:账户名,密码。 路容盯着屏幕,手指放在键盘上。 账户名格式:ad_backup_xxxx。xxxx是四位数字。她回忆着在监控室看到的那个例子:ad_backup_1129。1129是什么意思?可能是月份和日期?11月29日?但今天是11月3日。也可能是某种固定编号。 她尝试输入:ad_backup_1103。 密码呢?常见的弱口令有哪些?admin、password、123456、admin123、公司缩写+年份…… 她先试了试admin。错误。 password。错误。 123456。错误。 她停顿了一下,想了想。这种备份系统,密码可能设置得比较简单,因为只有内网可以访问,而且只有只读权限。她尝试输入:star2023(星耀的英文是star,2023是今年)。 错误。 star2024。错误。 她靠在椅背上,闭上眼睛。房间里很安静,只有电脑风扇发出的轻微嗡嗡声。她能听到自己的呼吸声,平稳而缓慢。窗外的街道上偶尔有车驶过,轮胎摩擦地面的声音由远及近,又由近及远。 她睁开眼睛,重新看向屏幕。 账户名是ad_backup_1103。密码会不会也是1103?或者反过来,3011? 她输入密码:1103。 错误。 3011。错误。 她想了想,又试了试:backup1103。 错误。 她几乎要放弃了。但就在这时,她想起老吴。老吴是it部的老员工,知道这个路径,知道监控盲区,那他可能也知道默认的密码规则。老吴给她的提示是“周三晚八点半后,监控盲区生效十五分钟”,这暗示了时间和机会,但没有提密码。但老吴说话的习惯——他喜欢用简单的数字组合,比如工号后四位,或者部门编号。 路容打开手机,翻出公司通讯录。她找到老吴的条目,工号:it0479。后四位是0479。 她尝试输入密码:0479。 错误。 她又试了试:4790。 错误。 她盯着工号,突然想到什么。老吴的工号是it0479,但备份系统的账户名是ad_backup_xxxx,这个xxxx可能不是日期,而是工号的后四位?但老吴的工号后四位是0479,而她在监控室看到的是1129。不对。 等等。1129。如果拆开看,11和29。11可能是部门编号?29可能是工号后两位?她不知道。 她尝试输入密码:1129。 错误。 她几乎要放弃了。但就在这时,她想起另一种可能——这种备份系统,初始密码可能和账户名相同。她尝试输入密码:ad_backup_1103。 错误。 那如果去掉下划线呢?adbackup1103。 她输入,按下回车。 屏幕闪烁了一下,跳转了。 登录成功。 路容的心脏猛地一跳。她盯着屏幕,几乎不敢相信。页面跳转到一个简洁的查询界面,左侧是日志分类菜单:系统日志、安全日志、应用日志、数据库日志、网络日志……右侧是查询条件输入框,可以按时间、ip地址、用户名、操作类型等筛选。 她深吸一口气,手指在键盘上微微颤抖。 现在,她可以看到了。完整的系统日志,没有被剪辑过的,原始记录。 她移动鼠标,点开“系统日志”,然后在时间条件里输入:2023-11-0314:00到2023-11-0318:00。这是上周五下午,她清洗数据的时间段。 点击查询。 屏幕开始加载,进度条缓慢移动。房间里只有电脑风扇的声音,还有她自己的心跳声。窗外的夜色更深了,远处传来隐约的警笛声,由远及近,又由远及远。 进度条走到底,结果页面展开。 密密麻麻的日志条目出现在屏幕上,每一条都有时间戳、ip地址、用户名、操作类型、操作对象、结果状态。路容的眼睛快速扫过,寻找着自己的操作记录。 她找到了。 14:30:22,ip:10.10.7.45,用户:ruoxi,操作:create_file,对象:/data/bluen/temp/checkpoint_ruoxi_1103_1430.txt,结果:sess。 15:20:11,ip:10.10.7.45,用户:ruoxi,操作:modify_file,对象:/data/bluen/temp/checkpoint_ruoxi_1103_1430.txt,结果:sess。 15:20:18,ip:10.10.7.45,用户:ruoxi,操作:create_file,对象:/data/bluen/temp/checkpoint_ruoxi_1103_1520.txt,结果:sess。 16:15:07,ip:10.10.7.45,用户:ruoxi,操作:create_file,对象:/data/bluen/temp/checkpoint_ruoxi_1103_1615.txt,结果:sess。 16:30:45,ip:10.10.7.45,用户:ruoxi,操作:lock_file,对象:/data/bluen/cleaned/bluen_data_1103_final.csv,结果:sess。 这些记录都在。和她记忆中的一模一样。但在王总监提供的日志里,这些记录全部消失了。 路容继续往下翻。她想知道,在她锁定文件之后,还有谁接触过那些数据。 日志继续滚动。 17:02:33,ip:10.10.7.45,用户:ruoxi,操作:logout,结果:sess。 17:02:33,系统:用户ruoxi已登出。 然后是一段空白。直到—— 22:47:19,ip:10.10.10.12,用户:admin_wang,操作:login,结果:sess。 22:48:05,ip:10.10.10.12,用户:admin_wang,操作:unlock_file,对象:/data/bluen/cleaned/bluen_data_1103_final.csv,结果:sess。 22:49:11,ip:10.10.10.12,用户:admin_wang,操作:modify_file,对象:/data/bluen/cleaned/bluen_data_1103_final.csv,结果:sess。 22:50:03,ip:10.10.10.12,用户:admin_wang,操作:lock_file,对象:/data/bluen/cleaned/bluen_data_1103_final.csv,结果:sess。 22:50:07,ip:10.10.10.12,用户:admin_wang,操作:logout,结果:sess。 路容盯着屏幕,眼睛一眨不眨。 ip:10.10.10.12。这是王总监办公室的ip地址,她之前查过。用户:admin_wang,这是王总监的管理员账户。时间:晚上十点四十七分到十点五十分。操作:解锁文件,修改文件,重新锁定文件。 在她完成清洗并锁定文件五个多小时后,王总监用管理员权限解锁了文件,进行了修改,然后重新锁定。 这就是数据污染的真正原因。 路容的手指停在触摸板上,微微颤抖。屏幕的光映在她脸上,照亮了她眼中闪烁的光芒。那光芒很冷,很锐利,像刀锋。 她找到了。确凿的证据。 但还不够。她需要知道王总监具体修改了什么,怎么修改的。她需要看到文件内容的变化记录。她需要把这些证据整理成无可辩驳的报告。 她看了眼电脑右下角的时间:晚上十一点二十三分。 还有不到二十一小时。 她移动鼠标,点开了“文件操作详情”的链接。 屏幕开始加载新的页面,进度条缓慢移动。房间里的灯光很暖,但路容感觉不到温暖。她只感觉到一种冰冷的兴奋,像电流一样流过全身。窗外的城市已经安静下来,只有偶尔的车灯划过窗帘的缝隙,投下转瞬即逝的光影。 进度条走到底,新的日志条目展开。 她开始阅读。 第14章:真相与反击 第14章:真相与反击(第1/2页) 屏幕上的日志条目一行行展开,记录着那个深夜发生的每一个细节。路容的目光锁定在“modify_file”操作后的几行——那里显示了文件大小、校验和的变化,以及一个短暂开启又关闭的临时脚本进程。她的手指在键盘上敲击,打开一个新的编程界面。夜色已深,窗外的城市灯火渐稀,只有她的房间还亮着灯。她需要写一个程序,模拟出那种特定的修改模式,让证据无可辩驳。时间在代码的字符间流逝,她的眼睛因专注而微微发亮,嘴角第一次扬起了一丝冰冷的弧度。 --- **凌晨一点十七分** 路容的出租屋里,只有笔记本电脑的风扇声和键盘敲击声。 她盯着“文件操作详情”日志里的那几行记录: ``` 22:49:11,ip:10.10.10.12,用户:admin_wang,操作:modify_file,对象:/data/bluen/cleaned/bluen_data_1103_final.csv -文件大小变化:从1,247,583字节变为1,247,612字节(+29字节) -md5校验和变化:从8f3c7a2e1b9d5f4a6c0e8b7d2a1c3f5e变为4a6c0e8b7d2a1c3f5e8f3c7a2e1b9d5f4 -检测到临时脚本进程:/tmp/check_integrity_script.sh(pid:28473)运行时长:2.1秒 -脚本内容摘要:包含“sed-i''s/,\“\\d{4}-\\d{2}-\\d{2}\“/,\“2023-11-03\“/g''”等正则替换操作 ``` 路容的手指在触摸板上滑动,将这几行日志截图保存。她的呼吸很轻,房间里能听到远处街道上偶尔驶过的夜班公交车引擎声。窗外的路灯透过没拉严实的窗帘缝隙,在地板上投下一道细长的光带。空气里有灰尘和旧书的气味,还有她刚才泡的速溶咖啡已经凉透的酸涩味道。 “完整性校验操作?”她低声自语,声音在寂静的房间里显得格外清晰。 王总监在会议上说,她只是“例行检查数据完整性”。但日志显示,那个临时脚本里包含的是正则替换命令——这根本不是校验,这是修改。 路容打开文本编辑器,开始编写代码。 她的手指在键盘上飞舞,敲击声密集而有节奏。屏幕上,python代码一行行出现。她先定义了一个函数,模拟那个正则替换操作:将所有格式为“yyyy-mm-dd”的日期字段,统一替换成“2023-11-03”。然后她写另一个函数,计算替换前后文件的md5校验和。 “但这样还不够。”她喃喃道。 王总监展示的“污染样本”里,不仅仅是日期被修改了。路容调出会议时拍下的那张污染数据截图——那是她偷偷用手机拍的,虽然模糊,但关键字段还能辨认。 截图显示,在“用户行为序列”字段里,原本应该是“login→browse→add_to_cart→checkout”这样的标准序列,变成了“login→browse→add_to_cart→checkout→login→browse”。重复了。 在“交易金额”字段,原本的数值被乘以了一个随机系数,范围在0.95到1.05之间。 在“地理位置”字段,部分坐标的小数点后位数被截断。 这不是简单的数据污染。这是精心设计的、模拟自然数据损坏模式的修改。目的是让污染看起来像是清洗过程中的技术错误,而不是人为破坏。 路容闭上眼睛,手指按在太阳穴上。 她能想象出那个场景:上周五晚上十点四十九分,王总监坐在自己的办公室里,电脑屏幕亮着。她打开终端,登录管理员账户,解锁路容已经清洗完成并锁定的文件。然后她运行一个脚本——那个/tmp/check_integrity_script.sh——脚本按照预设的规则,对文件进行“污染”。完成后,她重新锁定文件,退出登录。 然后,她删除了操作日志中关于这个脚本运行的具体内容记录,只留下“modify_file”这个笼统的操作条目。在提供给路容的剪辑版日志里,她甚至把这个条目也删掉了。 “但你没删干净。”路容睁开眼睛,目光重新聚焦在屏幕上。 备份系统里的完整日志,还保留着脚本进程的pid、运行时长,甚至脚本内容摘要。虽然看不到完整脚本代码,但这些摘要已经足够。 路容开始编写第二个模拟程序。 这一次,她不仅要模拟日期替换,还要模拟用户行为序列的重复、交易金额的随机扰动、地理坐标的截断。她根据污染样本中观察到的模式,推断出可能的算法: -用户行为序列重复:每隔100行数据,随机选择一行,将其行为序列复制并追加到末尾。 -交易金额扰动:对每个金额乘以(0.95+random()*0.1),保留两位小数。 -地理坐标截断:将经纬度坐标的小数部分截断到三位。 她写得很专注,时间在代码的字符间流逝。窗外的天空从深黑渐渐转为墨蓝,远处传来第一班地铁驶过轨道的声音,沉闷而有节奏。房间里越来越冷,她起身披了件外套,手指因为长时间敲击键盘而有些僵硬。 **凌晨三点四十二分** 模拟程序写完了。 路容从自己的备份里调出上周五清洗完成的数据文件——这是她习惯性保留的本地副本。她用自己编写的模拟程序对这个干净文件进行处理。 运行。 进度条在屏幕上缓慢移动。她的心跳有点快,喉咙发干。她拿起桌上那杯凉透的咖啡,喝了一口,苦涩的味道在舌尖蔓延。 程序运行完毕。 她打开处理后的文件,随机抽取几行数据,与王总监展示的污染样本进行对比。 第一行:日期字段,从“2023-10-28”变成了“2023-11-03”。匹配。 第二行:用户行为序列,从“login→browse→purchase”变成了“login→browse→purchase→login→browse”。匹配。 第三行:交易金额,从“149.99”变成了“142.49”(149.99*0.95)。匹配。 第四行:地理坐标,从“116.407526,39.904030”变成了“116.407,39.904”。匹配。 路容靠在椅背上,长长地吐出一口气。 白色的水汽在冰冷的空气里凝结成雾。她的手指在颤抖,但这次不是因为恐惧或应激障碍,而是因为兴奋。一种冰冷的、锋利的兴奋。 她找到了。完美的证据链。 **凌晨四点十五分** 路容开始整理报告。 她打开一个新的文档,标题是“关于bluen_data_1103_final.csv文件数据异常的技术分析报告”。她没有署名,没有日期,文档里只有事实。 第一页:问题描述。简述文件在清洗完成后出现数据污染的情况。 第二页:现有证据。附上王总监提供的剪辑版操作日志截图,用红框标出缺失的时间段。 第三页:完整日志发现。附上从备份系统获取的完整日志截图,重点标出: -时间:22:47-22:50 -ip地址:10.10.10.12(王总监办公室) -用户:admin_wang(王总监管理员账户) -操作序列:login→unlock_file→modify_file→lock_file→logout -检测到的临时脚本:/tmp/check_integrity_script.sh -脚本内容摘要中的正则替换命令 第四页:技术分析。她详细解释了那个正则替换命令的含义——它不是数据完整性校验,而是数据修改。 第五页:模拟验证。她附上自己编写的模拟程序的核心代码片段,以及程序运行结果与污染样本的对比表。表格里列了十个数据字段,她的模拟结果与王总监展示的污染样本匹配度100%。 第六页:结论与建议。 结论:数据污染发生在文件清洗完成并锁定后的深夜,由管理员账户从特定ip地址发起,通过运行包含数据修改命令的脚本实现。 建议:1.核查夜间管理员操作的审计流程是否存在漏洞;2.审查脚本/tmp/check_integrity_script.sh的完整内容及创建者;3.加强数据修改权限的分级管理。 报告一共十二页,简洁、严谨、每一句话都有证据支撑。路容检查了三遍,确保没有情绪化表述,没有指控性语言,只有客观的技术分析。 保存文档。加密。复制到u盘。再备份到云端加密文件夹。 做完这一切,她看了眼时间:凌晨五点零三分。 窗外的天空已经泛出鱼肚白,深港市在晨曦中渐渐苏醒。远处的高楼轮廓变得清晰,街道上开始有早起的车辆驶过。路容关掉电脑,走到窗前,拉开窗帘。 冷空气扑面而来,她打了个寒颤,但精神异常清醒。 二十四小时期限,还剩不到四小时。 她需要睡一会儿,哪怕只是闭眼休息。但她躺到床上时,眼睛却睁着,盯着天花板上因为潮湿而留下的水渍痕迹。那些痕迹的形状像一张扭曲的脸,或者一棵枯树的枝桓。 她想起三年前,天启科技的那间会议室。李剑坐在长桌尽头,面前摊开所谓的“泄密证据”。其他高管坐在两侧,没有人看她。她的解释被一次次打断,她的证据被说成“伪造”。最后投票时,七个人举手同意开除她,两个人弃权,没有人反对。 那种孤立无援的感觉,像沉入深海。 但这次不一样。 这次她有证据。确凿的、无法辩驳的证据。 路容闭上眼睛,强迫自己休息。她的呼吸渐渐平稳,但意识深处,那个模拟程序还在运行,一行行代码在黑暗中闪烁。 --- **上午八点五十分** 星耀集团,数据分析部。 路容走进办公室时,能感觉到空气中的紧张。同事们看她的眼神很复杂——同情、好奇、疏远。没有人跟她打招呼,大家只是低头做自己的事,或者假装在做。 她的工位很干净,电脑还没开。她坐下,打开电脑,登录系统。收件箱里有一封新邮件,发件人:王总监。主题:关于数据污染问题的最终讨论会议。时间:上午九点三十分。地点:三号会议室。参会人员:数据分析部全体、it部代表、法务部代表。 还有四十分钟。 路容平静地回复:“收到,准时参加。” 她打开昨晚整理的报告,最后检查一遍。然后她从包里拿出那个加密u盘,插进电脑,将报告复制到桌面。关掉u盘,拔出来,放回包里。 办公室里很安静,但路容能听到各种细微的声音:键盘敲击声、鼠标点击声、椅子转动的吱呀声、远处饮水机咕嘟咕嘟的烧水声。空气里有咖啡香、打印机的臭氧味,还有某种甜腻的香水味——那是坐在她斜对面的林晓今天喷的,味道很浓。 林晓看了她一眼,很快移开视线,低头摆弄手机。 路容知道,这个刚入职三个月的新人,最近和王总监走得很近。上周还看到她们一起在楼下咖啡厅吃午饭。林晓想往上爬,这很正常。但如果她选择站在王总监那边,那就是另一回事了。 路容关掉报告文档,打开一个普通的数据分析表格,假装在工作。她的手指在键盘上敲击,输入一些无关紧要的公式。眼睛盯着屏幕,但余光注意着周围的动静。 九点十分,王总监从自己的办公室走出来。她今天穿了一套深灰色西装套裙,头发梳得一丝不苟,妆容精致。她手里拿着一个文件夹,步伐稳健地走向三号会议室。经过路容工位时,她停顿了半秒,目光扫过来,嘴角带着一丝若有若无的笑意。 那笑意很冷,像刀锋。 路容抬起头,迎上她的目光,平静地点了点头。 王总监的眼神闪烁了一下,似乎有些意外,但很快恢复常态,继续往前走。 九点二十五分,路容保存文件,关掉电脑。她拿起那个装着报告的文件夹——她特意打印了一份纸质版——和一支笔,起身走向三号会议室。 走廊很长,铺着深灰色的地毯,脚步声被吸收得几乎听不见。墙壁是白色的,挂着一些抽象画和公司获得的奖项证书。灯光很亮,照得一切都有些刺眼。 三号会议室的门开着。 路容走进去时,里面已经坐了七八个人。数据分析部的同事基本都到了,it部来了两个人——其中一个路容认识,是负责系统日志管理的小刘。法务部来了一个年轻律师,路容没见过。 王总监坐在长桌的主位,面前摊开笔记本电脑和一堆文件。她看到路容进来,抬了抬下巴:“若溪,坐那边。” 她指的是长桌最远端的座位,背对着门。 路容平静地走过去,坐下。她把文件夹放在桌上,笔放在旁边。她的坐姿很端正,双手放在腿上,呼吸平稳。 九点三十分整。 王总监清了清嗓子:“人都到齐了,我们开始吧。” 会议室里安静下来。空调出风口发出轻微的嗡嗡声,投影仪已经打开,在幕布上投出公司logo。空气里有新打印文件的油墨味,还有咖啡和某种清洁剂的混合气味。 “今天这个会议,主要是讨论上周五bluen_data_1103_final.csv文件的数据污染问题。”王总监的声音很平稳,但带着一种不容置疑的权威,“若溪,你是文件的清洗负责人,按照公司规定,你有二十四小时时间查明原因并提交报告。现在时间到了,请你说明情况。” 所有人的目光都投向路容。 路容能感觉到那些目光的重量——审视的、怀疑的、等待的。她的心跳快了一拍,但很快稳定下来。她打开面前的文件夹,抽出那份十二页的报告。 (本章未完,请点击下一页继续阅读)第14章:真相与反击(第2/2页) 但她没有立刻递出去。 “在说明情况之前,我想先确认几个细节。”路容的声音很平静,甚至有些温和,“王总监,您上周五晚上十点之后,还在公司吗?” 会议室里的空气凝固了一瞬。 王总监的眉毛微微挑起:“你问这个做什么?” “只是确认时间线。”路容说,“根据您提供的操作日志,我在上周五下午四点十五分完成数据清洗并锁定文件。之后文件应该处于只读状态,除非有管理员权限解锁。” “所以呢?” “所以如果文件在锁定后被修改,那么修改者一定拥有管理员权限,并且在那个时间点能够访问系统。”路容顿了顿,“您上周五晚上十点之后如果在公司,那么您可能看到或听到什么异常情况。” 王总监的脸色沉了下来:“若溪,现在是你在接受质询,不是你在调查别人。请直接回答我的问题:数据污染的原因是什么?你的报告在哪里?” 路容点了点头,将那份报告推过桌面,滑向王总监。 文件夹在光滑的桌面上滑行,发出轻微的摩擦声。它在长桌中央停下,正好在王总监面前。 王总监拿起文件夹,打开。她的目光扫过第一页,第二页,第三页……当看到完整日志截图时,她的手指微微收紧,纸张边缘被捏出褶皱。 会议室里很安静,所有人都看着王总监的脸。 她的脸色在变化。从最初的平静,到疑惑,到震惊,最后变成一种僵硬的苍白。她的嘴唇抿成一条直线,眼睛盯着报告上的那些截图和对比表,一眨不眨。 时间一分一秒过去。 空调的嗡嗡声显得格外响亮。 终于,王总监抬起头,看向路容。她的眼神很复杂——有愤怒,有难以置信,还有一丝掩饰不住的慌乱。 “这份报告……”她的声音有些干涩,“你从哪里得到的这些日志?” “公司备份系统。”路容平静地说,“按照数据安全管理规定,所有系统操作日志都会在备份系统保留完整副本,防止人为删除或篡改。我申请了临时访问权限,获取了上周五晚上的完整日志记录。” “谁给你的权限?”王总监的声音提高了半度。 “这不符合流程吗?”路容反问,“作为数据污染事件的直接责任人,我有权调取相关日志进行自查。如果王总监认为流程有问题,我们可以请it部的同事现场确认。” 她看向it部的小刘。 小刘有些紧张地推了推眼镜:“呃……按照规定,在涉及数据安全事件调查时,相关责任人确实可以申请临时访问权限,但需要部门总监批准……” “我批准了吗?”王总监打断他。 “您……”小刘看了看路容,又看了看王总监,额头冒汗,“您上周五不是说过,若溪可以在二十四小时内调用一切必要资源查明原因吗?我以为……我以为这包括日志访问权限……” 王总监的脸色更难看了。 路容适时开口:“王总监,我想‘污染’的原因,可能出在数据安全管理的流程漏洞上。” 她顿了顿,让这句话在会议室里回荡。 所有人的耳朵都竖了起来。 “根据完整日志记录,”路容继续说,声音依然平稳,“上周五晚上十点四十七分至五十分,有一个来自ip地址10.10.10.12的管理员账户,登录系统,解锁了我已经清洗完成并锁定的文件,运行了一个名为check_integrity_script.sh的临时脚本,对文件进行了修改,然后重新锁定文件,退出登录。” 她每说一句,王总监的脸色就白一分。 “ip地址10.10.10.12,经查证是您办公室的固定ip。”路容看着王总监的眼睛,“管理员账户admin_wang,是您的账户。脚本内容摘要显示,该脚本包含数据修改命令,而非数据校验命令。” 她拿起笔,在面前的便签纸上写下一行命令: ``` sed-i''s/,\“\\d{4}-\\d{2}-\\d{2}\“/,\“2023-11-03\“/g'' ``` “这是脚本中的一条命令。”路容说,“它的作用是将所有格式为‘yyyy-mm-dd’的日期字段,统一替换成‘2023-11-03’。这是修改,不是校验。” 她将便签纸推向桌子中央。 “为了验证这个脚本的修改效果,我编写了一个模拟程序。”路容打开自己的笔记本电脑,连接投影仪,“程序根据日志中记录的脚本摘要,模拟了可能的修改操作。这是模拟结果与您上周展示的污染样本的对比。” 幕布上出现一个对比表格。 十行数据,十个字段,模拟结果与污染样本完全匹配。 会议室里响起一阵压抑的吸气声。 同事们交换着眼神,有人低头假装记录,有人偷偷看王总监的反应。it部的小刘张了张嘴,想说什么,又闭上了。法务部的年轻律师皱起眉头,开始快速翻阅自己带来的文件。 王总监坐在那里,一动不动。 她的手指还捏着那份报告,指节因为用力而发白。她的脸色从苍白转为铁青,嘴唇微微颤抖。她的眼睛盯着幕布上的对比表格,然后又看向路容,眼神里有一种近乎凶狠的东西。 但路容迎着她的目光,没有退缩。 “基于以上证据,”路容说,声音清晰而坚定,“我认为数据污染事件的直接原因,是上周五晚上十点四十七分至五十分,管理员账户从特定ip地址对已锁定文件进行了未授权的修改操作。根本原因,是数据安全管理流程存在漏洞——夜间管理员操作缺乏有效审计,临时脚本的执行缺乏审批记录。” 她停顿了一下,看向it部的代表。 “或许该请it部一起核查一下夜间管理员操作的审计流程?”她说,“以及,那个临时脚本的完整内容和创建者,也应该一并调查。” 会议室里死一般的寂静。 空调的嗡嗡声,投影仪风扇的转动声,甚至自己的心跳声,路容都能听得清清楚楚。她能闻到空气中越来越浓的紧张气味,像金属,像火药。 王总监终于动了。 她慢慢放下那份报告,双手交叠放在桌上。她的手指在颤抖,但她努力控制着。她深吸一口气,再缓缓吐出。 “这份报告……”她的声音很干,很哑,“这份报告的技术分析部分,我需要时间核实。” “当然。”路容点头,“所有原始日志、模拟程序代码、对比数据,我都已经准备好,可以随时提供给it部和法务部的同事进行独立验证。” 王总监的嘴角抽搐了一下。 “至于那个ip地址和账户……”她试图找回主动权,“办公室ip是固定的,但并不能证明当时操作电脑的人就是我。管理员账户虽然是我的,但密码可能泄露……” “所以您认为有人盗用了您的账户,在周五晚上十点多进入您的办公室,用您的电脑登录系统,修改了文件?”路容问,语气里没有任何嘲讽,只是纯粹的疑问。 王总监噎住了。 会议室里有人忍不住发出一声极轻的笑,又立刻憋住。 “我……”王总监的额头开始冒汗,“我的意思是,这种可能性不能排除。数据安全事件调查要全面,不能草率下结论。” “我同意。”路容说,“所以我才建议,请it部核查夜间管理员操作的审计流程。如果系统有登录时的二次验证记录,或者办公室门禁系统的记录,或者监控录像,应该能更清楚地还原当时的情况。” 她每说一个“或者”,王总监的脸色就难看一分。 门禁记录。监控录像。 如果调取这些,那么上周五晚上十点四十七分,谁在办公室里,一清二楚。 王总监的手指紧紧攥在一起,指节发白。她的呼吸变得粗重,胸口起伏。她的眼睛盯着路容,那眼神像要把她生吞活剥。 但路容只是平静地回视。 “王总监,”法务部的年轻律师终于开口,声音谨慎,“如果情况如报告所述,那么这可能涉及内部数据违规操作。按照公司规定,我们需要启动正式调查程序。” 王总监猛地转头看他:“什么调查程序?现在事情还没搞清楚!” “正是因为没搞清楚,才需要调查。”律师坚持,“如果确实存在管理员账户未授权修改数据的情况,这属于严重违规。如果修改行为是故意的,并且试图掩盖,那性质就更严重了。” “你什么意思?”王总监的声音尖了起来。 “我的意思是,”律师推了推眼镜,“按照公司《数据安全管理规定》第七章第二十三条,故意篡改或破坏业务数据,并试图隐瞒事实的,属于重大违纪行为,可处以降职、停职直至解除劳动合同的处分。” 会议室里一片哗然。 同事们再也忍不住,开始低声议论。有人惊讶,有人兴奋,有人担忧。林晓的脸色变得苍白,她看看王总监,又看看路容,手指无意识地绞在一起。 王总监坐在那里,像一尊石像。 她的脸色从铁青转为灰白,额头的汗珠顺着脸颊滑落。她的嘴唇在颤抖,想说什么,但发不出声音。她的眼睛死死盯着桌面上的那份报告,仿佛那是什么可怕的东西。 路容看着她,心里没有任何快感。 只有一种冰冷的平静。 三年前,李剑和王总监联手把她推下深渊时,大概也是这样的场景吧。会议室,众人,证据,指控。只不过那时她是被指控的一方,孤立无援,百口莫辩。 现在位置调换了。 但路容知道,这只是一个开始。王总监只是棋子,真正的对手是李剑。而李剑不会这么容易倒下。 “王总监,”路容再次开口,声音温和了一些,“我的报告里也提到了流程漏洞的建议。如果确实是管理流程的问题,那么完善流程就能避免类似事件再次发生。这或许比追究个人责任更重要。” 她在给王总监一个台阶。 一个承认“管理疏忽”而不是“故意破坏”的台阶。 王总监猛地抬起头,看向路容。她的眼神很复杂——有愤怒,有怨恨,但也有一丝难以置信的惊讶。她没想到路容会给她留退路。 会议室里所有人都看着王总监,等待她的反应。 时间一秒一秒过去。 窗外的阳光透过百叶窗的缝隙照进来,在桌面上投下一道道明暗相间的光带。灰尘在光带中飞舞,像微小的星辰。空调还在嗡嗡作响,但房间里的温度似乎升高了,空气变得粘稠。 终于,王总监开口了。 她的声音很哑,很低,但每个字都咬得很清楚。 “这件事……我会和it部进一步核查。”她说,“如果确实是流程漏洞,我会负责推动整改。” 她没有承认,也没有否认。 但这句话本身,已经是一种退让。 路容点了点头,没有继续逼迫。她知道适可而止。今天的目的已经达到——她洗清了自己的嫌疑,将矛头转向了真正的污染源,并且在众人面前建立了自己的专业性和可信度。 至于王总监会因此受到什么处罚,那不是她现在能控制的。李剑一定会保她,至少暂时会。 “如果没有其他问题,”王总监站起来,动作有些僵硬,“会议就到这里。若溪,你的报告留下,我会处理。” 她收起那份报告,合上文件夹,转身走向门口。她的步伐依然稳健,但路容注意到,她的肩膀在微微颤抖。 会议室门关上。 房间里安静了几秒,然后轰然炸开。 同事们围上来,七嘴八舌。 “若溪,你也太厉害了吧!” “那个模拟程序怎么写的?教教我!” “王总监刚才的脸色你看到没有?我的天……” “所以真的是她改的数据?为什么啊?” 路容只是微笑,一一应付。她的回答很谨慎,不评价王总监,只谈技术细节。她说自己只是按照流程调查,幸运地找到了完整日志。她说数据安全很重要,每个人都应该注意。 她的表现无可挑剔。 但当她收拾东西准备离开会议室时,林晓走了过来。 这个年轻女孩的脸色依然苍白,眼神躲闪。她咬了咬嘴唇,低声说:“若溪姐,对不起。” 路容看着她:“为什么道歉?” “我……”林晓的声音更低了,“王总监之前跟我说,你工作不认真,数据清洗总是出错,让我……让我多注意你的工作,有问题及时汇报。我没想到……” 她没想到真相是这样。 路容拍了拍她的肩膀:“没事,你也是按指示做事。以后多用自己的眼睛看,别只听别人说。” 林晓用力点头,眼睛有点红。 路容走出会议室,回到自己的工位。她坐下,打开电脑,登录系统。收件箱里没有新邮件。聊天软件上也没有消息。 一切似乎恢复了正常。 但路容知道,有些东西已经改变了。 她看向王总监办公室的方向。门关着,百叶窗也拉上了,看不到里面的情况。但路容能想象,王总监现在一定在打电话,打给李剑,汇报刚才发生的一切。 而李剑会怎么反应? 路容不知道。 她只知道,从今天起,她在星耀集团的处境,将进入一个新的阶段。她不再是那个可以随意拿捏的新人“若溪”,而是一个有能力反击、有证据支撑的技术人员。 这既是保护,也是危险。 因为当猎物开始反抗时,猎手会更加警惕,手段也会更加狠辣。 路容关掉电脑,拿起包,起身离开办公室。走廊里很安静,午休时间还没到,大部分人还在工作。她走到电梯间,按下下行键。 电梯门打开,里面空无一人。 她走进去,按下1楼。电梯门缓缓关闭,镜面墙壁映出她的脸——平静,疲惫,但眼神坚定。 电梯开始下降。 失重感传来。 路容闭上眼睛,深深吸了一口气,再缓缓吐出。 二十四小时的危机,结束了。 但真正的战争,才刚刚开始。 第15章:棋子的价值 第15章:棋子的价值(第1/2页) 路容盯着手机屏幕上那条消息,指尖悬在键盘上方,久久没有落下。 周哲的邀约像一颗投入平静水面的石子。她知道这顿饭可能意味着什么——试探、关心,或者两者皆有。大厅的阳光透过玻璃幕墙,在她脚边投下明亮的光斑,来来往往的人群脚步声、交谈声、前台电话铃声交织成星耀集团日常的背景音。空气里有淡淡的香薰味,混合着咖啡和打印机墨粉的气息。 她深吸一口气,手指在屏幕上敲击:“今天有点累,改天吧。会议就是按流程走,找到了完整日志而已。” 发送。 她收起手机,走向旋转门。玻璃门转动时带起微弱的风,拂过她的脸颊。走出大楼,深港市午后的热浪扑面而来,与空调房的凉爽形成鲜明对比。街道上车流如织,鸣笛声此起彼伏。 路容没有立刻回家。 她沿着人行道走了两个街区,在一家不起眼的便利店买了瓶水,然后拐进旁边的小公园。她在长椅上坐下,看着远处写字楼的玻璃幕墙反射着刺眼的阳光。 手机震动。 不是周哲的回复——他发来一个简单的“好,注意休息”,配了个咖啡的表情。 是沈薇的消息。 “听说你今天大获全胜?王莉那女人脸都绿了吧?” 路容嘴角微扬,打字:“你怎么知道?” “行业圈子就这么大,星耀内部又不是铁板一块。有个前同事现在在你们隔壁部门,刚在群里说了。”沈薇发来一个胜利的表情,“干得漂亮。不过要小心,王莉不会善罢甘休,她背后那个人更危险。” “我知道。” “需要我做什么?” 路容想了想:“帮我留意一下,最近有没有关于星耀‘深蓝计划’外围数据交易的传闻,任何渠道都行。” “收到。你自己保重。” 路容收起手机,拧开瓶盖喝了口水。水是温的,带着塑料瓶特有的味道。公园里有几个老人在下棋,棋子落在棋盘上的清脆声响在午后显得格外清晰。一只麻雀跳上长椅另一端,歪头看着她,然后扑棱着翅膀飞走了。 她在长椅上坐了整整一个小时。 让思绪沉淀,让情绪平复。反击成功的快感渐渐冷却,取而代之的是更深的警惕。王总监的退让只是开始,李剑会怎么反应?他会保王总监,还是弃车保帅?自己今天的表现是否太过锋芒毕露? 路容闭上眼睛,感受阳光透过树叶缝隙洒在脸上的温热感。风吹过,树叶沙沙作响,远处传来孩童嬉笑的声音。 三年前,她也曾这样坐在公园里。 那时是冬天,寒风刺骨。她刚被天启科技开除,背着“商业间谍”的污名,所有简历石沉大海,朋友纷纷疏远。她坐在结冰的长椅上,看着灰蒙蒙的天空,觉得人生已经完了。 但她没有完。 她活下来了,以另一个身份。 路容睁开眼睛,站起身。塑料瓶在手中捏得微微变形,她走到垃圾桶旁扔进去,发出“咚”的一声闷响。 该回去了。 明天,战争继续。 --- **第二天上午九点十七分** 星耀集团数据分析部。 氛围微妙得像绷紧的弦。 路容刷卡进入办公区时,能明显感觉到投来的目光——好奇的、钦佩的、警惕的、复杂的。她像往常一样走向自己的工位,步伐平稳,表情平静。 “若溪姐,早。”林晓主动打招呼,声音里带着昨天没有的亲近。 “早。”路容微笑回应。 她坐下,开机,登录系统。收件箱里躺着几封新邮件——部门例会通知、一份数据清洗规范更新、还有一封来自it部的系统审计报告抄送。路容点开最后一封,快速浏览。 报告里提到了“管理员账户在非工作时间进行数据修改操作”的问题,建议加强权限管理和操作日志审计。措辞官方而克制,没有点名,但指向明确。 王总监的办公室门依然紧闭。 百叶窗拉得很严实,看不到里面的情况。路容注意到,门把手上挂着的“请勿打扰”牌子已经挂了整整一天半。 十点左右,部门里开始有窃窃私语。 “听说王总监昨天下午就去了副总裁办公室,待了一个多小时。” “李总会不会保她?” “难说,这事闹得有点大,it部都发审计报告了。” “不过若溪也是真敢,直接硬刚总监……” 路容戴上耳机,打开数据分析软件,开始处理手头的常规工作。耳机的降噪功能隔绝了大部分杂音,但她的余光始终留意着周围的动静。 十一点零三分,内线电话响了。 路容摘下一只耳机,接起:“喂?” “若溪吗?我是总裁办秘书小陈。”电话那头传来年轻女声,语气礼貌而公式化,“李剑副总裁想见你,请现在来一趟38楼副总裁办公室。” “好的,我马上到。” 挂断电话。 路容摘下另一只耳机,慢慢放好。心脏在胸腔里跳得有些快,但她深呼吸两次,让节奏平复下来。她关掉电脑屏幕,拿起笔记本和笔,起身。 经过林晓工位时,女孩抬头看她,眼神里有关切。 路容对她点点头,走向电梯间。 电梯上行时,镜面墙壁映出她的脸。她今天特意穿了件浅灰色衬衫和黑色西裤,头发扎成低马尾,戴着她惯用的黑框眼镜。镜中的“若溪”看起来专业、干练、略显拘谨——一个刚刚立了功、可能得到提拔的普通职员。 完美的人设。 电梯在38楼停下,门缓缓打开。 这一层的装修明显更奢华。深色大理石地面光可鉴人,墙壁是浅米色的软包,顶灯设计成流线型,光线柔和而均匀。空气里有淡淡的檀香味,背景播放着极低音量的古典乐。 路容走向前台。接待台后坐着一位妆容精致的年轻女性,正是刚才打电话的小陈。 “你好,我是数据分析部的若溪,李总找我。” “请稍等。”小陈拿起内线电话,低声说了几句,然后挂断,对路容微笑,“李总让你直接进去,办公室在走廊尽头,右手边。” “谢谢。” 路容沿着走廊走去。地毯很厚,踩上去几乎无声。两侧墙上挂着抽象画和公司获得的奖项,玻璃展柜里陈列着星耀集团的产品模型。整层楼安静得能听到自己的呼吸声。 她在尽头那扇深色实木门前停下。 门牌上写着:副总裁李剑。 路容抬手,敲门。 “进。”里面传来低沉的男声。 她推门进去。 办公室很大,至少有六十平米。一整面落地窗俯瞰深港市的天际线,阳光透过百叶窗的缝隙,在地板上投下明暗相间的条纹。房间左侧是整面墙的书架,摆满了商业管理和技术类书籍,右侧是一组会客沙发和茶几。正中央是一张巨大的红木办公桌,桌后坐着一个人。 李剑。 路容的心脏猛地收紧。 三年了。 她最后一次见到他,是在天启科技的听证会上。他作为“证人”出席,一脸痛心疾首地说:“我没想到路容会做出这种事,她是我最看好的下属,我真的很失望。” 那时他穿着深蓝色西装,打着银灰色领带,头发梳得一丝不苟。 现在,他依然穿着深蓝色西装,打着银灰色领带,头发梳得一丝不苟。 时间仿佛在他身上停滞了。 “李总。”路容开口,声音经过变声器的处理,带着“若溪”特有的柔和与拘谨。 李剑抬起头。 他看起来四十五岁左右,五官端正,戴着一副金丝边眼镜,镜片后的眼睛狭长而锐利。他的嘴角习惯性微微上扬,像是随时准备露出笑容,但那双眼睛里没有温度。 “若溪,坐。”他指了指办公桌对面的椅子。 路容走过去,坐下。椅子是真皮的,坐下去时发出轻微的摩擦声。她把笔记本放在腿上,双手交叠,姿态恭敬。 李剑打量着她。 目光从她的脸移到她的手,再移到她的穿着,最后回到她的眼睛。那是一种评估的、审视的、带着某种计算意味的目光。路容保持平静,任由他看。 “昨天的事,我听说了。”李剑终于开口,声音平稳,听不出情绪。 路容微微低头:“给李总添麻烦了。” “麻烦?”李剑笑了,笑声短促而干涩,“不,你做得很好。发现问题,追根溯源,用证据说话——这正是我们星耀需要的专业精神。” 他身体前倾,双手交握放在桌面上。他的手指修长,指甲修剪得很整齐,左手无名指戴着一枚简单的铂金婚戒。 “王总监那边,我已经和她谈过了。”李剑继续说,语气轻松得像在聊天气,“管理疏忽,操作不规范,她已经深刻认识到错误。it部的审计漏洞也确实存在,需要整改。这件事,你算是给我们提了个醒。” (本章未完,请点击下一页继续阅读)第15章:棋子的价值(第2/2页) 路容抬起眼睛:“我只是做了分内的事。” “分内的事?”李剑又笑了,这次笑容深了一些,“很多人在自己的‘分内’都做不好。而你,不仅做好了,还做得超出预期。” 他靠回椅背,手指在桌面上轻轻敲击。敲击声很轻,但在安静的办公室里格外清晰。 “若溪,你来星耀多久了?” “两个月零七天。” “时间不长,但表现很突出。”李剑从抽屉里拿出一份文件,推到路容面前,“我看了你入职以来的所有工作记录,还有昨天那份技术分析报告。逻辑清晰,证据扎实,编程能力也很强。” 路容看向那份文件——是她的个人档案,上面贴着“若溪”的照片。照片里的女孩笑容腼腆,眼神清澈。 “谢谢李总认可。” “认可需要实际行动来体现。”李剑身体前倾,目光锁定她,“‘深蓝计划’你知道吧?” 路容的心脏跳快了一拍:“知道,公司今年的重点战略项目。” “对。”李剑点头,“目前项目进入第二阶段,需要处理一批新的外围数据。这批数据比之前的核心一些,涉及的用户行为日志更详细,数据量也更大。” 他停顿了一下,观察路容的反应。 路容保持平静,眼神专注,像一个认真听领导布置任务的下属。 “周哲的团队负责这批数据的清洗和预处理。”李剑继续说,“但我需要有人从质量评估的角度,先对这批数据做个全面诊断,设计预处理方案,确保进入清洗流程前,数据的完整性和可用性达到最高标准。” 他拿起一支钢笔,在指尖转动。钢笔是万宝龙的,金属笔身在阳光下反射着冷光。 “这个任务,我想交给你。” 路容的呼吸有瞬间的停滞。 更核心的外围数据。更接近“深蓝计划”核心数据流的机会。李剑亲自指派的任务。 陷阱?试探?还是真的赏识? “李总,我经验可能还不够……”她谨慎地说。 “经验是积累出来的。”李剑打断她,语气不容置疑,“我看中的是你的能力和态度。昨天的表现证明,你有发现问题、解决问题的专业素养。这个任务,你完全能胜任。” 他把钢笔放下,发出轻微的“咔哒”声。 “当然,这不是你一个人的事。你会作为质量评估专员,加入周哲的临时项目组。你们配合,他负责技术实现,你负责质量把控。有问题吗?” 路容沉默了两秒。 然后她抬起头,眼神坚定:“没有。我会尽力做好。” “很好。”李剑满意地点头,“具体的数据包和项目文档,周哲会发给你。项目周期两周,第一周完成评估和方案设计,第二周配合实施。时间紧,任务重,但我相信你能做好。” “明白。” 李剑又看了她一会儿,忽然问:“若溪,你以前在哪儿工作?” 问题来得突然。 路容早已准备好答案:“之前在云海科技,做数据分析师。公司规模比较小,主要做电商数据服务。” “云海科技……”李剑重复这个名字,像是在记忆里搜索,“好像听说过。为什么离职?” “公司业务调整,整个数据分析团队被裁了。”路容语气平静,带着一丝恰到好处的遗憾,“正好看到星耀的招聘,就投了简历。” “运气不错。”李剑微笑,“星耀需要你这样的人才。” 他站起身,路容也跟着站起来。 李剑绕过办公桌,走到她面前。他比路容高半个头,靠近时带来一股淡淡的古龙水味,混合着烟草和咖啡的气息。路容能看清他眼角细微的皱纹,还有镜片后那双深不见底的眼睛。 “若溪。”他开口,声音压低了一些,“好好干。我喜欢聪明人。” 他停顿,目光在她脸上停留。 办公室里的空气仿佛凝固了。落地窗外,云层飘过,阳光时明时暗。书架上的钟表发出规律的滴答声,每一声都敲在路容的心上。 “但聪明人更要懂得,”李剑缓缓说,嘴角勾起一个似笑非笑的弧度,“什么该碰,什么不该碰。” 这句话很轻。 轻得像一片羽毛落下。 但路容感觉像有一盆冰水从头浇下,寒意瞬间穿透衣服,渗进皮肤,钻进骨髓。她的指尖微微发凉,但脸上表情没有丝毫变化,依然保持着恭敬和专注。 “我明白,李总。我会把握好分寸。” “那就好。”李剑拍了拍她的肩膀,动作很轻,但路容感觉那只手像有千斤重,“去忙吧。期待你的表现。” “谢谢李总。” 路容转身,走向门口。她的步伐很稳,每一步都踩在地毯的同一位置。她能感觉到背后那道目光一直跟随着她,像针一样扎在背上。 她握住门把手,拧开,走出去,轻轻带上门。 门合上的瞬间,她靠在走廊墙壁上,深深吸了一口气。 心脏在胸腔里狂跳,手心渗出冷汗。她闭上眼睛,让那股寒意慢慢退去。李剑最后那句话在耳边回响——“什么该碰,什么不该碰”。 警告。 赤裸裸的警告。 他在告诉她:我知道你做了什么,我知道你能做什么,但别越界。 路容睁开眼睛,看向走廊尽头的落地窗。窗外,深港市的天际线在阳光下闪耀,玻璃幕墙反射着刺眼的光。这座城市看起来光鲜亮丽,充满机遇。 但光鲜之下,是暗流涌动。 她整理了一下衬衫领子,抬步走向电梯间。高跟鞋踩在地毯上,发出沉闷的声响。经过前台时,小陈抬头对她微笑,她也回以微笑。 电梯下行。 镜面墙壁里,她的脸依然平静,但眼神深处有什么东西在燃烧。 李剑给了她一个机会——接触更核心数据的机会。这可能是陷阱,可能是试探,也可能是他真的需要她的能力。 但无论如何,这是她等待已久的突破口。 棋子? 路容看着镜中的自己,嘴角微微扬起。 那就看看,这枚棋子能不能掀翻棋盘。 电梯在17楼停下,门打开。路容走出去,回到数据分析部。办公区里依然安静,同事们都在埋头工作。她走向自己的工位,坐下。 电脑屏幕亮着,收件箱提示有一封新邮件。 发件人:周哲。 主题:关于“深蓝计划”外围数据质量评估项目的协作安排。 路容点开邮件。 正文很简洁,列出了项目时间表、数据包获取方式、第一次小组会议时间。附件里是项目文档和权限申请表格。 她滚动鼠标,浏览内容。 数据包标签:“深蓝-预处理-加密-批次7”。 数据量:约2.3tb。 内容:用户行为日志(脱敏)、设备指纹信息、交互事件序列。 访问权限:需要副总裁级别审批。 路容的目光停留在最后一行。 副总裁级别审批。 李剑已经批了。 她关掉邮件,打开权限申请表格,开始填写。手指在键盘上敲击,每一个字符都敲得清晰有力。屏幕的光映在她的眼镜片上,反射出跳动的代码和文档。 办公室另一头,王总监的办公室门终于开了。 王莉走出来,脸色苍白,眼睛有些红肿。她径直走向茶水间,没有看任何人。部门里瞬间安静下来,所有人都低头假装忙碌。 路容没有抬头。 她继续填写表格,在“申请理由”一栏写下:“根据李剑副总裁指示,参与‘深蓝计划’外围数据质量评估项目,负责数据诊断和预处理方案设计。” 点击提交。 系统提示:申请已提交,等待审批。 实际上,审批已经通过。 路容关掉页面,打开数据分析软件。她需要先熟悉一下“深蓝计划”现有的数据清洗规范,了解周哲团队的工作流程,为即将到来的项目做准备。 屏幕上的文档一行行展开,专业术语和数据模型在眼前跳动。她的注意力高度集中,外界的一切声音都渐渐远去。 只有键盘敲击声,规律而坚定。 像心跳。 像倒计时。 像一场战争开始的鼓点。 窗外的阳光渐渐西斜,在办公桌上投下长长的影子。深港市的傍晚即将来临,霓虹灯开始次第亮起,城市的另一面正在苏醒。 路容摘下眼镜,揉了揉眉心。 然后她重新戴上眼镜,看向屏幕。 棋局已开。 该落子了。 第16章:深蓝的涟漪 第16章:深蓝的涟漪(第1/2页) 路容关掉数据分析软件,屏幕暗下去,映出她平静的脸。窗外,深港市的夜幕已经降临,远处写字楼的灯光像繁星般亮起。她起身走到窗边,看着这座城市的夜景。手机放在桌上,屏幕朝下。她知道,今夜会有数据流入测试环境,她设计的过滤规则将开始工作。那是一个精密的陷阱,伪装成技术上的激进选择。如果一切顺利,明天清晨,告警就会触发。如果失败……路容没有继续想下去。她拉上窗帘,房间陷入昏暗。该休息了,明天还有更多战斗。 清晨六点四十七分,闹钟还没响。 路容已经醒了。 她躺在床上,盯着天花板上模糊的阴影。出租屋的隔音不好,隔壁传来冲马桶的声音,水管在墙壁里发出沉闷的轰鸣。窗外有鸟叫,清脆而单调。空气里有灰尘和旧家具混合的气味,还有她昨晚泡的茶已经凉透的淡淡茶香。 她坐起身,打开床头灯。 光线刺眼。 路容眯起眼睛,伸手拿过笔记本电脑。屏幕亮起,显示着远程连接界面。她输入密码,登录星耀集团的测试服务器。指尖在触摸板上滑动,点开监控面板。 数据流统计图在屏幕上展开。 蓝色的曲线平稳上升,代表昨夜流入“深蓝-预处理-加密”批次7数据包的数量。绿色柱状图显示清洗流程各环节的处理量。红色警示标志——零。 没有告警。 路容盯着屏幕,呼吸平稳。她关掉监控面板,打开邮件客户端。收件箱里有三封新邮件:一封是人力资源部的月度考核通知,一封是公司食堂新菜单,还有一封—— 发件人:周哲。 主题:项目启动会议,上午十点,线上。 路容点开邮件。 正文是标准的会议通知格式,列出了参会人员、会议链接、议程安排。附件里有项目文档的更新版本。她下载附件,打开文档。 文档第一页是项目概述。 “深蓝计划外围数据质量评估与预处理优化项目” 负责人:周哲(技术部) 质量评估专员:若溪(数据分析部) 数据来源:深蓝-预处理-加密批次7、批次8、批次9 目标:建立标准化清洗流程,提升数据可用率15%以上 周期:四周 路容滚动鼠标,浏览技术细节部分。 数据包加密方式:aes-256-gcm,密钥轮换周期24小时。 数据结构:json嵌套,顶层字段包括timestamp、device_id、event_type、payload。 payload字段:加密内容,解密后为嵌套json,包含用户行为序列、设备指纹、交互事件。 她的目光停留在“payload字段”的描述上。 手指无意识地敲击桌面。 一下,两下。 三年前,天启科技有一个内部项目,代号“灯塔”。那是她参与的第一个核心项目,负责设计用户行为数据的采集和预处理流程。当时的加密方案也是aes-256,但用的是cbc模式。数据结构——她记得很清楚——也是json嵌套,顶层字段包括timestamp、user_id、action_type、data。 data字段,加密内容。 路容闭上眼睛,脑海里浮现出那些代码片段。她写过解析函数,写过解密模块,写过数据验证规则。那些代码的风格,那些字段命名的习惯,那些错误处理的逻辑…… 她睁开眼,重新看向屏幕。 文档里没有更多细节。 但那种诡异的熟悉感,像一根细针,刺进她的记忆深处。 上午九点,路容洗漱完毕,换上简单的灰色针织衫和黑色长裤。她在厨房烧水泡茶,茶叶在玻璃杯里舒展开,颜色从浅绿渐渐变成琥珀。水蒸气升腾,模糊了她的眼镜片。她摘下眼镜,用衣角擦拭。 手机震动。 周哲发来消息:“会议提前到九点半,方便吗?李总临时要听项目进展汇报,我们需要先内部过一遍。” 路容打字:“可以。” “好,十分钟后发你链接。” 路容端着茶杯回到书桌前。出租屋很小,书桌紧挨着床,墙上贴着她手绘的数据流程图和项目时间表。桌上除了笔记本电脑,还有一台外接显示器、一个机械键盘、一个变声器设备。变声器的指示灯亮着微弱的绿光,表示设备待机。 她戴上耳机,调整麦克风位置。 然后打开变声器开关。 轻微的电流声在耳机里响起,随即消失。设备开始工作,将她原本的声音实时处理成另一个频率——略高,略带沙哑,符合“若溪”这个身份的声音特征。路容清了清嗓子,测试音效。 “测试,一,二,三。” 耳机里传出的声音陌生而熟悉。 她喝了一口茶,茶水温热,带着淡淡的苦味。 九点二十五分,会议链接发来。 路容点击进入。 视频会议界面展开。周哲已经在线,背景是星耀集团技术部的开放式办公区,能看到他身后有同事走动的模糊身影。他穿着浅蓝色衬衫,头发梳理整齐,但眼睛下方有淡淡的黑眼圈。 “若溪,早上好。”周哲对着摄像头微笑。 “早上好。”路容调整了一下坐姿,确保摄像头只拍到她的上半身和身后的白墙。 “其他同事马上到。”周哲看了看屏幕侧方,“李总要求十点听汇报,我们抓紧时间过一下项目框架。你拿到数据包了吗?” “拿到了,昨晚下载的。” “好。这批数据量比较大,加密方式也比之前的边缘日志复杂。”周哲打开共享屏幕,展示技术文档,“aes-256-gcm,密钥每天轮换,解密需要调用公司的密钥管理服务。权限我已经帮你申请了,今天下午应该能批下来。” 路容点头:“我看到文档了。数据清洗流程的设计,我需要先了解现有问题。” “问题很多。”周哲切换页面,展示一组统计图表,“这是过去三个月‘深蓝’外围数据的可用率趋势。蓝色线是原始数据流入量,红色线是清洗后可用数据量。你看,可用率一直在62%到68%之间波动,离我们目标的80%差很远。” 图表上,红色曲线始终低于蓝色曲线,两条线之间的间隙代表被过滤掉的数据。 “过滤原因分析呢?”路容问。 周哲打开另一张图:“主要三大类:传输过程中产生的重复数据包,占比约18%;加密负载格式错误,无法解密,占比12%;数据字段缺失或格式异常,占比8%。剩下的就是各种零星问题。” “重复数据包的判定规则是什么?” “现有的规则很简单:相同device_id、相同timestamp、相同payload哈希值,判定为重复。”周哲说,“但问题在于,传输过程可能产生时间戳微秒级的差异,或者网络抖动导致同一个数据包被重复发送但带有不同的序列号。现有规则会漏掉很多。” 会议界面里又进来三个人。 都是技术部的同事,路容在之前的项目里见过他们的名字,但没直接合作过。他们依次打招呼,周哲简单介绍了路容的角色。 “若溪负责设计新的过滤规则,重点解决重复数据包和格式异常的问题。”周哲说,“我们需要在两周内拿出第一版方案,在测试环境跑通,然后逐步优化。” 一个戴眼镜的男同事开口:“重复数据包的判定,我建议加入时间窗口概念。比如同一个device_id在100毫秒内发送的多个数据包,如果payload相似度超过95%,就判定为重复。” “相似度计算需要解密payload,计算成本很高。”另一个女同事反驳,“每天流入的数据量是tb级别,实时计算不现实。” “可以抽样,或者只在可疑情况下触发深度检查……” 讨论持续了二十分钟。 路容大部分时间在听,偶尔提问。她的问题都很精准,直指技术方案的核心矛盾和可行性边界。周哲几次看向她的视频窗口,眼神里有欣赏。 会议结束时,分工明确。 路容负责设计重复数据包过滤规则和异常数据检测模块。技术部同事负责搭建测试环境,提供性能监控工具。周哲负责整体协调和向李剑汇报。 “若溪,你这边需要什么支持?”周哲问。 “我需要访问最近一个月‘深蓝’数据清洗的详细日志,包括每个被过滤数据包的具体原因、原始数据片段、处理时间。”路容说,“另外,我想了解这批数据的来源渠道,是直接采集还是通过第三方合作方获取。” 周哲沉默了几秒。 “日志可以给你,下午开权限。”他说,“但数据来源……这部分信息涉密,需要副总裁级别审批。我尽量申请,但不保证。” “理解。”路容点头。 会议结束。 路容摘下耳机,关掉变声器。房间里瞬间安静下来,只有笔记本电脑风扇轻微的嗡嗡声。她靠在椅背上,闭上眼睛。 脑海里回放着刚才会议的内容。 重复数据包。格式异常。加密负载。 还有周哲提到“数据来源涉密”时,那一瞬间的迟疑。 她睁开眼,打开数据包。 解压后的文件夹里,是数百个加密文件,每个文件大小在几十mb到几百mb不等。文件名格式统一:deepblue_pre_enc_batch7_001.bin、deepblue_pre_enc_batch7_002.bin…… 路容随机选择一个文件,用公司提供的解密工具尝试打开。 工具弹出提示:“需要密钥管理服务授权,请登录。” 她登录公司内网,进入密钥管理平台。平台界面简洁,显示着她已申请的权限列表。其中一条:“深蓝计划批次7数据解密权限——待审批”。 状态:审核中。 路容关掉页面。 没有解密密钥,她无法查看数据内容。但文档里描述了数据结构,她可以基于这些描述,先设计过滤规则的框架。 她打开代码编辑器。 手指放在键盘上,停顿。 然后开始敲击。 代码一行行出现在屏幕上。她写得很慢,每一个函数都仔细推敲,每一个判断条件都反复斟酌。过滤规则的核心逻辑是:识别重复数据包,但不过度过滤;检测格式异常,但不误伤正常数据。 这需要平衡。 太保守,达不到提升可用率的目标。 太激进,可能误过滤重要数据。 路容写着写着,停了下来。 她盯着屏幕上的代码,脑海里浮现出另一个场景。 三年前,天启科技“灯塔”项目。她也负责设计数据清洗流程。当时的项目负责人——一个四十多岁、总爱穿格子衬衫的技术总监——在评审会上说:“过滤规则要大胆一点,宁可错杀,不可放过。用户行为数据,干净比完整更重要。” 她当时反驳:“错杀会丢失真实用户行为模式,影响模型训练。” “那是算法团队该操心的事。”总监说,“我们的职责是提供干净的数据。” 后来,“灯塔”项目上线三个月后,因为数据过滤过度,导致用户画像模型出现严重偏差。产品团队投诉,算法团队甩锅,最后责任落到了数据清洗流程设计上。 而那个说“宁可错杀”的总监,早已调离项目组。 路容深吸一口气。 继续写代码。 但这一次,她的思路变了。 她开始设计一个“激进”的规则——表面上是为了最大化过滤重复和异常数据,实际上,她在规则里埋下了一个微妙的漏洞。 漏洞的核心,在于对加密负载格式的判定。 (本章未完,请点击下一页继续阅读)第16章:深蓝的涟漪(第2/2页) 现有文档描述,payload字段解密后应该是标准json格式,包含固定的几个嵌套字段。但路容知道,在实际传输过程中,可能因为加密算法、网络编码、第三方接口等各种原因,产生一些非标准但依然可解析的变体。 比如,json字符串的开头或结尾多了一个空格。 比如,某个字段的值是空数组[],但被编码成了空字符串““。 比如,时间戳字段的值是整数,但被错误地传成了字符串。 这些变体,在严格的json解析器里会报错,但在一些宽松的解析器里可以正常处理。 路容设计的规则是:只要payload解密后不能通过严格json解析验证,就标记为“格式异常”,暂时搁置,触发人工审核。 这听起来很合理。 但她在规则里加了一个细节:对于aes-256-gcm加密的数据包,解密过程会生成一个“认证标签”,用于验证数据完整性。如果认证标签验证失败,解密工具会直接报错,不会输出任何内容。 而她的规则,在处理“认证标签验证失败”的情况时,设计了一个特殊的逻辑分支。 这个分支会检查数据包的元数据——device_id、timestamp、来源ip——然后与最近一小时内的其他数据包进行模糊匹配。如果找到相似的数据包,就假设这个解密失败的数据包是重复发送的版本,直接丢弃,不触发告警。 但如果找不到相似数据包呢? 规则会将其标记为“加密负载格式错误”,进入异常队列。 然后——关键在这里——路容在代码里设置了一个阈值:同一来源ip在五分钟内,如果出现超过三个“加密负载格式错误”的数据包,就触发系统级告警。 为什么? 因为正常的数据传输,不会在短时间内产生大量解密失败的数据包。如果出现,要么是源头数据有问题,要么是加密密钥错误,要么是——有人故意发送了无法解密的测试数据。 而“深蓝计划”的数据来源,周哲说涉密。 路容不知道具体是什么来源。 但她知道,李剑三年前构陷她时,用的就是伪造的数据包,伪装成她从公司服务器泄露出去的加密文件。那些文件,表面上是aes加密,实际上内部结构被篡改过,解密后会得到错误的内容。 当时的加密方式,也是aes-256。 当时的错误模式,也是认证标签验证失败。 当时的处理逻辑——天启科技的安全团队写的——也是将这类数据包标记为异常,触发告警。 然后告警记录,成了“证据”的一部分。 路容的手指停在键盘上。 屏幕上的代码已经写了三百多行。她从头到尾检查一遍,确认逻辑正确,确认漏洞隐蔽,确认这个规则在技术评审时能通过——因为它确实能有效过滤重复数据,也确实能检测格式异常。 只是,它会对某种特定的错误模式,产生“过度敏感”的反应。 而这种错误模式,与三年前她见过的,太像了。 下午两点,权限批下来了。 路容登录密钥管理平台,看到状态变成“已授权”。她下载了解密密钥,导入工具,重新尝试打开那个加密文件。 进度条缓慢移动。 百分之十,百分之三十,百分之七十。 解密完成。 文件展开,里面是数万行json格式的数据。路容快速浏览,确认文档描述的结构准确:timestamp是13位毫秒时间戳,device_id是32位哈希字符串,event_type包括“page_view”、“button_click”、“scroll”等,payload字段是加密内容。 她随机选择几条数据,用密钥解密payload。 解密后的内容显示出来:用户访问了某个电商网站的商品页面,点击了“加入购物车”按钮,页面停留时间47秒,滚动深度65%…… 很标准的用户行为数据。 路容连续解密了十几条,内容都正常。 她关掉文件,打开另一个。 同样正常。 第三个,正常。 第四个—— 路容的目光停住了。 这条数据的device_id,她见过。 就在刚才解密的第一个文件里,有相同的device_id,但timestamp相差三分钟。她翻回去对比,两个数据包的device_id完全一致,event_type都是“page_view”,但payload解密后的内容…… 第一个:用户访问了网站a的首页。 第四个:用户访问了网站b的商品页。 同一个设备,三分钟内,访问了两个不同的网站。 这本身不奇怪,用户可能切换应用。 但路容注意到一个细节:两个数据包的来源ip不同。 第一个来源ip:203.112.89.76(深港市电信) 第四个来源ip:103.215.44.128(境外,新加坡) 同一个设备,三分钟内,ip地址从深港市跳到了新加坡。 不可能。 除非…… 路容盯着屏幕,心跳微微加速。 除非这个device_id不是真实的设备标识,而是经过某种映射或伪造的id。或者,数据来源本身就有问题——可能混合了多个渠道的数据,没有做好去重和归一化。 又或者,这些数据根本不是实时采集的,而是从某个数据仓库里批量导出,重新打包加密后,伪装成实时数据流。 她继续查看。 又发现了几个类似的案例:相同的device_id出现在不同的来源ip,时间间隔很短,访问行为不连贯。 还有一批数据,timestamp的时间顺序是乱的——晚发生的事件,时间戳反而比早发生的事件更早。 以及一些payload解密后,json结构虽然正确,但某些字段的值明显异常:页面停留时间999999秒,滚动深度-1,按钮点击坐标(9999,9999)…… 路容把这些异常案例记录下来。 然后,她开始修改过滤规则代码。 针对device_id异常跳变的情况,她加入了一个检查:如果同一个device_id在十分钟内出现在地理距离不可能达到的ip地址(比如深港市和新加坡),就将这两个数据包都标记为“设备标识可疑”,进入人工审核队列。 针对timestamp乱序的情况,她加入时间戳合理性校验:如果数据包的时间戳比系统当前时间还晚,或者比同来源的前一个数据包早太多,就标记为“时间戳异常”。 针对字段值异常的情况,她加入数值范围检查。 每一条规则,都有合理的技术理由。 每一条规则,也都可能误伤正常数据。 但路容把误判的概率,控制在了一个“可接受”的范围——根据她写的测试用例,误判率大约在0.3%到0.5%之间。对于tb级别的数据流,这意味着每天会有数万个数据包被错误地标记为异常。 而系统告警的阈值,她设置为:同一数据源,异常率超过1%,持续五分钟,触发告警。 如果她的规则误判率是0.5%,正常数据流的异常率可能只有0.1%或更低,那么整体异常率不会超过0.6%,达不到告警阈值。 除非—— 数据源本身的异常率就很高。 或者,有人故意往数据流里注入异常数据包。 路容写完最后一段代码,保存。 时间已经是下午六点。 窗外天色渐暗,城市的灯光再次亮起。她站起来,活动了一下僵硬的肩膀。颈椎发出轻微的咔哒声。她走到窗边,拉开窗帘。 深港市的夜晚,繁华而冷漠。 远处星耀集团的写字楼,依然灯火通明。不知道周哲还在不在办公室,不知道李剑此刻在做什么,不知道那些加密数据包,此刻正从世界的哪个角落,流向星耀的服务器。 路容回到书桌前,将代码提交到测试环境。 系统提示:代码审核中,预计两小时内完成。 她关掉电脑。 煮了碗泡面,加了鸡蛋和几片青菜。面条在沸水里翻滚,热气蒸腾,带着浓郁的调味料气味。她端着碗坐在床边,慢慢吃。 手机安静地躺在桌上。 晚上八点,代码审核通过。 测试环境开始部署新的过滤规则。路容重新打开电脑,登录监控面板。数据流曲线平稳,清洗流程各环节正常。她的规则模块显示“运行中”,处理计数开始累积。 晚上十点,处理数据量超过500gb。 异常标记数量:1274个。 异常率:0.25%。 低于告警阈值。 路容泡了第二杯茶,坐在电脑前等待。茶香在房间里弥漫,混合着泡面残留的气味。她戴上耳机,播放轻音乐,音量调得很低。 时间一分一秒过去。 晚上十一点。 异常率:0.31%。 晚上十一点半。 异常率:0.29%。 午夜十二点。 数据流进入低谷期,流入速度减缓。异常率波动,最高到0.35%,最低到0.22%。 路容的眼睛开始发涩。 她摘下眼镜,揉了揉眉心。然后重新戴上眼镜,盯着屏幕。 凌晨一点。 数据流突然出现一个小高峰——监控面板显示,有新的数据源接入,流量在五分钟内增加了30%。路容坐直身体,手指放在触摸板上,放大那个时间段的统计图。 新数据源的ip段:198.51.100.0/24。 地理位置:显示为“未知”。 异常率,开始上升。 0.41%。 0.53%。 0.67%。 路容屏住呼吸。 屏幕上的数字跳动。 0.72%。 0.85%。 0.91%。 然后—— 1.02%。 红色警示标志,在监控面板上亮起。 系统告警触发。 几乎同时,路容的手机震动起来。 她拿起手机,屏幕上显示来电:周哲。 路容盯着那个名字,看了三秒钟。然后她深吸一口气,按下接听键,同时打开变声器。 “喂?” “若溪,抱歉这么晚打扰。”周哲的声音从听筒里传来,背景里有键盘敲击声和轻微的警报声,“测试环境出问题了,你设计的过滤规则,标记了一大批‘深蓝’外围数据为异常,现在数据流堵塞,清洗流程停滞。我需要你立刻远程登录,一起排查。” 路容的声音平静:“异常率多少?” “刚才峰值1.02%,现在降到0.98%,但还是高于阈值。”周哲说,“数据源是198.51.100开头的那个段,今晚刚接入的新渠道。你方便现在上线吗?” “方便,给我五分钟。” “好,我发你紧急访问链接。” 电话挂断。 路容放下手机,看向电脑屏幕。 红色警示标志依然亮着。 监控面板上,异常数据包的数量还在缓慢增加。 她端起已经凉透的茶,喝了一口。 茶很苦。 但她的嘴角,微微扬起。 鱼饵,已经放下。 第17章:熟悉的幽灵 第17章:熟悉的幽灵(第1/2页) 路容点击周哲发来的链接,远程桌面界面在屏幕上展开。周哲的共享屏幕已经开启,显示着密密麻麻的日志文件和实时监控图表。他的声音从耳机里传来:“能看到吗?异常数据包主要集中在最近二十分钟,解密失败率突然飙升。”路容调整麦克风,声音平稳:“看到了。先从解密失败的数据包开始分析吧。”她的手指放在键盘上,目光锁定屏幕上那些被标记为红色的条目。那些加密负载格式错误的数据包,那些触发告警的异常记录——每一行代码,每一个时间戳,都可能藏着三年前的真相。而此刻,周哲就在屏幕另一端,等待她的专业判断。 “我拉取了最近三十分钟的详细日志。”周哲的声音带着熬夜的沙哑,背景里传来他敲击键盘的清脆声响,“你看这个,198.51.100.23这个源地址,连续发了十七个数据包,payload字段的加密格式都不对。aes-256-gcm的认证标签缺失,解密服务直接拒绝了。” 路容放大日志窗口。 屏幕上的文字在昏暗的房间里泛着冷白的光。她的眼睛快速扫过每一行: ``` [2025-03-1801:07:23.451]info解密服务-数据包id:dl-20250318-014723-8876源ip:198.51.100.23状态:解密失败原因:认证标签校验失败(错误码:aes_gcm_auth_fail) [2025-03-1801:07:24.112]info解密服务-数据包id:dl-20250318-014724-1123源ip:198.51.100.23状态:解密失败原因:加密负载长度异常(错误码:payload_len_invalid) [2025-03-1801:07:24.889]info解密服务-数据包id:dl-20250318-014724-8890源ip:198.51.100.23状态:解密失败原因:初始化向量格式错误(错误码:iv_format_err) ``` “这些错误码……”路容轻声说,声音通过变声器处理后显得平静克制,“看起来像是加密流程本身有问题。密钥轮换出错了?还是这个数据源用的根本不是我们的标准加密库?” “我查过了。”周哲那边传来鼠标滚轮滚动的声音,“密钥服务日志显示,轮换正常。而且这个ip段是今晚刚接入的测试渠道,按理说应该使用和我们其他数据源一样的sdk。除非——” “除非有人故意发送格式错误的数据。”路容接上他的话。 耳机里沉默了两秒。 “有这个可能。”周哲说,“但为什么?测试环境的数据又没什么价值。” 路容没有回答。她的目光停留在那些错误码的排列方式上。aes_gcm_auth_fail,payload_len_invalid,iv_format_err——每个错误码后面都跟着一个括号,括号里的描述用下划线连接单词,首字母大写。这种命名习惯…… 她感到喉咙发紧。 “我们看看这些数据包被标记为异常后的处理流程。”路容说,声音依然平稳,“你的过滤规则触发后,系统是怎么处理这些‘异常’数据包的?直接丢弃?还是进入待审核队列?” “我设置了进入待审核队列。”周哲说,“毕竟可能是误判,需要人工复核。我调一下后台服务的日志。” 屏幕切换。 新的日志窗口弹出,显示的是“数据质量审核服务”的记录。路容看着那些时间戳和操作记录,呼吸逐渐变缓。 ``` [2025-03-1801:08:15.332]info审核服务-收到异常数据包队列批次id:abn-20250318-010815数据包数量:1274 [2025-03-1801:08:16.001]info审核服务-开始处理批次:abn-20250318-010815处理线程:审核线程-3 [2025-03-1801:08:16.445]info审核服务-数据包dl-20250318-014723-8876审核结果:标记为“疑似恶意格式”处理动作:隔离存储(存储路径:/data/quarantine/20250318/014723-8876.bin) [2025-03-1801:08:16.778]info审核服务-数据包dl-20250318-014724-1123审核结果:标记为“疑似恶意格式”处理动作:隔离存储(存储路径:/data/quarantine/20250318/014724-1123.bin) ``` 路容的指尖开始发凉。 不是因为这些内容——这些流程很正常。而是因为日志的格式。 时间戳的写法:[2025-03-1801:08:15.332] 日志级别的标注:info审核服务- 破折号后面的空格:一个空格,不多不少。 错误描述的括号格式:(存储路径:/data/quarantine/20250318/014723-8876.bin) 冒号后面也是一个空格。 她的心跳开始加速,在胸腔里撞击出沉闷的声响。耳朵里传来血液流动的嗡鸣,盖过了周哲在耳机里说话的声音。她只能看见屏幕上的文字,那些排列整齐的日志条目,那些深入骨髓的格式习惯—— “若溪?”周哲的声音把她拉回来,“你在听吗?我说,这些数据包被隔离后,系统还生成了审计记录,需要我调出来看看吗?” 路容深吸一口气。 出租屋里的空气带着灰尘和陈旧木料的气味。窗外的城市已经彻底沉睡,只有远处高架上偶尔驶过的车辆传来模糊的呼啸。她面前的电脑屏幕是房间里唯一的光源,照亮了她放在键盘上微微颤抖的手指。 “调出来。”她说,声音比刚才低了一个度,“我要看完整的处理链条。” “好。” 新的日志窗口。 这次是“系统审计服务”的记录。路容的眼睛死死盯着屏幕,瞳孔在昏暗的光线中放大。她看着那些条目,一行,两行,三行—— ``` [2025-03-1801:08:17.112]audit系统审计-操作:数据隔离执行服务:审核服务目标数据包:dl-20250318-014723-8876审计id:audit-20250318-010817-001 [2025-03-1801:08:17.334]audit系统审计-操作:数据隔离执行服务:审核服务目标数据包:dl-20250318-014724-1123审计id:audit-20250318-010817-002 ``` 时间戳。 日志级别。 服务名称。 破折号。 空格。 操作描述。 执行服务。 目标标识。 审计id。 每一个字段的位置。 每一个标点的用法。 每一个空格的间隔。 路容的呼吸停止了。 三年前。 天启科技。 “灯塔”项目。 服务器机房恒温空调的低沉嗡鸣。 屏幕上滚动的实时日志。 那些她看了无数遍的、记录着“数据泄露”发生前后所有操作的日志条目。 她颤抖着手,移动鼠标。 不是去操作远程桌面——而是点开了自己电脑本地的一个加密文件夹。输入三十二位密码,确认。文件夹打开,里面是几十个按日期命名的截图文件。她的手指在触摸板上滑动,指尖冰凉,几乎感觉不到触控板的摩擦。 找到它。 2022年。 7月。 15日。 那个日期像烧红的铁烙在她的记忆里。 文件:20220715_天启_服务器日志_片段_03.png 双击打开。 图片在屏幕上展开。 同样是日志。 同样是时间戳。 同样是服务记录。 ``` [2022-07-1522:31:45.887]info数据导出服务-接收到导出请求请求id:exp-20220715-223145用户:lujian(李剑)导出数据集:灯塔_用户行为_样本_202207 [2022-07-1522:31:46.112]info数据导出服务-开始处理导出请求:exp-20220715-223145处理线程:导出线程-2 [2022-07-1522:31:47.334]info数据导出服务-导出完成请求id:exp-20220715-223145输出文件:/export/灯塔_样本_20220715_223145.zip文件大小:2.3gb [2022-07-1522:31:47.889]audit系统审计-操作:数据导出执行用户:lujian目标数据集:灯塔_用户行为_样本_202207审计id:audit-20220715-223147-001 ``` 路容的视线在两个屏幕之间来回移动。 左边,是星耀集团“深蓝计划”的审计日志。 右边,是三年前天启科技“灯塔项目”的日志截图。 时间不同。 项目不同。 公司不同。 服务名称不同。 但格式—— [2025-03-1801:08:17.112]audit系统审计-操作:数据隔离执行服务:审核服务目标数据包:dl-20250318-014723-8876审计id:audit-20250318-010817-001 [2022-07-1522:31:47.889]audit系统审计-操作:数据导出执行用户:lujian目标数据集:灯塔_用户行为_样本_202207审计id:audit-20220715-223147-001 时间戳的毫秒数用点分隔。 破折号后面永远跟着一个空格。 操作描述后面是冒号加空格。 执行者字段的写法。 审计id的生成规则:audit-年月日-时分秒-序号。 还有—— 路容把两张图片并排放在一起,放大细节。 错误码的写法。 天启科技的日志里,有一次网络超时的记录: ``` [2022-07-1522:30:12.445]warn数据传输-连接超时(错误码_timeout;重试次数:3) ``` 分号。 错误码后面是分号。 但分号前面有一个空格。 她猛地切回星耀的日志窗口,搜索分号。 找到了。 在解密服务的某条警告日志里: ``` [2025-03-1801:05:33.778]warn解密服务-密钥缓存未命中(错误码:key_cache_miss;已触发密钥重新加载) ``` key_cache_miss; 分号。 空格。 然后分号。 一模一样。 路容的整个身体开始颤抖。 不是冷——出租屋里的暖气还在工作,空气温热干燥。是那种从骨髓深处渗出来的寒意,沿着脊椎爬升,在头皮上炸开细密的刺痛。她的手指蜷缩起来,指甲陷进掌心。疼痛让她稍微清醒了一些,但视线依然模糊,屏幕上的文字在晃动。 “若溪?”周哲的声音再次传来,这次带着明显的疑惑,“你那边还好吗?我这边看到你的鼠标很久没动了。” (本章未完,请点击下一页继续阅读)第17章:熟悉的幽灵(第2/2页) 路容张开嘴。 她想说话。想说“我没事”。想说“继续排查”。但喉咙像被什么东西堵住了,声带僵硬,发不出任何声音。她只能听见自己粗重的呼吸,在安静的房间里显得格外刺耳。 “若溪?” 她用力吞咽,口腔里干得发苦。手指在键盘上摸索,敲出两个字:“在。” “你找到什么了吗?”周哲问,“我这边倒是发现问题了。你看这个——” 屏幕切换回数据流监控界面。周哲用鼠标圈出一段代码:“你的过滤规则,第87行,边界条件判断有问题。`if(error_rate>0.01&&data_volume>1000)`,这里用的是逻辑与,但实际应该用逻辑或。因为只要异常率超过1%或者数据量超过阈值,就应该告警。你用与的话,必须两个条件同时满足才会触发。所以之前那些零散的异常数据包没触发告警,直到今晚这个新数据源涌入大量数据,两个条件才同时满足。” 他的声音轻松了一些,甚至带着点笑意:“小bug,我改一下就行。改完重新部署,告警应该就能解除。不过你设计这个规则的时候,是不是太谨慎了?怕误报太多?” 路容盯着屏幕上被圈出的那行代码。 她的代码。 她故意留下的漏洞。 她精心设计的鱼饵。 现在,周哲轻松地找到了问题,轻松地修复了。他以为这只是新手工程师常犯的逻辑错误。他不知道这行代码背后藏着什么。不知道这个漏洞是故意留下的。不知道这个告警是她等待的契机。 更不知道,就在他排查技术问题的这几分钟里,她已经看到了地狱。 “若溪?”周哲又问了一次,“你确定没事吗?你的呼吸声有点重。” 路容闭上眼睛。 三秒。 五秒。 十秒。 她重新睁开眼睛,手指在键盘上敲击,通过聊天窗口发送消息:“没事,刚才在对比日志。你说得对,是我考虑不周。谢谢指正。” 发送。 然后她关掉了麦克风。 她需要安静。 需要绝对的、彻底的安静。 周哲在耳机里说了什么,她听不见。她只看见聊天窗口里弹出他的回复:“客气什么,一起解决问题嘛。我改好了,正在重新部署。大概两分钟后生效。你那边可以继续监控异常率的变化。” 路容没有回复。 她的目光重新回到那两个并排的屏幕上。 左边,星耀。 右边,天启。 相同的日志格式。 相同的标点习惯。 相同的空格用法。 相同的分号前面加空格的诡异细节。 这不是巧合。 这不是“行业通用规范”——她在这行干了七年,看过无数公司的系统日志。有的用方括号,有的用圆括号。有的时间戳精确到秒,有的到毫秒。有的错误码用下划线,有的用点号。有的在冒号后面加空格,有的不加。有的审计id用uuid,有的用自增数字。 但像这样,每一个细节都吻合—— 只有一种可能。 写这些日志记录的服务,是同一个程序员开发的。 或者更准确地说,设计这些日志格式规范的人,是同一个人。 李剑。 路容的嘴唇无声地动了一下,念出这个名字。 三年前,他是天启科技的技术副总裁,负责“灯塔”项目的整体架构。所有核心服务的日志规范,都是他亲自审核定稿的。路容记得很清楚,因为当时她还为此和他争论过——李剑坚持要在分号前面加空格,说这样“更美观”;路容认为这不符合大多数编程语言的惯例,容易造成解析问题。最后李剑用职权压了下来:“按我的规范来。” 她当时只觉得这个人固执。 现在她知道了,那不是固执。 那是习惯。 是烙印。 是无论换到哪家公司、哪个项目、哪个系统,都会不自觉带上的个人印记。 就像指纹。 而现在,这个指纹,出现在了星耀集团的“深蓝计划”里。 路容靠在椅背上,仰起头。 出租屋的天花板很低,白色的涂料有些剥落,露出下面灰色的水泥。角落里有一小片水渍,是楼上漏水留下的痕迹,形状像一张扭曲的脸。她盯着那片水渍,眼睛一眨不眨。 所以,李剑不仅当年构陷了她。 不仅偷走了她的职业生涯。 不仅毁了她的人生。 现在,他还在用同样的手法,在另一家公司,另一个项目里,做类似的事情。 “深蓝计划”到底是什么? 那些加密格式错误的数据包,来自哪里? 那个ip段198.51.100.0/24,背后是什么? 还有—— 路容猛地坐直身体。 如果日志格式是李剑的个人习惯,那么“深蓝计划”的整个技术架构,很可能也是他主导设计的。或者至少,核心的数据处理流程是他把关的。那么,这个项目里,会不会藏着和三年前“灯塔”项目一样的秘密? 非法数据交易? 黑市数据源? 洗白渠道? 她的心脏狂跳起来,在胸腔里撞击出疼痛的节奏。手指重新放在键盘上,冰凉僵硬。她切回远程桌面,看到监控面板上的红色警示标志已经消失。异常率降到了0.23%,数据流恢复正常。周哲在聊天窗口里发来消息:“搞定。告警解除。你可以休息了,今天辛苦了。” 路容盯着那条消息。 她的手指在键盘上悬停了几秒,然后敲下:“辛苦了。谢谢。” 发送。 然后她断开远程连接。 屏幕暗下去。 房间里只剩下她电脑本地屏幕的光,照亮着那张三年前的日志截图。那张截图里,有李剑的操作记录。有他导出数据的记录。有系统审计的记录。有所有能证明他当年做了什么、却因为“证据不足”而被忽略的记录。 而现在,她有了新的线索。 相同的指纹。 相同的习惯。 相同的幽灵。 路容关掉图片窗口,打开一个新的文档。她开始打字,手指在键盘上飞快移动,敲击声在安静的房间里回荡,像某种急促的心跳。 标题:日志格式对比分析 时间:2025年3月18日凌晨 对比对象:天启科技“灯塔”项目日志(2022年7月)vs星耀集团“深蓝计划”日志(2025年3月) 相似点: 1.时间戳格式:[年-月-日时:分:秒.毫秒] 2.日志级别与服务名称之间的分隔:一个空格+破折号+一个空格 3.操作描述后的标点:冒号+空格 4.错误码后的标点:分号前加空格 5.审计id生成规则:audit-年月日-时分秒-序号 6.字段顺序:时间戳、级别、服务、破折号、描述、执行者、目标、审计id 7.…… 她列出了十七条相似点。 每一条,都是细节。 每一条,都是习惯。 每一条,都是同一个人留下的痕迹。 文档写完,她保存,加密,备份到三个不同的地方。 然后她坐在椅子上,一动不动。 窗外的天空开始泛白。深港市的黎明来得很快,远处的天际线从漆黑变成深蓝,再变成灰白。高架上的车流声逐渐密集起来,城市正在苏醒。新的一天要开始了。 路容看着窗外渐亮的天光。 她的脸上没有任何表情。 没有愤怒。 没有悲伤。 没有恐惧。 只有一种冰冷的、绝对的确定。 李剑。 果然是他。 耳机里传来“叮”的一声——是周哲又发来了消息。路容没有去看。她的世界在那一刻缩小到只剩下一个事实:那个毁了她一切的人,就在那里。就在星耀集团。就在她此刻潜伏的这栋大楼里。用着同样的手法。做着同样的事。 而她,已经找到了第一个确凿的证据。 不是猜测。 不是推理。 是刻在代码里的、无法伪造的指纹。 路容慢慢站起身。 腿有些发麻,血液流通不畅带来的刺痛让她微微皱眉。她走到窗边,拉开窗帘。清晨的光线涌进来,照亮房间里漂浮的灰尘。楼下街道上,早班的公交车驶过,轮胎压过路面发出湿漉漉的声响。空气里有早餐摊飘来的油烟味,混合着城市清晨特有的清冷气息。 她看着这一切。 看着这个她生活了三年的城市。 看着这个她必须复仇的世界。 然后她转过身,走回电脑前。 屏幕还亮着。 文档还打开着。 那些相似点还列在那里。 路容坐下,关掉文档。 她打开邮箱,开始写一封邮件。收件人:周哲。主题:关于今早告警事件的复盘与改进方案。正文:感谢协助排查,我已记录问题原因,后续会优化规则设计,避免类似情况发生…… 她的手指在键盘上移动,敲出专业、冷静、克制的文字。 就像什么都没发生过一样。 就像她只是一个普通的新人工程师,刚刚经历了一次小小的技术故障,正在做善后总结。 就像她的内心没有刚刚经历一场海啸。 就像那个熟悉的幽灵,没有在深夜里,对她露出狰狞的微笑。 邮件写完,发送。 路容关掉电脑。 屏幕彻底暗下去。 房间里陷入昏暗,只有窗外透进来的晨光,在地板上投下一片模糊的亮斑。她坐在椅子上,看着那片光。光里有灰尘在缓慢旋转,像某种无声的舞蹈。 她的手机震动了一下。 路容拿起来看。 周哲回复了她的邮件:“收到。不用太自责,技术问题难免。你今天上午可以晚点来,好好休息。” 她盯着那条消息。 看了很久。 然后她放下手机,双手捂住脸。 肩膀开始颤抖。 不是哭泣——她没有流泪。只是身体在不受控制地发抖,像寒冷,像恐惧,像某种积压了太久的情绪终于找到了裂缝,正在从内部撕裂她。 三年来。 一千多个日夜。 每一次从噩梦中惊醒。 每一次看到行业新闻里李剑的名字。 每一次被人用异样的眼光打量。 每一次在招聘网站上投出简历然后石沉大海。 所有那些时刻积累的重量,在这一刻,全部压了下来。 但只持续了不到一分钟。 路容放下手。 她的脸上依然没有表情。只是眼睛比刚才更亮,像某种淬过火的金属,在昏暗的光线里泛着冷硬的光泽。她站起身,走进狭小的卫生间,打开水龙头。冷水泼在脸上,刺骨的冰凉让她彻底清醒。 抬头,看向镜子。 镜子里的人,黑眼圈很重,脸色苍白,嘴唇干裂。但眼神是坚定的。是那种知道自己要做什么、并且一定会做到的坚定。 路容用毛巾擦干脸。 然后她走出卫生间,开始换衣服。 白衬衫。 黑色西装裤。 低跟鞋。 她把长发扎成利落的马尾,戴上那副伪装用的黑框眼镜。镜片后的眼睛,已经看不出任何情绪的波动。 她拿起包,检查里面的东西:手机、钥匙、工牌、笔记本、笔。 还有那个小小的、伪装成口红管的变声器。 一切就绪。 路容走到门口,手放在门把手上。 她停顿了一秒。 然后拉开门,走出去。 走廊里很暗,声控灯没有亮。她踩着高跟鞋,脚步声在空旷的楼道里回响,一声,一声,清晰而稳定。 下楼。 走出单元门。 清晨的空气扑面而来,带着凉意。 路容抬起头,看向远处那栋高耸的写字楼——星耀集团的总部。玻璃幕墙在晨光中反射着金色的光,像一座冰冷的、华丽的宫殿。 而她知道,在那座宫殿里,住着一个幽灵。 一个熟悉的幽灵。 现在,她要去找他了。 第18章:燃烧的冷静 第18章:燃烧的冷静(第1/2页) 路容站在工位旁,手里端着刚接的热水。周哲从会议室出来,看到她,笑着走过来。“早啊,若溪。昨晚休息好了吗?”路容点头,声音平稳:“好多了。关于昨晚的规则问题,我想再详细请教一下,避免以后犯类似错误。”周哲拉开旁边的椅子坐下:“没问题,你说。”路容放下水杯,手指在桌面上轻轻敲了敲:“我想了解,‘深蓝计划’的数据从接入到最终处理,整个链条的权限是怎么设计的?比如,谁能看到原始日志?审计记录是谁在维护?”周哲想了想,身体微微前倾:“这个啊,核心权限都在李总那边。不过……”他压低声音,“项目刚开始的时候,其实有一套临时的本地日志系统,那时候的权限分配和操作记录,我这边可能还有备份。” 路容的手指在杯壁上停住了。 热水透过陶瓷杯壁传来温度,烫着她的指尖。她闻到茶水淡淡的茉莉花香,混合着办公室里空调吹出的、带着灰尘味道的冷风。远处传来打印机工作的嗡嗡声,规律而单调。 “备份?”她的声音依然平稳,甚至比刚才更轻了一些,“在哪儿?” “我工位那台旧测试机。”周哲指了指技术部办公区角落,“深蓝项目刚启动的时候,我们还没上安全服务器,所有日志都临时存在本地。后来迁移到正式环境,那台机器就闲置了,一直没重装系统。” 路容端起水杯,喝了一口。 热水滑过喉咙,带来灼烧感。 她需要这种灼烧感——来压制住胸腔里突然加速的心跳,来冷却那双在镜片后骤然收缩的眼睛。三年前,天启科技的“灯塔”项目,也是从一套临时日志系统开始的。李剑喜欢这种模式:先用本地测试环境跑通流程,记录所有操作痕迹,等正式上线时再“清理”掉那些不该留下的东西。 同样的手法。 同样的幽灵。 “那台机器……”路容放下杯子,陶瓷与桌面碰撞发出清脆的声响,“现在还能开机吗?” “应该可以。”周哲耸耸肩,“不过里面都是些旧数据,可能早就没用了。而且——”他顿了顿,“那些日志格式很乱,当时为了赶进度,连时间戳的写法都没统一,有的用横杠,有的用斜杠,有的连时区都没标。” 路容的呼吸在那一瞬间停滞了半秒。 横杠。 斜杠。 时区。 十七处细节。 她昨晚在屏幕前数过的那些细节,那些烙印在李剑技术习惯里的指纹——它们不是偶然,不是巧合,是这个人十年如一日的编码风格,是他操纵数据时留下的、无法抹去的笔迹。 “听起来确实很乱。”路容说,声音里带着恰到好处的、新人工程师对技术债务的无奈,“不过如果能看看当时的权限分配逻辑,也许能帮我理解现在的设计思路。我昨晚设计的过滤规则,可能就是没吃透数据流转的完整链条。” 周哲看着她,眼神里闪过一丝欣赏。 “你这种态度很好。”他说,“很多新人遇到问题,第一反应是推卸责任,或者急着掩盖。你能主动复盘,还想深挖原因,这很难得。” 路容低下头,整理桌上的文件。 纸张在她手指间发出沙沙的摩擦声。她能感觉到周哲的目光落在她身上,温暖而真诚。这种温暖像针,扎在她用谎言构筑的盔甲上,留下细密的、看不见的孔洞。 “昨晚的事,我确实考虑不周。”她抬起头,目光直视周哲,“我太想证明自己了,想设计一个足够严密的规则,结果反而忽略了边界情况。给你添麻烦了,对不起。” 这句话说得很诚恳。 诚恳到连她自己都差点相信——相信她只是一个急于表现的新人,相信她的愧疚只源于技术失误,相信她此刻的冷静只是专业素养的体现。 而不是因为,她刚刚确认了仇人就在眼前。 而不是因为,她胸腔里那团复仇的火焰,已经烧得她五脏六腑都在疼。 “别这么说。”周哲摆摆手,“技术问题难免。而且你昨晚的反应很快,排查思路也很清晰,这已经比很多人强了。”他站起身,“这样吧,我上午有个会,下午两点之后有空。如果你真想看那些旧日志,我可以帮你把那台机器找出来。” “谢谢。”路容说。 两个字,说得轻而稳。 周哲笑了笑,转身离开。他的脚步声在走廊里渐行渐远,最后消失在电梯间的方向。 路容坐在工位上,没有动。 她看着电脑屏幕,屏幕上是公司内部系统的登录界面,蓝色的背景上印着星耀集团的logo——一个抽象的、由无数光点组成的星环。那些光点在她瞳孔里旋转,旋转,最后凝固成三年前天启科技会议室里,李剑那张微笑着的脸。 “路容,这个数据包是你处理的吧?” “时间戳对不上。” “加密密钥的流转记录里,有你的操作痕迹。” “董事会需要一个解释。” 那些话语,那些眼神,那些在会议室惨白灯光下翻动的文件——所有画面在这一刻全部涌回来,清晰得像是昨天刚发生。路容的手指握紧了鼠标,塑料外壳在她掌心留下深深的压痕。 她深吸一口气。 然后松开手,打开邮箱。 收件箱里躺着十几封未读邮件:项目进度汇报、部门例会通知、数据质量周报。她一封封点开,阅读,回复。回复的语气专业而克制,用词精准,标点规范。她甚至在其中一封关于“深蓝计划”数据清洗规范的修订邮件里,提出了两条具体的修改建议。 键盘敲击声在工位上规律地响起。 哒,哒,哒。 像某种心跳的替代品。 上午十点,王总监从办公室出来,高跟鞋敲击地面的声音由远及近。路容没有抬头,继续处理手头的报表。她能感觉到那道目光在她身上停留了几秒——审视的,评估的,带着惯常的挑剔。 “若溪。”王总监的声音在头顶响起。 路容抬起头。 王总监站在她工位旁,手里拿着一份打印出来的文件。她今天穿了深灰色的套装,头发一丝不苟地盘在脑后,嘴唇涂着正红色的口红。那红色在办公室惨白的灯光下,显得格外刺眼。 “昨晚的告警事件,周哲已经写报告了。”王总监把文件放在路容桌上,“报告里提到,是你设计的过滤规则触发了异常。虽然问题解决了,但这种事以后最好避免。‘深蓝计划’是集团的重点项目,任何数据波动都会引起高层关注。” 路容看着那份报告。 纸张很白,上面的黑色宋体字整齐排列。她能闻到油墨的味道,混合着王总监身上传来的、浓郁的香水味——那是某种昂贵的商业香,前调是柑橘,中调是茉莉,后调是檀木。香气太浓了,浓到几乎盖过了办公室里空调的灰尘味。 “我明白。”路容说,“我已经在复盘了,下午会跟周工进一步学习数据流转的完整机制,确保不再犯类似错误。” 王总监盯着她看了几秒。 那双涂着精致眼线的眼睛里,有什么东西在闪烁——是怀疑?是试探?还是单纯的、对下属的例行敲打? “学习是好事。”王总监最终说,声音里听不出情绪,“但也要注意分寸。周哲手头有更重要的工作,不要占用他太多时间。” “好的。” 王总监转身离开。 高跟鞋的声音再次响起,哒,哒,哒,最后消失在总监办公室的门后。路容看着那扇关上的磨砂玻璃门,门后隐约能看到王总监坐回办公桌前的模糊身影。 她收回目光,继续工作。 报表,邮件,会议纪要。 一项项处理,一件件完成。 中午十二点,办公室里的同事陆续起身去吃饭。路容没有动,她点了一份外卖,在工位上吃完。塑料餐盒里是简单的番茄炒蛋和米饭,味道寡淡,但她吃得很慢,每一口都仔细咀嚼,像在进行某种仪式。 饭后,她去了洗手间。 洗手间的镜子很大,很亮,照出她苍白的脸。她打开水龙头,冷水哗哗流下。她把手伸到水流下,让冰冷的水冲刷手指,冲走指尖残留的、来自餐盒的油腻感。 镜子里的人看着她。 黑框眼镜,马尾辫,白衬衫。 一张完全陌生的脸。 路容盯着那张脸,看了很久。然后她伸手,调整了一下眼镜的位置。镜片后的眼睛,依然平静,依然专业,看不出任何情绪的波澜。 下午一点五十分。 路容回到工位,打开和周哲的聊天窗口。 “周工,下午方便吗?想请教一下数据权限的问题。” 消息发出去,不到一分钟,周哲回复了:“刚开完会。你来我工位吧,那台旧机器我找出来了。” 路容站起身。 她的心跳在这一刻突然加快了——不是紧张,不是恐惧,是一种更复杂的东西:期待,警惕,还有那种在黑暗中摸索了太久、终于看到一线光时,本能产生的战栗。 她穿过办公区。 技术部在楼层的另一头,需要经过一条长长的走廊。走廊两侧是透明的玻璃隔断,里面是各个项目组的办公区。路容能听到键盘敲击声,电话铃声,偶尔爆发的讨论声。空气里弥漫着咖啡的味道,还有某种电子产品长时间运行后产生的、淡淡的塑料焦味。 她走到技术部门口。 门开着,里面比外面嘈杂一些。十几张工位排列整齐,每张桌子上都摆着至少两台显示器。屏幕上滚动着代码,图表,监控数据。周哲坐在靠窗的位置,正弯腰在一堆杂物里翻找什么。 “周工。”路容走过去。 周哲直起身,手里抱着一台黑色的台式机主机。机器很旧,外壳上积了一层薄灰。他把主机放在桌上,灰尘在空气中扬起,在午后的阳光里形成细小的光柱。 “就这台。”周哲拍了拍机箱,发出沉闷的响声,“放了快一年了,不知道还能不能启动。” 路容看着那台机器。 黑色的金属外壳,侧面贴着星耀集团的资产标签,标签上的条形码已经有些模糊。机箱顶部的散热孔里,能看到积攒的灰尘,像某种黑色的绒毛。 “电源线应该还在。”周哲蹲下身,在桌子底下的收纳箱里翻找。路容听到塑料碰撞的声音,还有纸张摩擦的沙沙声。几秒钟后,周哲抽出一根黑色的电源线,线身上也蒙着灰。 他把电源线插上。 按下开机键。 机器发出一阵低沉的嗡鸣——风扇开始转动,灰尘从散热孔里被吹出来,在空气中飘散。路容闻到一股陈旧电子产品的味道,混合着灰尘和塑料老化后的微酸气息。 (本章未完,请点击下一页继续阅读)第18章:燃烧的冷静(第2/2页) 显示器亮了。 蓝色的启动界面,windows系统的标志在屏幕上旋转。进度条缓慢移动,1%,2%,3%……路容站在周哲身后,看着那个进度条。她的手指在身侧微微蜷缩,指甲陷进掌心,留下浅浅的月牙形痕迹。 “看来还能用。”周哲说,声音里带着点意外,“我以为硬盘早就坏了。” 系统启动完成。 桌面很干净,只有几个基本的图标:我的电脑,回收站,浏览器。背景是windows默认的蓝天白云图。周哲移动鼠标,点开“我的电脑”,在d盘里找到一个名为“深蓝_项目归档”的文件夹。 “应该在这里面。”他说。 路容俯下身。 她的肩膀几乎挨到周哲的手臂。她能感觉到从他身上传来的温度,还有那种干净的、洗衣液混合着淡淡汗水的味道。屏幕的光映在她脸上,映在她镜片上,反射出冷白的光斑。 周哲点开文件夹。 里面是几十个子文件夹,命名杂乱无章:“测试日志_初版”、“权限配置_备份”、“操作记录_临时”、“数据映射表_废弃”……路容的目光快速扫过那些名字,最后停在一个叫“初始权限日志_本地备份”的文件夹上。 “这个。”她说。 声音很轻,但很清晰。 周哲点进去。 文件夹里是几十个文本文件,命名格式是“perm_log_yyyymmdd.txt”。最早的日期是十一个月前,正是“深蓝计划”立项的时间。周哲随机点开一个文件,屏幕上瞬间弹出密密麻麻的日志记录。 路容的瞳孔收缩了。 那些日志的格式—— 时间戳:[2024-04-1214:23:11] 操作者:lj(李剑) 动作:创建数据通道 参数:source_ip=198.51.100.0/24,encrypt_method=aes-256-gcm,key_rotation=7d 审批状态:已通过(电子签名:lj_zhao) 时间戳:[2024-04-1214:25:43] 操作者:lj 动作:配置访问权限 参数:user_group=core_team,ess_level=full,audit_g=true 审批状态:已通过(电子签名:lj_zhao) 横杠分隔的日期。 方括号包裹的时间戳。 操作者缩写。 参数列表用等号连接。 审批状态括号里的电子签名。 每一个细节,都和昨晚她在系统日志里看到的格式一致。每一个细节,都和三年前天启科技“灯塔”项目的日志格式一致。这不是巧合,不是偶然,这是同一个人用同一套思维模式、同一套编码习惯留下的痕迹。 路容的呼吸变得缓慢而深沉。 她盯着屏幕,眼睛一眨不眨。那些文字在她瞳孔里跳动,重组,最后拼凑出一幅完整的画面:李剑坐在电脑前,敲击键盘,配置权限,创建数据通道。他的手指在键盘上移动,他的思维在代码里流淌,他的习惯在每一个标点、每一个空格里留下烙印。 而此刻,这些烙印就在她眼前。 就在这台积满灰尘的旧机器里。 “这些日志……”路容开口,声音依然平稳,但仔细听能察觉到一丝极轻微的颤抖,“看起来权限很高。操作者都是lj——是李总吗?” “对。”周哲点头,“项目初期的核心配置都是李总亲自做的。他说这些涉及数据安全,不能假手于人。” “那审批里的‘zhao’是?” “赵律师。”周哲说,“集团法务部的负责人。所有涉及数据出口和加密配置的操作,都需要李总和赵律师的双重电子签名。这是合规要求。” 路容的手指在桌沿上轻轻敲了敲。 敲击的节奏很慢,一下,一下,像某种思考时的无意识动作。但实际上,她在用这个动作来分散注意力——分散那股从胸腔深处涌上来的、几乎要冲破喉咙的冷笑。 合规要求。 双重签名。 多么完美的设计。用合规的外衣,包裹非法的内核。用双重审批的流程,制造“集体决策”的假象。等东窗事发时,每个人都可以说:“我只是按流程签字,具体内容我不清楚。” 三年前,李剑用的也是这一套。 只不过那时候,他需要陷害的人是她。所以他在日志里伪造了她的操作痕迹,在审批流程里偷换了她的电子签名,在数据流转的关键节点上,埋下了足以让她身败名裂的“证据”。 而现在,他不需要陷害谁了。 他只需要保护自己。 所以这套流程变得更严密,更“合规”,更无懈可击。 “那这些日志现在还有用吗?”路容问,“既然已经迁移到安全服务器了,为什么还要留着本地备份?” 周哲耸耸肩。 “按理说应该销毁。但当时迁移的时候,安全团队说要做一次完整性校验,需要对比本地和服务器两边的日志,确保没有遗漏。校验做完之后,这台机器就闲置了,一直没人来处理。”他顿了顿,“其实我也想过重装系统,但总怕万一哪天需要查什么旧数据……你知道的,技术债嘛,能拖就拖。” 他说这话时,语气里带着点自嘲。 路容听出了那种自嘲——那是每个工程师都有的、对技术债务的无奈。但她更听出了这句话里潜藏的机会:这台机器还在,数据还在,那些记录了项目初期所有操作的原始日志,还在。 “那审计呢?”她继续问,声音里带着恰到好处的好奇,“这些操作被记录之后,谁来审计?审计日志又存在哪儿?” 周哲转过身,看向她。 午后的阳光从窗外斜进来,照在他脸上,照出他眼睛里那种认真的、愿意分享知识的神情。 “审计系统是独立的。”他说,“所有核心操作——包括数据访问、权限变更、加密配置——都会被实时推送到一个专门的审计服务器。那台服务器不在我们部门,在集团安全中心,物理隔离,访问权限极高。” “多高?” “至少副总裁级别。”周哲说,“而且需要动态令牌和生物识别双重认证。李总可以看,赵律师可以看,董事会授权的审计委员会可以看。我们这种级别,连服务器ip地址都不知道。” 路容点点头。 她的表情很平静,像只是在学习一个普通的技术架构。但她的脑子里,已经在快速构建一幅地图:核心数据需要李剑和赵律师的双重审批,操作记录被独立审计系统捕获,审计日志的查看权限极高,普通员工无法接触。 那么,她要怎么拿到证据? 从审计服务器直接突破?不可能,物理隔离,权限极高。 从审批流程入手?需要同时破解李剑和赵律师的电子签名。 从…… 她的目光,重新落回屏幕上。 落回那些本地备份的日志文件上。 “其实最原始的权限分配和操作日志,在项目初期有一份本地备份,就在我这边一台测试机的硬盘里,后来统一迁移到安全服务器了,那台机器还没重装,不知道还有没有……” 周哲的声音在耳边响起。 路容的心跳,在这一刻骤然加速。 咚。 咚。 咚。 像某种沉重的鼓点,敲击在她的胸腔里,敲击在她的耳膜上。她能感觉到血液在血管里奔涌,能感觉到指尖传来的、细微的麻痹感。但她脸上的表情,依然平静。 她甚至还能继续提问。 “那如果……”她顿了顿,像是在斟酌用词,“如果我想学习完整的权限设计思路,是不是看这些本地备份就够了?毕竟初期的设计逻辑,应该是最核心的。” 周哲想了想。 “理论上是的。”他说,“初期的设计决定了整个架构的走向。不过——”他看向路容,眼神里带着点关切,“你也不用太钻牛角尖。昨晚的事已经过去了,李总那边也没再追问。你现在最重要的是把日常工作做好,慢慢积累经验。” 路容低下头。 “我知道。”她说,“但我还是想弄明白。我不想再犯同样的错误。” 这句话说得很轻,但很坚定。 周哲看着她,看了几秒。然后他笑了,那笑容里有种无奈的、但又带着欣赏的意味。 “行吧。”他说,“那这样,这些日志文件你可以拷贝一份回去研究。但记住——”他的表情严肃了一些,“绝对不能外传,绝对不能放在任何联网的设备上。这是公司机密,出了事我们都担不起责任。” “我明白。”路容说。 周哲从抽屉里拿出一个空白的u盘,插到主机上。他打开文件夹,选中所有日志文件,开始拷贝。进度条在屏幕上缓慢移动,文件数量:47个,总大小:3.2gb。 路容站在旁边,看着那个进度条。 1%,5%,10%…… 每一个百分点的跳动,都像一次心跳。她的目光紧紧锁定屏幕,锁定那些正在被复制的文件名。那些名字在她瞳孔里闪烁,像某种密码,像某种钥匙,像某种……复仇的武器。 30%,50%,70%…… 办公室里的嘈杂声在这一刻变得遥远。她能听到的,只有主机风扇转动的嗡鸣,还有自己胸腔里那沉重的心跳。她的手指在身侧蜷缩,指甲再次陷进掌心。这一次,她用了力,掌心传来清晰的刺痛。 刺痛让她清醒。 90%,95%,99%…… “好了。”周哲说。 进度条消失,拷贝完成。他拔出u盘,递给路容。黑色的塑料外壳,在她掌心留下冰凉的触感。 “拿去吧。”周哲说,“但记住我说的话。” 路容握紧u盘。 塑料外壳的边缘,硌着她的掌心。 “谢谢。”她说。 两个字,说得轻而稳。 就像她胸腔里那团燃烧的火焰,已经被一层厚厚的冰,彻底封存。 第19章:夜幕下的行动 第19章:夜幕下的行动(第1/2页) 电梯门在负一层停车场打开。 路容走出电梯,地下车库的空气带着混凝土和机油混合的冰冷气味。她走向自己的车位,脚步依然平稳,但握着u盘的那只手,在口袋里攥得指节发白。 坐进车里,她没有立刻发动引擎。 车厢内一片黑暗,只有仪表盘上微弱的指示灯泛着幽绿的光。她将u盘从口袋里拿出来,放在掌心。黑色的塑料外壳在黑暗中只是一个模糊的轮廓,但那份重量,那份硌在掌心的触感,真实得让她几乎要颤抖。 她闭上眼睛。 三年前的那个夜晚,也是这样。她握着一份刚刚完成的算法报告,站在李剑的办公室门口。门缝里透出灯光,还有李剑和另一个人的低语声。她听不清内容,但那种语调——那种带着算计、带着贪婪、带着某种即将得逞的愉悦的语调——让她本能地停住了脚步。 然后她转身离开。 第二天,泄密案爆发。 路容睁开眼睛,将u盘放进副驾驶座上的背包夹层。拉链拉上的声音,在寂静的车厢里格外清晰。 她发动车子,引擎的低吼在地下停车场回荡。 *** 周五。 路容一整天都表现得和往常一样。上午处理数据清洗任务,中午和周哲以及几个同事在食堂吃饭,下午参加部门例会。王总监在会上又强调了数据安全,目光扫过每个人的脸,在路容身上多停留了半秒。 路容低头记录,笔尖在纸上划过,发出沙沙的声响。 下午五点,下班时间。 她没有立刻离开。而是打开电脑,调出那份早已烂熟于心的网络拓扑图——那是她花了三个晚上,通过公开的公司架构文档、技术论坛的零星讨论、以及几次“无意”路过it部门时瞥见的屏幕信息,一点点拼凑出来的。 星耀集团的办公区分为a、b、c三个区域。技术部在b区七层。消防通道在每层东侧,连接楼梯间和货梯。监控摄像头分布密集,但有几个关键节点存在盲区:消防通道门内侧、货梯轿厢顶部检修口下方、以及b区走廊东侧第三个摄像头——根据老吴之前含糊的暗示,那个摄像头的线路老化,偶尔会“失灵”。 路容的目光落在那个摄像头的图标上。 她打开手机,给一个没有保存名字的号码发了条加密信息:“周五,b7东三,时间?” 十分钟后,回复来了。 只有一行字:“凌晨一点到两点,b区走廊东侧第三个摄像头,信号会‘维护’十分钟。” 路容删除了信息记录。 她关掉电脑,收拾东西离开办公室。走廊里已经没什么人,阳光从落地窗斜进来,将她的影子拉得很长。她能闻到空气中残留的咖啡香气,还有清洁剂淡淡的柠檬味。 电梯下行时,她看着镜面墙壁里的自己。 “若溪”的脸,平静,温和,带着新人特有的、恰到好处的谨慎。 路容的脸,在冰层之下,燃烧。 *** 晚上十一点,出租屋。 路容没有开主灯,只打开了书桌上的台灯。昏黄的光晕照亮桌面上摊开的几样东西:一套深灰色的连帽运动服,一顶黑色棒球帽,一个医用外科口罩,一双软底运动鞋,还有——一个火柴盒大小的黑色金属块。 那是老吴上周悄悄塞给她的。 “便携式信号***。”老吴当时压低声音说,“有效范围五米,能暂时屏蔽无线信号和低功率监控传输。但只能用一次,电池只够撑三分钟,而且——千万别在正式监控探头前用,那玩意儿有备用电源和本地存储。” 路容拿起那个金属块,指尖摩挲着冰凉的表面。 她将运动服换上,布料摩擦皮肤发出细微的窸窣声。衣服很合身,深灰色在黑暗中几乎是隐形的。她将长发全部塞进棒球帽,帽檐压得很低。口罩遮住了下半张脸,只露出一双眼睛。 她走到穿衣镜前。 镜子里的人,陌生,利落,像一道影子。 路容看着那双眼睛。那双在平静表面下、燃烧着冰冷火焰的眼睛。此刻,火焰不再被压制,不再被封存——它们就在瞳孔深处跳跃,带着一种近乎残忍的冷静。 她转身,从背包夹层里取出那个u盘,放进运动服内侧的口袋。拉链拉上,u盘紧贴着胸口,能感觉到塑料外壳的硬度和微微的凉意。 然后她拿起手机,给沈薇发了条预设好的定时信息:“如果明早八点前我没有取消,联系这个号码。”后面附上了周哲的办公室座机号码。 这是保险。 也是决绝。 路容关掉台灯,房间陷入黑暗。她站在窗前,看着窗外深港市的夜景。高楼大厦的灯光如星河般铺展,车流在街道上划出流动的光带。这座城市永远喧嚣,永远忙碌,永远有无数秘密在霓虹灯下滋生、交易、湮灭。 而她,即将成为其中一个。 *** 凌晨零点五十分。 路容将车停在距离星耀大厦两个街区外的路边停车位。她熄火,下车,锁车。深夜的街道很安静,只有远处偶尔传来的汽车引擎声。空气潮湿,带着南方城市特有的、闷热的夜的气息。 她步行走向星耀大厦。 脚步很轻,软底鞋踩在人行道上,几乎没有声音。她能听到自己的呼吸,平稳,缓慢,刻意控制着节奏。心跳也很快,但那种快不是慌乱,而是某种蓄势待发的、紧绷的亢奋。 星耀大厦的轮廓在夜色中矗立,玻璃幕墙反射着城市的微光,像一座沉默的黑色巨塔。 路容绕到大厦侧面。这里是货运通道和后勤入口,晚上只有保安亭亮着灯。她躲在阴影里,观察了几分钟。保安亭里,值班的保安正低头看着手机,屏幕的光映亮了他半张脸。 老吴说过,周五夜班是小张。 小张喜欢打游戏,后半夜最容易松懈。 路容深吸一口气,从阴影中走出,快步走向消防通道的侧门。门是厚重的金属防火门,通常从内部锁闭,但——老吴上周“检修”时,在门锁的机械结构里动了点手脚。 她握住门把手,向下压,同时向内侧轻轻一推。 门开了。 一股混合着灰尘和混凝土味道的凉风扑面而来。消防通道里没有窗户,只有墙壁上应急指示灯泛着幽绿的光,将楼梯间照得影影绰绰。路容闪身进去,反手将门轻轻带上。 咔哒。 门锁闭合的声音在寂静的楼梯间里格外清晰。 路容站在原地,等了几秒。没有警报,没有脚步声。只有应急指示灯工作时发出的、极其细微的电流嗡鸣声。 她开始上楼。 楼梯是混凝土浇筑的,台阶边缘有些磨损。她的脚步放得更轻,每一步都踩在台阶中央,避免发出任何空洞的回响。运动服的布料随着动作摩擦,发出轻微的沙沙声,混合着她自己的呼吸声,在封闭的空间里被放大。 一层,两层,三层…… 她能感觉到小腿肌肉开始发酸,能感觉到胸口因为运动而微微起伏。u盘在口袋里随着动作轻轻晃动,塑料边缘偶尔硌到肋骨,带来清晰的触感提醒。 六层,七层。 到了。 消防通道在七层的门,同样是金属防火门。路容停在门前,没有立刻推开。她将耳朵贴在门板上,屏住呼吸。 门外一片寂静。 她看了一眼手表:凌晨一点零五分。 老吴给的“维护”窗口,是一点到两点。b区走廊东侧第三个摄像头,会有十分钟的“信号中断”。但摄像头本身可能还在工作,只是传输信号被暂时屏蔽——如果直接出现在镜头前,风险依然存在。 路容从口袋里拿出那个黑色金属块——信号***。拇指按住侧面的开关,感受到轻微的震动,表示设备已启动。 她将***握在掌心,另一只手握住门把手。 深吸一口气。 推门。 门轴发出极其轻微的吱呀声。路容侧身闪出,反手将门虚掩。她背贴着墙壁,迅速扫视走廊。 b区走廊很宽,两侧是玻璃隔断的办公区。此刻一片黑暗,只有安全出口的绿色指示灯和天花板角落的监控摄像头红色光点,在黑暗中像某种沉默的眼睛。 东侧,第三个摄像头。 路容的目光锁定那个方向。摄像头静静地对着走廊中段,红色光点规律地闪烁。她握紧***,开始移动。 脚步极轻,极快。 她沿着墙壁的阴影前进,身体几乎贴着墙面。走廊里铺着厚地毯,吸收了脚步声。她能闻到空气中残留的、淡淡的咖啡和纸张味道,混合着中央空调送出的、带着滤网灰尘的冷风。 (本章未完,请点击下一页继续阅读)第19章:夜幕下的行动(第2/2页) 距离摄像头还有十米。 八米。 五米。 路容举起握着***的手,对准摄像头的方向。她没有看表,但心里在默数。老吴说“维护”十分钟,但没说具体从一点几分开始。她必须赌,赌***启动的这三分钟,能覆盖掉摄像头“失灵”的窗口期。 三米。 她按下***的增强按钮。 设备发出几乎听不见的高频嗡鸣,握在掌心的金属块微微发热。路容没有停步,继续向前。她的目光紧盯着那个摄像头—— 红色光点,熄灭了。 不是闪烁,不是变暗,是彻底熄灭,像突然闭上的眼睛。 路容的心脏在那一瞬间几乎要跳出胸腔。但她没有减速,反而加快脚步,从摄像头下方冲过。经过的瞬间,她抬头瞥了一眼。摄像头静静地悬在那里,镜头黑洞洞的,没有任何反应。 她冲过走廊中段,拐进通往技术部办公区的岔路。 这里没有摄像头——根据拓扑图,这里是监控盲区。 路容停下脚步,背靠着墙壁,大口喘息。***还在手里发烫,她松开手指,设备停止工作。寂静重新笼罩,只有她自己剧烈的心跳声,在耳膜里咚咚作响。 她看了一眼手表:一点零八分。 从进入消防通道到现在,只过去了十三分钟。但感觉像过了一个世纪。 路容将***塞回口袋,调整呼吸。汗水已经浸湿了运动服的内衬,黏在皮肤上,带来冰凉的不适感。她抹了一把额头的汗,继续前进。 技术部办公区的玻璃门锁着,但——周哲工位所在的那个小隔间,靠近走廊的窗户没有完全关严。 这是她上周“送文件”时确认的。 路容走到那扇窗前。窗户是推拉式,留着一道大约五厘米的缝隙。她戴上随身携带的薄橡胶手套,双手抵住窗框,用力向一侧推。 窗户滑动,发出轻微的摩擦声。 缝隙扩大到足以让一个人侧身通过。 路容先探进头,确认隔间里没有人,然后撑起身体,灵活地翻过窗台,落地。动作很轻,几乎没有声音。 她站在了技术部办公区内。 月光从另一侧的落地窗斜照进来,在地板上投下大片清冷的光斑。办公桌、电脑、文件柜、椅子……所有东西都在月光下呈现出模糊的轮廓,像沉睡的巨兽。 路容的目光迅速扫视,锁定角落。 周哲的工位。 那台旧测试机,果然还在那里。机箱上落着一层薄灰,显示器歪斜地放在一边,键盘半截塞在桌子下面。 路容走过去,拉开椅子坐下。椅子轮子在地板上滚动,发出轻微的咕噜声。她戴上手套,按下主机电源键。 嗡—— 风扇启动的声音,在寂静的办公室里格外突兀。路容屏住呼吸,等了几秒。没有其他动静。 显示器亮起,跳出启动界面。没有密码提示——测试机,通常不设密码。 系统进入桌面,背景是默认的蓝天白云。桌面上图标凌乱,有各种测试工具、临时文档、还有几个游戏快捷方式。 路容移动鼠标,点开“我的电脑”,开始搜索。 硬盘不大,只有500g。她直接搜索关键词:“深蓝”、“日志”、“权限”、“初始”。 进度条缓慢移动。 时间一分一秒过去。路容能听到自己心跳的声音,能听到主机风扇转动的声音,能听到窗外远处隐约传来的、城市夜间的车流声。月光照在她的手上,照在鼠标上,照在屏幕上那些飞速滚动的文件名上。 然后,停住了。 一个文件出现在搜索结果列表里。 文件名:“深蓝_归档_初始权限日志.rar” 压缩包,大小:4.7gb。 路容的呼吸停滞了一瞬。 她点开文件属性。创建日期:三年前,深蓝项目启动后第二周。修改日期:同一天。位置:d盘根目录下的一个临时文件夹。 就是它。 路容从运动服内侧口袋里,取出那个准备好的空白u盘。u盘是黑色的,金属外壳,容量32gb。她将u盘插入主机前置的usb接口。 系统识别,弹出盘符。 她选中那个压缩包,右键,复制,粘贴到u盘。 进度条弹出。 “正在复制:深蓝_归档_初始权限日志.rar” “大小:4.7gb” “剩余时间:约12分钟” 路容盯着那个进度条。 1%,2%,3%…… 速度很慢。旧测试机的usb接口可能是2.0的,传输速率有限。她不能加快,只能等。每一秒都像被拉长,像某种缓慢的凌迟。 她移开目光,看向周围。 月光下的办公区,寂静,空旷。远处的工位上,有同事留下的玩偶、盆栽、还有没喝完的水杯。一切都凝固在时间中,像博物馆里的展品。 路容的视线扫过周哲的桌面。 桌面上除了电脑,还有一个相框。月光下看不清照片内容,但能看出是两个人的合影。旁边放着一本翻开的技术书籍,书页边缘有些卷曲。还有一个马克杯,杯子上印着某个开源大会的logo,杯子里有半杯冷掉的茶。 这些细节,这些属于“周哲”这个人的、温暖的、生活化的细节,像细小的针,轻轻刺着路容的神经。 她利用了他。 她欺骗了他。 而此刻,她正坐在他的工位上,窃取他保管的数据。 路容闭上眼睛,深吸一口气。胸腔里翻涌的情绪——愧疚、不安、自我厌恶——被她强行压下去,压进那团燃烧的火焰深处,成为燃料。 火焰烧得更旺了。 进度条:50%。 时间:一点二十五分。 路容睁开眼睛,目光重新锁定屏幕。进度条缓慢但稳定地向前移动。55%,60%,65%……她能听到u盘读写时发出的、极其细微的咔哒声,像某种倒计时。 70%,75%,80%…… 走廊里突然传来一声轻响。 像是金属碰撞的声音,很轻,但在寂静中格外清晰。 路容全身的肌肉瞬间绷紧。她猛地转头,看向玻璃门外的走廊。月光照在空荡荡的走廊上,没有任何人影。 是错觉? 还是…… 她屏住呼吸,竖起耳朵。 没有脚步声,没有开门声,只有中央空调出风口持续送风的、低沉的嗡鸣。 路容缓缓转回头,看向屏幕。 进度条:85%。 她的心脏在胸腔里狂跳,几乎要撞碎肋骨。汗水从额角滑落,滴在手套上,留下深色的圆点。她握紧拳头,指甲隔着橡胶手套掐进掌心。 90%,92%,95%…… 快了。 就快了。 97%,98%,99%…… 就在进度条跳到99%的瞬间—— “啪!” 办公室天花板所有的日光灯,毫无征兆地、同时亮起。 刺眼的白光如洪水般倾泻而下,瞬间吞噬了月光,将整个办公区照得亮如白昼。路容的身影,毫无遮掩地暴露在灯光下,暴露在空旷的办公室中央,暴露在—— 门口。 技术部办公区的玻璃门口,站着一个人。 高跟鞋,深色套装,挽起的头发,冰冷的面孔。 王总监。 她站在门口,一只手还按在墙上的灯光开关上。她的目光如刀,直直刺向路容,刺向路容坐在周哲工位上的身影,刺向电脑屏幕上那个显示着“复制完成”提示的对话框。 时间凝固了。 路容背对着门口,身体僵硬得像一尊石像。她能感觉到灯光照在背上,灼热,刺目。她能感觉到王总监的目光,像实质的冰锥,钉在她的脊椎上。她能听到自己胸腔里,那几乎要炸开的心跳声。 然后,高跟鞋敲击地面的声音响起。 清脆,缓慢,一步一步,从门口走进来。 声音在寂静的、亮如白昼的办公室里回荡,像某种死亡的倒计时。 最后,停在了路容身后,大约三米远的位置。 冰冷刺骨的声音,从背后传来,每一个字都像淬了毒的针: “若溪。” “这么晚了。” “你在周工程师的工位上——” “找什么?” 第20章:绝境与急智 第20章:绝境与急智(第1/2页) 刺眼的白光如手术灯般精准切割着办公室的每一寸空间。 路容背对着门口,全身的血液仿佛在瞬间冻结。灯光将她的影子投在电脑屏幕上,与“复制完成”的对话框重叠。她能听到王总监高跟鞋细微的挪动声,能闻到空气中骤然紧绷的、混合着香水与冷气的味道。u盘还插在主机上,金属接口在灯光下反射着冰冷的银光。 她的手指,在桌子下方,极其缓慢地、向那个usb接口移动。 喉咙发干,像被砂纸打磨过。但大脑在疯狂运转,每一个神经元都在尖叫着寻找生路。 她必须开口。 必须用“若溪”的声音,说出一个能让王总监至少迟疑一秒的理由。 一秒钟,就够她拔出u盘,握进掌心。 一秒钟,就可能是生死之别。 “王总监?” 声音从喉咙里挤出来,带着恰到好处的颤抖——那种深夜被抓包的新人应有的慌乱。路容保持着背对门口的姿势,肩膀微微缩起,做出被惊吓到的本能反应。她的手指已经触到了u盘的边缘,塑料外壳在指尖下冰凉。 “我……我白天有个算法思路没验证完。” 她一边说,一边极其缓慢地将右手从鼠标上移开,动作僵硬得像生锈的机械。左手则借着身体的遮挡,向下探去,指尖精准地扣住了u盘的尾部。 “想到周工这边测试环境的数据更全……” 拔。 u盘从接口脱离的瞬间,发出极其轻微的“咔”声。路容的心脏几乎停跳,但她的声音没有停顿,反而因为紧张而更加急促,完美掩盖了那声微响。 “就……就过来想借用一下机器跑个程序。” u盘握进掌心。 塑料外壳被体温迅速焐热,边缘硌着掌纹。路容的手指收紧,将那个小小的黑色方块完全包裹在手心里。汗水从掌心渗出,浸湿了橡胶手套的内层,让u盘变得有些滑腻。 她不敢握得太紧,怕发出塑料摩擦的声音。 也不敢握得太松,怕它从汗湿的手心滑落。 办公室里的空气凝固了。 王总监没有立刻回应。 路容能感觉到背后的目光,像x光一样扫描着她的脊背、她的肩膀、她握紧的左手。她能听到王总监的呼吸声——平稳,缓慢,带着某种审视的节奏。还有高跟鞋鞋跟轻轻敲击地面的声音,一下,两下,像在思考,又像在等待。 时间被拉长成细丝。 每一秒都像刀锋划过神经。 终于,王总监开口了。 声音冰冷,像从冰窖深处传来:“跑程序?” 路容的喉咙发紧。她强迫自己点头,动作幅度很小,符合一个被上司当场抓获的、心虚的新人形象。“是……是的。白天太忙了,没时间验证,我怕思路忘了,就想着……” “用周哲的电脑?” 王总监打断了她,声音里带着明显的质疑。高跟鞋的声音又响起了,这一次,是向前的脚步声。 一步。 两步。 路容能感觉到背后的压迫感在增强。王总监在靠近。她的影子在电脑屏幕上变得更大,几乎要完全覆盖路容自己的影子。灯光从背后照来,将路容的身影投在键盘上,投在屏幕上,投在那个已经关闭了复制对话框、但还停留在文件管理器界面的显示器上。 “周工……周工这边的测试环境配置最全。”路容的声音更低了,带着认错般的怯懦,“我……我以为他今晚不会加班,就想借用一下,明天一早就……” “还专挑凌晨?” 王总监的声音已经近在咫尺。 路容能闻到那股香水味——不是白天用的那款清新花香,而是更浓郁、更持久的木质调香水,混合着淡淡的烟草气息。王总监抽烟?这个念头在路容脑中一闪而过,随即被更紧迫的危机感淹没。 因为王总监停在了她身后。 距离不到一米。 路容甚至能感觉到对方呼吸时带起的微弱气流,拂过她后颈的碎发。她的背脊绷得笔直,每一块肌肉都处于高度戒备状态。左手握着的u盘,在掌心里烫得像一块烙铁。 “若溪。” 王总监的声音从头顶传来,带着某种居高临下的审视。 “你觉得我会信吗?” 路容的呼吸停滞了一瞬。 大脑在疯狂运转。王总监的语气里没有愤怒,没有惊讶,只有冰冷的、早有预料的质疑。这意味着什么?她早就怀疑“若溪”?还是今晚出现在这里,本身就是一场针对性的蹲守? “转过来。” 王总监命令道,声音里没有任何商量的余地。 “把手里的东西放下。” 路容的心脏狠狠一沉。 她不能转身。 一旦转身,王总监就会看到她的脸——看到那张因为极度紧张而可能无法完全维持“若溪”表情的脸,看到那双眼睛里可能泄露的、属于路容的锐利与决绝。更重要的是,一旦转身,她握在左手的u盘就会暴露在王总监的视线范围内。 那个黑色的、还带着电脑余温的u盘。 那个装着4.7gb关键日志的u盘。 那个她冒着暴露风险、潜入深夜办公室、几乎就要得手的u盘。 不能。 绝对不能。 “王总监……”路容的声音里带上了一丝哭腔,不是伪装,而是肾上腺素飙升导致的生理性颤抖,“我……我真的只是跑个程序。我手里……手里什么都没有……” 她一边说,一边极其缓慢地将左手向身体内侧移动,试图将u盘塞进运动服袖口里。橡胶手套在布料上摩擦,发出细微的沙沙声。 “我让你转过来。” 王总监的声音陡然拔高,带着不容置疑的威严。 高跟鞋的声音又响起了。 这一次,是向侧面移动的声音。王总监在绕到她的侧面,要从另一个角度看清她的脸,看清她手里的东西。 路容的瞳孔骤然收缩。 来不及了。 她猛地从椅子上站起来,动作快得带起一阵风。椅子轮子在地板上滑出刺耳的摩擦声。她依然背对着王总监,但身体已经转向了办公桌的侧面,用桌沿挡住了自己大半的身体。 “对不起王总监!”她的声音里带着慌乱,但语速极快,“我……我这就把电脑关掉,马上离开!我不该擅自用周工的电脑,我错了,我明天一定写检讨……” 她一边说,一边右手飞快地移动鼠标,点击开始菜单,选择关机。动作流畅得不像一个慌乱的新人,但此刻的王总监似乎没有注意到这个细节——她的注意力完全被路容刻意遮挡的身体姿态吸引了。 “你在藏什么?” 王总监的声音冷得像冰。 她已经绕到了办公桌的侧面,距离路容只有两步之遥。灯光从她背后照来,在她脸上投下深深的阴影,让那双眼睛显得更加锐利,更加咄咄逼人。 路容能看到她的脸了。 王总监今晚没有化妆,素颜的脸上带着明显的疲惫,眼下的乌青在灯光下清晰可见。她的头发也没有像白天那样一丝不苟地挽起,而是松散地扎在脑后,几缕碎发垂在额前。深色的套装外套敞开着,露出里面皱巴巴的衬衫。 她不是专程来蹲守的。 这个判断在路容脑中迅速成型。王总监这副模样,更像是临时从家里赶来的——也许是因为某个紧急的工作,也许是因为接到了什么消息,也许……只是失眠,来公司处理积压的事务。 但无论是哪种原因,她此刻出现在这里,对路容来说都是致命的。 “我没有藏东西。”路容的声音里带着委屈,她将左手完全背到身后,u盘紧紧握在掌心,手指因为用力而微微颤抖,“王总监,我真的只是……” “把手伸出来。” 王总监打断了她,向前迈了一步。 距离缩短到一步。 路容能看清她眼睛里细密的血丝,能闻到她呼吸里淡淡的咖啡苦味。王总监今晚喝过咖啡,很多咖啡。这个细节让路容的心又沉了一分——一个疲惫但被***刺激得异常清醒的上司,比一个精神饱满的上司更难对付。 “王总监……”路容的声音里带上了哀求。 “伸出来。” 王总监的声音没有任何动摇。 她的右手抬了起来,不是要抢夺,而是指向路容背在身后的左手,动作带着明确的命令意味。灯光下,她的手指修长,指甲修剪得整齐,涂着透明的护甲油,但指尖微微发白,显示出她此刻也在用力控制着什么。 紧张? 还是兴奋? 路容的大脑在飞速分析。王总监的眼神里有一种她熟悉的东西——那种猎手看到猎物落入陷阱时的、混合着警惕与愉悦的光芒。三年前,李剑在办公室里对她宣布“调查决定”时,眼里也有类似的光。 只是李剑的更隐蔽,更虚伪。 而王总监的,更直接,更赤裸。 她享受这种掌控感。 享受这种将下属逼入绝境、看着对方慌乱求饶的掌控感。 这个认知让路容的胃部一阵翻搅。但与此同时,一个计划也在她脑中迅速成型——利用王总监的这种心理,利用她想要享受“猫捉老鼠”过程的欲望,争取时间,争取机会。 路容缓缓地、极其缓慢地将左手从身后移出来。 动作慢得像电影里的慢镜头。 王总监的目光紧紧锁定着她的左手,看着她握紧的拳头,看着她因为用力而指节发白的手指,看着她手背上橡胶手套在灯光下泛着的微光。 “手里是什么?”王总监问,声音里带着明显的期待。 路容没有回答。 她只是缓缓地、一点一点地松开手指。 橡胶手套摩擦着塑料外壳,发出细微的、令人牙酸的吱呀声。 王总监的身体微微前倾,眼睛睁大,呼吸都屏住了。 然后—— 路容完全张开了手掌。 掌心里,空空如也。 只有橡胶手套的纹理,在灯光下清晰可见。 王总监愣住了。 她的表情凝固在脸上,那种猎手般的锐利光芒瞬间被困惑取代。她的目光在路容的掌心反复扫视,仿佛不相信自己看到的——她明明听到了u盘拔出的声音,明明看到了路容刻意遮挡的动作,明明…… “我手里真的什么都没有。”路容的声音里带着哭过之后的沙哑,她将手掌完全摊开,甚至翻转过来,让王总监看清手背,“王总监,您……您是不是看错了?” 王总监的嘴唇抿成一条直线。 她的目光从路容的手掌移开,扫向办公桌,扫向电脑主机,扫向地面。她在寻找那个应该存在的u盘,那个她确信路容刚刚拔下来的u盘。 (本章未完,请点击下一页继续阅读)第20章:绝境与急智(第2/2页) 但什么都没有。 主机上的usb接口空空如也。桌面上除了键盘鼠标和几份文件,没有其他杂物。地面上干净得能照出人影,连一张纸屑都没有。 “你……”王总监的声音里第一次出现了不确定,“你刚才在拔什么?” “拔鼠标。”路容立刻回答,声音里带着被冤枉的委屈,“我……我站起来的时候太慌了,鼠标线缠住了椅子,我拔了一下……” 她说着,还配合地指了指办公桌下方——那里确实有一根黑色的鼠标线,蜿蜒着连接在主机上。 王总监盯着那根鼠标线,眉头紧锁。 她的理智在告诉她,事情不对劲。一个新人,凌晨一点出现在同事工位上,用着同事的电脑,被发现时背对着门口,手在桌子下面动作——这一切都太可疑了。 但她的眼睛告诉她,路容手里什么都没有。电脑屏幕上虽然还停留在文件管理器界面,但没有任何正在复制或传输的迹象。甚至,路容刚才还主动关机了——如果她真的在拷贝什么重要数据,怎么会这么干脆地关机? 矛盾。 强烈的矛盾感让王总监的思维出现了短暂的混乱。 而路容,抓住了这个混乱的瞬间。 “王总监,我真的知道错了。”她的声音里带着真诚的悔意,眼眶甚至开始泛红——这不是演技,而是高度紧张后生理性的反应,“我不该擅自用周工的电脑,不该这么晚还在公司,不该……不该让您担心。我明天一定写深刻的检讨,在全部门面前做检讨都可以……” 她一边说,一边开始收拾自己的东西——其实她根本没有带任何东西进来,但她做出了从口袋里掏出手机、检查是否带齐物品的动作。 “您……您要是还不信,可以检查我的包,我的口袋,我身上任何地方。”路容说着,甚至主动将运动服外套的口袋翻出来,里面空空如也,“我真的只是来跑个程序,跑完就走的。周工电脑里的数据,我一点都没有动,我可以用我的职业生涯发誓……” 王总监没有说话。 她只是盯着路容,目光锐利得像要剖开她的皮肤,看清她骨头里藏着的秘密。 时间一分一秒过去。 办公室里的空气沉重得能拧出水来。 路容能听到自己的心跳声,在胸腔里撞出沉闷的鼓点。她能感觉到汗水从额角滑落,沿着太阳穴流进鬓角,痒得像蚂蚁在爬。她能闻到空气中越来越浓的、属于王总监的香水味和咖啡苦味,混合着她自己因为紧张而分泌的、淡淡的汗味。 然后,王总监突然动了。 她不是走向路容,而是走向了周哲的电脑。 路容的心脏猛地一跳。 王总监按下了电脑的电源键——刚才路容只是点了关机,但系统还没有完全关闭。屏幕亮起,进入了关机前的最后界面。王总监盯着屏幕,手指在键盘上敲击了几下,调出了系统日志。 路容的呼吸屏住了。 系统日志会记录usb设备的插拔记录。 虽然她刚才拔u盘的动作很快,虽然她用了信号***可能对部分系统记录有影响,但……万一呢? 万一有一条记录残留下来呢? 王总监的手指在触摸板上滑动,滚动着日志列表。她的眉头越皱越紧,嘴唇抿得发白。灯光从她头顶照下,在她脸上投下深深的阴影,让她的表情显得更加阴晴不定。 路容的左手,在身侧悄悄握紧。 掌心里,那个小小的、黑色的u盘,正贴着她的皮肤,藏在橡胶手套和运动服袖口的夹层里。她刚才在张开手掌的瞬间,用极其精妙的手法将u盘滑进了袖口——那是她三年前在一次行业交流中学到的小技巧,来自一个退役的魔术师,没想到会在这里用上。 但袖口并不安全。 只要王总监要求她脱掉外套,或者只是抬起她的手臂,u盘就会掉出来。 或者,只要王总监在系统日志里找到那条usb设备记录…… 时间被拉长成细丝,每一秒都像在刀尖上行走。 终于,王总监停下了动作。 她直起身,转头看向路容,目光复杂。 “系统日志里,”她缓缓开口,声音里带着某种审视,“没有usb设备插拔记录。” 路容的心脏猛地一松,但随即又绷紧——王总监的语气,不像是在陈述事实,更像是在试探。 “可能……可能是系统延迟?”路容小心翼翼地说,声音里带着不确定,“或者……或者是我刚才关机太快了,没记录上?” 王总监没有回应。 她只是盯着路容,目光在她脸上来回扫视,像在寻找破绽,像在评估真假。然后,她突然问了一个完全出乎意料的问题: “你白天那个算法思路,是什么?” 路容的大脑在瞬间空白了一秒。 但她立刻反应过来了——这是王总监的另一个试探。如果她真的只是来跑程序,就应该对自己的“算法思路”了如指掌。如果她是临时编造的借口,就会在这个问题上露出马脚。 幸运的是,路容从来不做没有准备的行动。 “是关于用户行为序列的异常检测。”她立刻回答,语速平稳,带着技术讨论时的专注,“我发现在现有的模型里,对‘长周期低频次异常’的识别率很低。比如一个用户每个月只登录一次,但这一次登录的行为模式和他过去十二个月的记录完全不同——这种异常,现有模型很容易漏报。” 王总监的眉毛微微挑起。 路容知道,她抓住了王总监的兴趣——作为数据分析部门的总监,王总监对技术问题有着本能的关注。 “我想到可以用时间序列分解结合注意力机制,把用户行为拆解成趋势、周期和残差三个部分,然后在残差部分做异常检测。”路容继续说,声音里带着一丝兴奋,像是一个找到解决方案的技术人员,“但需要大量的历史数据做验证,尤其是需要那种完整的、未经清洗的原始日志……” 她说到这里,恰到好处地停顿了一下,脸上露出“所以我才来用周工电脑”的无奈表情。 王总监沉默了。 她的目光依然锐利,但那种猎手般的压迫感,似乎减弱了一分。她看了看电脑屏幕,又看了看路容,最后,目光落在了路容依然泛红的眼眶上。 “就算你是来跑程序,”她终于开口,声音依然冰冷,但不再那么咄咄逼人,“也不该擅自用同事的电脑,更不该在凌晨一点出现在办公室。” “是,我知道错了。”路容立刻低头认错,姿态放得极低。 “公司有规定,非工作时间进入办公区,需要提前报备。” “我……我忘了,我太着急了。” “周哲知道吗?” 这个问题像一根针,猝不及防地刺进路容的心脏。 她握紧了左手,u盘的边缘硌着掌心的肉。周哲不知道。他当然不知道。如果他知道“若溪”深夜潜入他的工位,用他的电脑,他会怎么想?那个总是温和地笑着、会在她加班时悄悄放一杯热咖啡在她桌上的周哲,会怎么看待这个“擅自动用他私人空间”的同事? “我……我没告诉他。”路容的声音低了下去,带着真实的愧疚,“我想着只是借用一下,明天再跟他道歉……” 王总监盯着她,良久。 然后,她突然转身,走向办公室门口。 路容愣住了。 她……就这么走了? 但王总监在门口停了下来,背对着路容,声音从那边传来,在空旷的办公室里回荡: “今晚的事,我会记下。” “明天早上,我要看到你的书面检讨,不少于三千字。” “还有,这个月的绩效,扣百分之二十。” 路容的心脏狠狠一沉。 绩效扣百分之二十——这对一个刚入职不久的新人来说,几乎是致命的打击。这意味着她这个月的奖金全无,意味着她在部门的评价会大幅下降,意味着她接下来的转正、晋升,都会受到影响。 但比起身份暴露、证据被收缴、甚至被移送警方,这已经是最好的结果。 “是,王总监。”路容低声应道,声音里带着认罚的顺从。 王总监没有回头。 她只是抬起手,按下了墙上的灯光开关。 “啪。” 办公室重新陷入黑暗。 只有月光从窗外照进来,在地板上投下冰冷的银辉。 王总监的身影消失在门口,高跟鞋的声音在走廊里渐行渐远,最终彻底消失。 路容站在原地,一动不动。 她听着那声音远去,听着电梯运行的嗡鸣声响起又停止,听着地下停车场隐约传来的汽车引擎声——王总监离开了。 真的离开了。 她缓缓地、极其缓慢地松开左手。 u盘从袖口滑出,落在掌心,塑料外壳上沾满了汗水,在月光下泛着湿漉漉的光。 她握紧它,握得指节发白。 然后,她双腿一软,整个人跌坐在周哲的椅子上。 冷汗如瀑般从后背涌出,浸湿了运动服的内层。她的手臂在颤抖,手指在颤抖,连牙齿都在不受控制地打颤。应激反应——那种三年前落下的、在极度高压环境下会控制不住颤抖的毛病,此刻如潮水般席卷而来。 她咬紧牙关,将u盘紧紧按在胸口。 塑料外壳硌着肋骨,生疼。 但这份疼痛,让她清醒。 她活下来了。 证据保住了。 虽然代价惨重——绩效扣罚,书面检讨,王总监的怀疑不会完全消除,今晚的事一定会被记入档案,成为她职业生涯中一个洗不掉的污点。 但比起三年前失去的一切,这不算什么。 路容闭上眼睛,深深吸气,再缓缓吐出。重复三次后,颤抖终于渐渐平息。她睁开眼睛,看向窗外深沉的夜空,看向远处城市璀璨的灯火。 然后,她站起身,将u盘小心地放进运动服最内侧的口袋,拉上拉链。 她关掉电脑,拔掉电源,将椅子推回原位,将鼠标键盘摆正,将一切恢复成周哲离开时的模样。 最后,她走到办公室门口,回头看了一眼。 月光下的办公区,安静得像什么都没有发生过。 只有她,和那个藏在口袋里的u盘,知道今晚这里发生了什么。 路容转身,走进走廊。 脚步声在空旷的走廊里回荡,轻而稳。 她按下电梯按钮,等待电梯上来的时间里,她拿出手机,给那个没有保存名字的号码发了条加密信息: “安全。东西到手。” 电梯门打开。 她走进去,按下负一层的按钮。 金属门缓缓合拢,倒映出她苍白但坚定的脸。 第21章:蹩脚的理由 第21章:蹩脚的理由(第1/2页) 进度条在屏幕上跳动。 98%...99%...100%。 “咔”一声轻响,压缩包解压成功。路容盯着屏幕,瞳孔里倒映着密密麻麻的文件夹图标——日志文件按照日期排列,从三年前一直延续到上周。她的手指在触摸板上滑动,滚轮转动,页面向下滚动。 三年前的日志。 她点开那个文件夹。 系统提示需要二级密码。 路容的手指悬停。周哲的工号只能解开第一层压缩,这第二层密码……她闭上眼睛,脑海里闪过周哲工位上的细节:一个印着《星际争霸》经典台词“mylifeforaiur!”的马克杯,一个《塞尔达传说》的钥匙扣,电脑壁纸是《攻壳机动队》的素子。 技术宅。游戏迷。 她输入“starcraft1998”。 错误。 “zelda1986”。 错误。 “ghostintheshell”。 错误。 三次错误,系统提示三十秒后再试。路容靠在椅背上,看着窗外逐渐升高的太阳。周六的早晨,街道上的喧嚣隔着玻璃传来模糊的声响——汽车鸣笛、孩童嬉笑、远处广场舞的音乐。这些声音与屏幕上的密码错误提示形成诡异的割裂感。 她需要冷静。 周哲会用什么密码?不是游戏,不是动漫。那是什么? 路容重新睁开眼睛,目光落在书桌角落。那里放着一本她从公司带回来的技术手册,封面上印着星耀集团的logo。她想起周哲工位上那本翻得卷边的《算法导论》,想起他电脑旁那个手工焊接的、造型奇特的电路板。 一个念头闪过。 她重新坐直,手指在键盘上敲击。 “π=3.1415926535”。 回车。 文件夹打开了。 路容的呼吸停滞了一瞬。她看着屏幕上展开的日志列表,2019年3月15日、3月16日、3月17日……那个日期,那个改变了她一生的日期:2019年3月18日。 天启科技“泄密案”发生的前一天。 她的手指有些颤抖,点开了3月18日的日志文件。 文本编辑器打开,黑色的背景上,绿色的代码行如瀑布般滚动。路容的眼睛快速扫描着——服务器访问记录、权限变更日志、数据导出操作时间戳。她的目光锁定在晚上十点三十七分的那一行: `[2019-03-1822:37:15]user:ljianess:/data/core/project_phoenix/full_exportinitiated.` 李剑。 在晚上十点三十七分,以最高权限访问了“凤凰计划”的核心数据目录,并启动了完整导出。 路容的心脏狂跳起来。 她继续往下翻。二十二点四十二分: `[2019-03-1822:42:08]user:lrongess:/data/core/project_phoenix/denied-insufficientprivilege.` 那是她。路容。在二十二点四十二分尝试访问同一个目录,但被系统拒绝——权限不足。 而公司对外公布的“证据”是:路容在二十二点四十分使用自己的账号非法访问并下载了核心数据。时间对不上。权限对不上。日志记录显示,她根本就没能进入那个目录。 伪造的。 所有的“证据”都是伪造的。 路容的手指紧紧攥住鼠标,塑料外壳发出轻微的“嘎吱”声。三年来,她无数次在噩梦里看到自己被押出公司大门的场景,看到同事们躲闪的目光,看到李剑站在人群后面那张平静的脸。现在,证据就在眼前——冰冷的、无法辩驳的代码行,证明她的清白,证明他的罪行。 她深吸一口气,继续往下翻。 日志显示,二十二点五十分,数据导出完成,文件被加密打包,传输到一个外部ip地址。路容记下那个ip,打开另一个窗口,快速查询——虚拟专用服务器,注册地在开曼群岛,付款账户是一个空壳公司。 典型的洗钱路径。 她切换到近期的日志。2022年,也就是今年,类似的模式出现了六次。每次都是李剑的账号在非工作时间访问特定数据目录,启动导出,文件被加密后传输到不同的境外ip。最后一次是上周三,凌晨一点。 非法数据交易。 持续性的、系统性的犯罪。 路容将关键日志截图、ip地址记录、时间戳对比整理到一个加密文档里。她的动作很快,手指在键盘上飞舞,敲击声在安静的房间里回荡。阳光从窗帘缝隙照进来,在地板上投下明亮的光斑,灰尘在光柱中缓缓飘浮。 完成了。 她将加密文档保存到另一个u盘,然后将周哲电脑里的原始日志压缩包彻底删除——不是简单的删除,而是使用专业工具进行了七次覆盖写入,确保无法恢复。那个黑色的u盘,她小心地收进一个防静电袋,放进书桌最底层的暗格。 现在,她手里有两份证据:一份是存在加密u盘里的整理版,清晰、有力、可以直接作为呈堂证供;另一份是记忆——那些代码行、时间戳、ip地址,已经刻在她的脑子里,再也抹不掉。 路容靠在椅背上,闭上眼睛。 三年来,第一次,她感觉到一种沉甸甸的、近乎实质的“拥有”。不是愤怒,不是仇恨,而是“证据”。是能够撬动真相的杠杆支点。 手机震动了一下。 她睁开眼,拿起来看。是公司邮箱的提醒——王总监发来的邮件,标题是“关于昨晚违纪行为的处理通知”。路容点开,内容简洁而冰冷:因擅自使用他人电脑、违反公司信息安全规定,扣除本月绩效奖金20%,并要求在下周一上午九点前提交三千字书面检讨,详细说明事情经过、认识错误、整改措施。 意料之中。 路容回复:“收到,王总监。我会按时提交检讨。” 她放下手机,看向电脑屏幕右下角的时间:周六上午十一点十七分。她还有一天半的时间来写那份检讨,来思考接下来该怎么办。 证据在手,但如何使用? 直接交给警方?深港市商业调查科里有她的大学校友张磊,她可以信任他。但李剑在警方、在检察院肯定有眼线,一旦打草惊蛇,证据可能被销毁,她可能再次被反咬。 匿名举报?通过沈薇的媒体渠道曝光?舆论压力或许有用,但星耀集团的公关团队不是吃素的,他们可以轻易将这件事定性为“竞争对手的恶意抹黑”。 路容站起身,走到窗边。她拉开窗帘,让阳光完全照进房间。街道上,一个老人牵着狗慢慢走过,几个孩子在追逐嬉戏,远处咖啡店的露天座位上坐满了享受周末的年轻人。 平凡的世界。 而她站在这个世界的边缘,手里握着足以掀起风暴的证据,却不知道该如何点燃引信。 手机又震动了。 这次是微信。周哲发来的消息:“若溪,在忙吗?” 路容盯着那个名字,心脏莫名地收紧。她想起昨晚站在他工位前的时刻,想起那个印着游戏台词的马克杯,想起自己用他的电脑解密了证明他上司罪行的证据。 愧疚感如细针般刺入胸口。 她深吸一口气,回复:“在呢,周工有事?” “王总监刚才给我打电话了。”周哲的消息很快弹出来,“她说你昨晚用了我电脑?” 路容的手指僵在屏幕上。 该来的还是来了。 她打字:“是的……周工,对不起。我昨晚有个算法思路想验证,看你电脑没关,就……”她删掉,重新输入:“周工,真的很抱歉。我昨晚做了件特别蠢的事。” 她决定说实话。 部分实话。 “王总监是不是骂你了?”周哲问。 “嗯。绩效扣了20%,还要写三千字检讨。”路容回复,然后补充,“但我活该。我不该动你电脑的,这是原则问题。” 对话框显示“对方正在输入…”,持续了十几秒。 然后周哲的消息跳出来:“其实……王总监跟我说的时候,我有点生气。不是气你用我电脑,是气她小题大做。我电脑里又没什么机密,就是些测试代码和游戏存档。她非要上纲上线,还说什么‘信息安全’,摆明了是找茬。” 路容看着这段话,愣住了。 “你不生气?”她问。 “生气啊,气她针对你。”周哲回复,“不过若溪,你以后别这样了。不是怕你用我电脑,是怕你被抓住把柄。王总监那个人……你懂的。” 路容靠在窗边,阳光照在脸上,暖洋洋的。她看着手机屏幕,看着那些字,忽然觉得眼眶有些发热。 周哲在担心她。 在知道她“擅自使用他电脑”之后,他的第一反应不是愤怒,不是质问,而是担心她被王总监针对。 “谢谢周工。”她打字,“我保证没有下次。” “没事。对了,你算法验证出来了吗?需要帮忙的话,周一我可以看看。” “验证出来了,效果不错。周一我整理好发你。” “好。那你先忙,我不打扰你了。” 对话结束。 路容放下手机,看着窗外。阳光很亮,亮得有些刺眼。她抬起手,遮在眼前,从指缝里看着那片湛蓝的天空。 周哲的信任,像一束光,照进了她精心构筑的、充满谎言和算计的世界。 而她,正在利用这份信任。 (本章未完,请点击下一页继续阅读)第21章:蹩脚的理由(第2/2页) 手机再次震动。这次是沈薇。 “容容,我查到点东西。”沈薇的声音从听筒里传来,压得很低,“你让我查的那个赵律师,李剑的‘白手套’,他上个月去了两趟澳门。不是去赌,是去见人。我托朋友查了出入境记录和酒店监控,他见的是个叫‘陈先生’的人,背景很深,据说跟境外数据黑市有联系。” 路容握紧手机:“能确定吗?” “照片拍到了,但很模糊。我正在想办法搞到更清晰的。另外,”沈薇顿了顿,“你那边怎么样?昨晚顺利吗?” “东西拿到了。”路容说,“铁证。” 电话那头传来沈薇倒吸一口气的声音:“真的?太好了!那我们现在——” “先别急。”路容打断她,“证据在我手里,但怎么用,需要好好计划。李剑不是一个人,他背后有整个利益集团。贸然行动,只会打草惊蛇。” “那你打算怎么办?” 路容沉默了几秒。 她看向书桌,看向那个藏着证据的暗格,然后看向窗外明媚的阳光。 “等。”她说,“等一个机会。等他们自己露出破绽。” “等?容容,你已经等了三年了!” “正因为我等了三年,”路容的声音很平静,平静得让她自己都感到陌生,“我才知道,耐心是最锋利的刀。” 挂断电话后,路容坐回书桌前。她打开一个新的文档,开始写那份三千字的检讨。 “尊敬的王总监:关于昨晚擅自使用同事电脑一事,我在此做出深刻检讨……” 她的手指在键盘上敲击,文字一行行出现在屏幕上。语气诚恳,认识“深刻”,整改措施具体到“今后绝不触碰他人电子设备”“严格遵守公司信息安全规定”“加强自我约束”。 她写得很快,因为这些话不需要思考。真正的思考,在她的大脑深处进行,像暗流一样涌动。 证据在手。 周哲的信任。 沈薇的调查。 王总监的怀疑。 李剑的罪行。 所有这些碎片,在她脑海里旋转、碰撞、重组。她需要找到一个支点,一个既能扳倒李剑,又能保护自己,还能……还能不辜负周哲那份信任的支点。 这很难。 几乎不可能。 但路容没有停下敲击键盘的手指。她写完检讨的最后一段:“再次为我错误的行为向公司、向王总监、向周哲同事表示最诚挚的歉意。我将以此为戒,绝不再犯。” 保存。发送。 邮件显示“已送达”。 路容关掉电脑,站起身。她走到厨房,给自己倒了杯水。冰凉的水滑过喉咙,让她清醒了一些。她看向客厅墙上的钟:下午两点。 她还有时间。 换衣服,出门。路容去了附近的超市,买了些食材——蔬菜、鸡蛋、面条。她像个普通的周末独居者一样,推着购物车在货架间穿梭,比较价格,挑选商品。收银台前排着队,前面是一对年轻情侣,正在讨论晚上看什么电影。 平凡的生活。 路容看着他们,忽然想起三年前的自己。那时候她也曾有过这样的周末,和同事逛街,和朋友聚餐,计划着假期旅行。然后,一切戛然而止。 现在,她站在这里,推着购物车,手里握着足以摧毁许多人的证据,心里盘算着如何复仇。 “小姐,到您了。”收银员提醒。 路容回过神,将商品放到传送带上。扫码,付款,装袋。她提着购物袋走出超市,下午的阳光斜照在脸上,温暖而真实。 回到公寓,她开始做饭。洗菜,切菜,打蛋,煮面。厨房里弥漫着食物的香气,抽油烟机发出低沉的嗡鸣。她做了一碗简单的西红柿鸡蛋面,端到客厅的茶几上,打开电视。 本地新闻正在播放:某科技公司获得新一轮融资,某互联网大会下周在深港举行,天气预报说明天晴转多云。 世界照常运转。 路容吃着面,看着电视。面条很烫,她吹了吹,小心地送进嘴里。味道不错,咸淡适中,鸡蛋很嫩。 她吃完面,洗了碗,收拾好厨房。然后,她回到书房,重新打开电脑。 不是看证据,不是查资料。 她打开了一个编程界面,开始写代码。 一个简单的、用于监控网络流量的小程序。她写得很快,手指在键盘上飞舞,代码行如流水般出现在屏幕上。这不是为了复仇,不是为了证据,只是为了……测试。 测试她是否还能像三年前那样,纯粹地、专注地写代码。 她可以。 代码编译通过,运行正常。小程序安静地待在系统托盘里,监控着本机的网络连接。路容看着它,看了很久。 然后,她关掉电脑。 夜幕降临。 路容没有开灯,她坐在黑暗里,看着窗外逐渐亮起的万家灯火。远处写字楼的玻璃幕墙反射着夕阳最后的光,像一片片燃烧的金箔。 手机屏幕亮了一下。 是周哲。他发来一张照片——一只橘猫蹲在窗台上,背景是深蓝色的夜空。 “小区里的流浪猫,今天喂了它一根火腿肠。”他配文。 路容看着那张照片,看着那只猫圆滚滚的背影,看着窗外那片熟悉的夜空。 她回复:“它看起来很开心。” “是啊。有时候觉得,猫比人容易满足。一根火腿肠就能高兴半天。” 路容没有立刻回复。她看着那句话,看了很久。 然后她打字:“周工,谢谢你。” “谢我什么?” “谢谢你……不生气。” 对话框显示“对方正在输入…”,又停止,又显示。 最后周哲回复:“早点休息,周一见。” “周一见。” 路容放下手机,继续坐在黑暗里。窗外的灯火一盏盏亮起,连成一片光的海洋。这座城市永远不会真正沉睡,就像她心中的仇恨和希望,永远不会真正熄灭。 她站起身,走到窗边。 夜风吹进来,带着初夏微凉的气息。远处传来隐约的汽车声,像这座城市平稳的呼吸。 路容闭上眼睛,深深吸气。 证据在手。 计划在脑。 前路未知。 但至少今晚,她可以暂时放下一切,只是站在这里,吹吹风。 周一。 路容提前二十分钟到达公司。她穿着标准的职业装——白色衬衫、黑色西装裤、低跟皮鞋,头发扎成利落的马尾,脸上化了淡妆。走进技术部办公区时,几个早到的同事抬头看了她一眼,眼神复杂。 王总监的邮件是群发的。 所有人都知道她昨晚“违纪”,被扣绩效、写检讨。 路容没有回避那些目光。她走到自己的工位,放下包,开机。电脑启动的嗡鸣声在安静的办公区里格外清晰。她输入密码,进入系统,然后—— 她愣住了。 屏幕右下角,多了一个小小的、灰色的盾牌图标。 她移动鼠标,悬停上去。提示文字显示:“星耀集团终端安全监控客户端-已启用”。 路容的心脏猛地一沉。 她点开系统托盘,查看已安装程序列表。果然,多了一个名为“sentryguard”的软件,安装时间是今天凌晨三点十七分。描述是:“企业级终端行为监控与数据防泄漏解决方案”。 远程安装。 未经她同意。 路容的手指在鼠标上收紧。她打开软件界面,权限设置里赫然列着:屏幕截图定时上传、键盘输入记录、文件操作监控、网络流量分析、外接设备检测…… 全方位监控。 她的一举一动,现在都在it部的监视之下。 不,不只是it部。 这个软件的监控日志,会流向哪里?王总监?李剑?还是集团安全部门? 路容强迫自己冷静。她关掉软件界面,像什么都没发现一样,打开邮箱,查看未读邮件。有一封来自人力资源部的会议邀请:“若溪同事,请于今天下午两点三十分,到人力资源部3号会议室,补充一些个人背景资料。请携带身份证、学历学位证书原件及复印件。谢谢。” 下午两点半。 人力资源部。 补充背景资料。 路容盯着那封邮件,盯着那个时间,盯着那个地点。 王总监的怀疑没有消除。 而且,升级了。 她深吸一口气,回复:“收到,我会准时参加。” 然后,她关掉邮箱,打开编程界面,开始一天的工作。她的手指在键盘上敲击,代码一行行出现在屏幕上,逻辑清晰,注释完整。她看起来专注而平静,就像一个普通的、正在努力工作的新人。 只有她自己知道,她的后背已经被冷汗浸湿。 只有她自己知道,她的心脏在胸腔里狂跳,像要撞碎肋骨。 只有她自己知道,那个藏在书桌暗格里的u盘,那个装着所有证据的u盘,此刻正发出无声的、灼热的呼唤。 监控软件在后台运行,灰色的盾牌图标安静地待在系统托盘里。 人力资源部的会议在下午两点半。 路容敲下最后一个分号,编译通过。 她抬起头,看向办公室门口。 王总监正好走进来,高跟鞋敲击地面的声音清脆而规律。她经过路容的工位时,脚步没有停顿,目光也没有偏移,就像没看见她一样。 但路容知道,她看见了。 监控软件看见了。 李剑,可能也看见了。 游戏,进入了新的回合。 第22章:背景调查 第22章:背景调查(第1/2页) 路容推开了门。 会议室不大,约十平米,一张长方形会议桌占据中央。桌子是深色实木,表面光滑如镜,倒映着头顶惨白的led灯管。空气里有股淡淡的柠檬味空气清新剂的味道,混合着纸张和旧地毯的霉味。靠墙的柜子上摆着几盆绿萝,叶子蔫蔫地垂着。 桌边坐着两个人。 左边是一位三十岁左右的女性,穿着标准的hr职业套装,浅灰色西装,头发一丝不苟地束在脑后。她面前摊开一个文件夹,手里握着一支黑色签字笔。右边—— 路容的呼吸微微一滞。 右边坐着一位五十岁上下的男人,穿着深蓝色细条纹西装,没打领带,衬衫领口解开一颗扣子。他戴着一副无框眼镜,镜片后的眼睛不大,但目光锐利得像手术刀。他面前没有文件夹,只有一部平板电脑,屏幕暗着。他的双手交叠放在桌面上,手指修长,指甲修剪得整齐干净。 法务部的赵律师。 路容的心脏在胸腔里重重地敲了一下。她维持着“若溪”应有的表情——略带紧张的新人模样,微微欠身:“您好,我是数据分析部的若溪。” “请坐。”hr专员指了指桌子对面的椅子,声音平稳,没有多余的情绪。 路容拉开椅子坐下。椅面是硬质塑料,冰凉。她把文件袋放在桌上,双手交叠放在膝盖上,指尖微微发凉。 “若溪同事,不用紧张,只是例行补充一些背景资料。”hr专员翻开文件夹,看了一眼,“首先,核对一下基本信息。你的全名是?” “林若溪。”路容回答,声音经过变声器的处理,比她的本音略高,带一点南方口音的软糯。 “身份证号码?” 路容报出一串数字。那是她花了大价钱、通过沈薇介绍的渠道弄来的“真实”身份,所有信息在公安系统里可查,经得起最基础的核验。 hr专员低头记录。笔尖划过纸张,发出沙沙的声响。 赵律师始终没有说话。他只是看着路容,目光从她的脸,移到她的手,再移到她放在桌上的文件袋。他的眼神里没有审视,没有怀疑,只有一种纯粹的、观察式的平静。这种平静比直接的敌意更让人不安。 “学历方面,”hr专员继续,“你的最高学历是江州大学计算机科学与技术专业,硕士学位,2021年毕业?” “是的。” “毕业证和学位证带了吗?” 路容从文件袋里取出两个红色封皮的本子,推过去。证书是真的,照片上的人也是“林若溪”——一个与她有六七分相似、但气质迥异的女孩。那是沈薇辗转找到的、因家庭变故急需用钱的真实毕业生,双方达成了协议。 hr专员仔细查看证书,又拿出手机,似乎是在核对学信网的信息。片刻后,她点点头,将证书递回。 “上一份工作是在‘迅科信息’,担任数据分析师,工作了十一个月?” “对。” “为什么离职?” 标准问题。路容早已准备好答案:“公司业务调整,我所在的团队被整体裁撤。当时正好看到星耀的招聘信息,觉得平台更大,发展机会更好,就投了简历。” “在迅科期间,主要参与过哪些项目?” 路容流畅地报出几个项目名称,描述了技术栈、她的职责、遇到的挑战和解决方案。这些都是沈薇帮她搜集的、迅科真实项目的公开信息,加上她自己的技术理解编织而成,听起来真实可信。 hr专员一边记录,一边偶尔追问细节。问题都很常规,但密度很高,一个接一个,几乎没有停顿的间隙。路容的回答有条不紊,语气平稳,手指在膝盖上轻轻交握,指节因为用力而微微发白。 会议室里只有三个人的呼吸声、hr专员的提问声、笔尖的沙沙声,以及中央空调出风口低沉的嗡鸣。冷气从头顶吹下来,路容裸露的小臂起了一层细密的鸡皮疙瘩。 二十分钟过去。 hr专员合上文件夹,看向赵律师:“赵律师,您这边有什么需要了解的吗?” 赵律师终于动了。他身体微微前倾,手指在平板电脑上划了一下,屏幕亮起。他没有看屏幕,而是看着路容。 “林小姐,”他的声音不高,语速平缓,带着一种律师特有的、咬字清晰的腔调,“你的简历显示,你出生于江州市,父母都是中学教师?” “是的。” “他们现在还在江州?” “对,都在江州一中任教。” “你大学和研究生都在江州读的,毕业后第一份工作也在江州。为什么选择来深港发展?”赵律师问,目光落在路容的眼睛上。 “深港是科技中心,机会更多。我想出来闯一闯。”路容回答,迎着他的目光,没有躲闪。 “一个人来?没有亲戚朋友在这边?” “有一个远房表姐,但联系不多。主要还是靠自己。” 赵律师点了点头,手指在平板上又划了一下。“你刚才提到,在迅科参与过‘智慧商圈客流分析项目’,这个项目的数据源包括三大运营商的位置信令数据。据我所知,这类数据的合规获取和使用,需要经过严格的审批和脱敏处理。你在项目中具体负责哪部分?是否接触过原始信令数据?” 问题陡然变得具体而专业,直指数据合规的敏感地带。 路容心里一紧,但脸上表情不变:“我主要负责算法模型构建和效果评估。原始数据由公司的数据安全部门统一处理、脱敏后提供给我们,我个人没有接触过原始信令数据。所有数据处理流程都符合公司的合规要求。” “你确认?”赵律师追问,语气依然平静。 “我确认。迅科在这方面管理很严格,所有数据访问都有日志记录。”路容回答,语气肯定。 赵律师看了她几秒,然后移开目光,看向平板。“那么,离开迅科后,到入职星耀之前,这中间有两个月的空档期。这段时间你在做什么?” “休息,调整,同时也在学习一些新的数据分析工具,为面试做准备。” “有参加任何培训,或者接一些零散的项目吗?” “没有。主要是自己学习。” “经济来源呢?” “之前工作有些积蓄,父母也支持了一些。”路容回答,手心开始渗出细汗。这些问题在一步步逼近她伪造身份的脆弱环节——没有连续的社保记录,没有那两个月的确切行踪证明。她只能依靠“积蓄”和“家庭支持”这种难以核实又合情合理的说辞。 赵律师没有再追问空档期的问题。他沉默了片刻,会议室里只剩下空调的嗡鸣。 然后,他再次开口,声音比刚才更轻,却像一根针,刺破了空气里紧绷的弦。 “林小姐,”他说,手指在平板上点了一下,将屏幕转向路容,“这个人,你认识吗?” 路容的视线落在平板屏幕上。 那是一张照片。像素很高,色彩鲜艳。背景是酒店宴会厅,巨大的水晶吊灯,红色的舞台背景板上写着“天启科技年度盛典2019”。照片里是几十个人,穿着正装或礼服,对着镜头微笑。 她的目光,几乎是不受控制地,瞬间锁定了照片中的一个人。 那个人站在第二排靠左的位置。穿着黑色小礼服,头发挽起,露出光洁的额头和修长的脖颈。她笑着,眼睛弯成月牙,手里举着一个“年度创新之星”的奖杯。那是三年前的她。路容。那个还没有被摧毁的路容。 (本章未完,请点击下一页继续阅读)第22章:背景调查(第2/2页) 血液仿佛在瞬间冲上头顶,又在下一秒冻结。路容感觉自己的心脏停止了跳动,耳膜里充斥着尖锐的鸣响。会议室里柠檬香精的味道变得刺鼻,头顶的灯光白得晃眼,照得她几乎眩晕。 她认识。 她当然认识。 那是她自己。 赵律师的目光像探照灯一样打在她脸上。hr专员也停下了笔,静静地看着她。 时间被拉长了。每一秒都像一个世纪。 路容的喉咙发干。她强迫自己的视线从照片上移开,看向赵律师,脸上露出恰到好处的、带着一丝困惑的审视表情。她微微蹙眉,歪了歪头,仿佛在努力辨认。 “这是……”她迟疑着开口,声音因为紧张而比平时更细,“一张集体照?很多人。” “对,天启科技三年前的年会。”赵律师说,手指在屏幕上那个“路容”的位置点了点,“重点是这个人。她叫路容,曾经是天启科技的数据分析负责人。你认识她吗?或者,有没有任何印象,在任何场合见过她?” 路容的指尖深深掐进掌心。疼痛让她保持清醒。她摇了摇头,表情更加困惑:“路容?不认识。天启科技……我听说过,但没接触过。这张照片是哪里来的?为什么问我这个?” 她的反问很自然,带着新人对这种突兀问题的合理不解。 赵律师没有回答她的问题,只是继续盯着她:“仔细看看。她也是做数据分析的,年纪和你差不多。你们行业圈子不大,有没有可能在什么技术会议、行业论坛上遇到过?或者,通过共同的朋友、校友?” 路容再次看向照片,这次目光没有在那个“自己”身上过多停留,而是快速扫过整张照片,然后再次摇头:“真的没有印象。我研究生是在江州读的,毕业后来深港,参加过的行业会议不多。而且……”她顿了顿,语气更加确定,“三年前,我还在江州大学读研二,根本没来过深港,更不可能参加天启科技的年会。这张照片上的人,我确定不认识。” 她说得斩钉截铁。时间线是她的护身符。“林若溪”的学历背景和时间轨迹,与“路容”的活动范围几乎没有交集。 赵律师沉默了。他收回平板,关掉屏幕,身体靠回椅背。镜片后的眼睛依然看着路容,但那目光里的审视,似乎沉淀了下去,变成一种更深邃的、难以解读的东西。 他没有说“我相信你”,也没有说“我怀疑你”。 他只是说:“好的。我明白了。” hr专员看了看赵律师,又看了看路容,重新拿起笔:“那么,若溪同事,我们继续下一个部分。关于你家庭的一些具体情况……” 接下来的问题又回到了常规轨道。父母的具体任教科目、家庭住址、联系方式、是否有直系亲属在境外、是否有复杂的债务或法律纠纷……路容一一回答,声音平稳,但后背的衬衫已经被冷汗湿透,紧紧贴在皮肤上,冰凉黏腻。 她感觉自己的太阳穴在突突跳动。赵律师最后那个问题,那张照片,像一根毒刺扎进了她的神经。他为什么会有那张照片?为什么特意拿出来问?是李剑授意的?还是王总监?他们怀疑“若溪”和“路容”有关联?是哪里露出了破绽?声音?习惯?还是某种他们自己都未察觉的、专业上的相似性? 问题一个接一个。路容机械地回答着,大脑却在高速运转,分析每一种可能性,评估风险。她必须表现得毫无异常,必须让“林若溪”这个身份经得起这次审查。 终于,hr专员合上了文件夹,露出一个职业化的微笑:“好的,若溪同事,基本情况我们了解了。感谢你的配合。后续如果有任何需要补充的,我们会再联系你。” “应该的。”路容站起身,腿有些发软。她拿起桌上的文件袋,微微颔首,“那我先回去了。” “请便。” 路容转身,走向门口。她能感觉到,身后有两道目光一直跟随着她。一道是hr专员例行公事的目送,另一道……是赵律师沉默的、若有所思的注视。 她握住门把手,金属的冰凉触感传来。拧动,拉开。 走廊的光线涌进来,比会议室里明亮一些。她走出去,反手轻轻带上门。 “咔哒”一声轻响。 门关上了。将那个充满柠檬香精味、惨白灯光和无声压力的房间隔绝在身后。 路容靠在走廊的墙壁上,闭上眼睛,深深吸了一口气。空气里是办公楼特有的、混合着地毯和中央空调的味道。她的心脏还在狂跳,撞击着肋骨,耳膜里嗡嗡作响。刚才那半个小时,像一场没有硝烟的战斗,耗尽了她所有的精力和伪装。 她站了十几秒,强迫自己平复呼吸,然后睁开眼,迈步朝电梯间走去。 脚步有些虚浮。 回到数据分析部所在的楼层,办公区里依旧忙碌。键盘敲击声、电话铃声、低声交谈声交织在一起。没有人特别注意她。她穿过一排排工位,走向自己的位置。 坐下。开机。 电脑屏幕亮起,那个灰色的盾牌图标依然安静地待在右下角。 路容看着它,感觉像看着一只趴在暗处的蜘蛛。 她打开邮箱,处理了几封无关紧要的工作邮件。手指在键盘上移动,但注意力无法集中。赵律师的脸,那张照片,hr专员一个问题接一个问题的声音,在她脑海里反复回放。 突然,她的手机在口袋里震动了一下。 不是普通的短信提示音,是一种特定的、轻微的蜂鸣,只持续了半秒。 路容身体微微一僵。她拿出手机,屏幕是暗的。她解锁,点开一个看起来像是普通计算器的app,输入一串密码。 界面切换。加密通讯软件。 一条新信息,来自“wu”。 信息很短,只有两行字: 「李剑动用了外部调查公司查你,小心。级别不低,可能从你老家入手。」 「另外,你工位正上方空调出风口、左侧文件柜顶端装饰条内、对面走廊绿植盆底,新增了三个隐藏摄像头。音频采集型。」 路容盯着屏幕上的字。 外部调查公司。从老家入手。 隐藏摄像头。三个。音频采集。 她的血液一点点冷下去。 王总监安装的“sentryguard”软件,监控她的电脑操作。 李剑动用外部调查公司,深挖“林若溪”的背景,甚至可能追溯到江州。 赵律师亲自参与人力资源部的“背景调查”,拿出三年前的照片进行试探。 现在,工位和走廊,新增了物理隐藏摄像头。 这不是怀疑。 这是围剿。 一张无形的、不断收紧的网。 路容抬起头,目光扫过自己的工位上方。白色的空调出风口栅格,看起来毫无异常。左侧的金属文件柜,顶端有一圈黑色的装饰条,里面似乎有极细微的反光。对面的走廊,那盆茂盛的绿萝,陶土花盆的底部…… 她收回目光,看向电脑屏幕。 灰色的盾牌图标,沉默地亮着。 她坐在工位上,坐在这个被监控软件、隐藏摄像头、外部调查和法务审视层层包围的方寸之地。 感觉像被困在了一个透明的玻璃盒子里。 外面的人能看见她的一切。 而她,无处可逃。 第23章:窒息监控 第23章:窒息监控(第1/2页) 路容盯着屏幕上那个灰色的盾牌图标,看了整整一分钟。然后,她移动鼠标,点开了一个公司内网的技术文档页面,开始阅读。她的表情专注,手指偶尔在键盘上敲下几个笔记。看起来,和一个正在努力熟悉业务的新人没有任何区别。 只有她自己知道,在那份关于“数据脱敏标准流程”的文档字里行间,她的目光正飞速扫过,大脑却在疯狂运转,构建着一个在无数双眼睛注视下,如何将一条关键信息,安全送出这间透明牢笼的路径。 窗外的阳光斜照进来,在她低垂的眼睫上投下一小片阴影,掩住了眸底深处那簇冰冷而决绝的火光。 她维持着阅读的姿势,呼吸平稳。但身体内部,每一根神经都绷得像拉满的弓弦。 空调出风口。文件柜装饰条。走廊绿植盆底。 三个隐藏摄像头。音频采集型。 这意味着什么? 意味着她不能自言自语,不能叹气,不能有任何可能暴露情绪的声音。意味着她必须控制面部肌肉,不能皱眉,不能咬唇,不能有长时间的发呆。意味着她每一次起身,每一次离开工位,每一次去茶水间、去洗手间,都会被记录下来,分析,比对。 她感觉自己像被装进了一个透明的鱼缸。 水是静止的,清澈的。她能看见外面的一切——同事们在工位间走动,打印机吐出纸张,投影仪的光束在会议室墙上闪烁。但她也知道,外面的人能看见她。每一个动作,每一个表情,都被放大,被审视。 而她,无处可藏。 路容端起桌上的水杯,起身。 动作自然,步伐平稳。她穿过两排工位,走向茶水间。走廊的地毯是深灰色的,吸音效果很好,踩上去几乎没有声音。但她能感觉到,头顶斜上方,空调出风口栅格后面,那个小小的镜头,正随着她的移动而微微调整角度。 茶水间里弥漫着咖啡和茶包的混合气味。饮水机发出低沉的咕噜声。一个女同事正在洗杯子,水流哗哗作响。 路容接水。温热的水流注入杯中,升起淡淡的白雾。她盯着水面的波纹,脑子里却在计算。 老吴的警告是昨晚收到的。外部调查公司可能已经动身去江州了。“林若溪”这个身份,沈薇安排得很周密,所有基础信息都经得起查。但专业调查公司不一样。他们会走访邻居,会查银行流水,会找当年的老师同学,会挖掘一切可能存在的漏洞。 时间。 她需要时间。 但李剑显然不打算给她时间。 路容端着水杯回到工位。坐下时,她下意识地抬头看了一眼文件柜顶端的黑色装饰条。光线从侧面照过来,那条装饰条的边缘,似乎有一道极细微的、不自然的反光。 她收回目光,继续看文档。 手指在键盘上敲击,输入一行注释:“脱敏后的数据应通过加密通道传输至指定服务器。” 注释是真实的,符合文档内容。 但她的指尖在敲击“加密通道”四个字时,力道稍微重了一点。 那是她和老吴约定的暗号之一。如果她在工作文档的特定位置,用特定力度输入特定词汇,老吴就能通过后台日志捕捉到信号,知道她需要紧急联络。 风险很大。sentryguard软件会记录所有键盘操作。但老吴说过,这种监控软件的日志量巨大,除非设定特定关键词警报,否则人工排查几乎不可能。而“加密通道”这种技术术语,在数据分析部的日常文档中出现频率很高,不会触发警报。 这是目前唯一可行的、不发出任何声音的求救方式。 路容输入完毕,保存文档。 然后她靠在椅背上,端起水杯,喝了一口。 水温刚好,带着一丝漂白粉的味道。她吞咽时,喉结微微滚动。这个动作被捕捉下来,会是什么样子?一个疲惫的新人,在午休前喝口水? 她不知道。 她只知道,自己必须演下去。 *** 午休铃声响了。 办公室里的气氛松弛下来。键盘声渐歇,椅子拖动的声音此起彼伏。有人开始讨论午餐吃什么,有人拿起手机刷短视频,笑声和谈话声像潮水一样漫开。 路容关掉文档页面,整理了一下桌面。她把笔放进笔筒,把文件归拢到文件夹里,动作慢而有序。 “若溪。” 声音从侧面传来。 路容抬起头。周哲站在她工位旁,手里拿着一个深蓝色的保温饭盒。他今天穿了件浅灰色的针织衫,衬得眉眼温和。但路容注意到,他的眼下有淡淡的青黑,像是昨晚没睡好。 “周哥。”路容站起身,声音经过变声器处理,带着恰到好处的礼貌和一丝疲惫。 “一起去食堂?”周哲问,目光在她脸上停留了一秒,“你脸色不太好。” 路容心里一紧。 她今早特意化了淡妆,用了点遮瑕膏盖住眼下的阴影。但显然,疲惫是藏不住的。 “可能昨晚没睡好。”她笑了笑,笑容有些勉强,“最近……压力有点大。” 她说的是实话。但没说全。 两人并肩走向电梯间。走廊里人不少,三三两两,谈笑声在封闭空间里回荡。路容走在周哲身侧,能闻到他身上淡淡的洗衣液香味,混合着一点咖啡的气息。 电梯门开了。 里面已经站了四五个人,包括王总监。她今天穿了身宝蓝色的套装,头发盘得一丝不苟,正低头看手机。听到脚步声,她抬起头,目光扫过周哲,落在路容脸上。 那目光很短暂,像蜻蜓点水。 但路容感觉像被针扎了一下。 “王总监。”周哲打招呼。 “嗯。”王总监应了一声,视线回到手机屏幕上。 电梯下行。失重感让胃部微微收缩。路容盯着楼层数字跳动,呼吸放得很轻。她能感觉到,王总监虽然没看她,但那种无形的压迫感,像一层薄雾,弥漫在狭小的空间里。 电梯到达一楼。 门开,人群涌出。王总监快步走在前面,高跟鞋敲击大理石地面,发出清脆的哒哒声,很快消失在旋转门后。 食堂在负一层。 空气中弥漫着各种食物的气味——炒菜的油香,炖汤的鲜味,米饭的蒸汽,还有消毒水残留的刺鼻。声音嘈杂得像菜市场。打饭窗口排着长队,餐盘碰撞声、交谈声、叫号声混在一起。 路容和周哲找了个靠窗的角落位置。 窗外是地下车库的入口,偶尔有车灯扫过,在玻璃上投下短暂的光斑。桌面上有没擦干净的油渍,反射着顶灯的光。 周哲打开饭盒。里面是家里带的饭菜——清炒虾仁,蒜蓉西兰花,还有一小份米饭。摆放得很整齐。 “你自己做的?”路容问。她打了份套餐,两荤一素,装在白色的分格餐盘里。 “嗯。”周哲递给她一双一次性筷子,“尝尝?” 路容夹了一颗虾仁。很嫩,带着淡淡的姜味。 “好吃。”她说。 周哲笑了笑,低头吃饭。吃了两口,他抬起头,看着路容。 “你刚才说压力大,”他的声音放轻了些,“是工作上的事,还是……” 路容握着筷子的手指收紧。 她不能说实话。一个字都不能。 “就是……刚入职,很多东西要学。”她垂下眼,用筷子拨弄着餐盘里的米饭,“王总监要求又高,怕自己做不好。” 这是最安全的说辞。新人焦虑,合情合理。 周哲沉默了几秒。 “王总监那个人,”他压低声音,“对谁都那样。你别太往心里去。” 路容点点头。 “不过,”周哲话锋一转,“最近部门确实不太平。” 路容抬起眼。 (本章未完,请点击下一页继续阅读)第23章:窒息监控(第2/2页) “深蓝计划的数据流,”周哲用筷子在餐盘边缘轻轻敲了敲,发出细微的嗒嗒声,“最近有些异常波动。” 路容的心脏猛地一跳。 她控制住表情,做出好奇的样子:“异常?” “嗯。”周哲左右看了看,确认附近没人注意,才继续道,“我负责监控数据管道。按理说,所有外部采集的数据,经过清洗脱敏后,应该走内部加密通道,直接进核心数据库。但最近,我发现有些数据包……流向不太对。” “怎么不对?” “路由规则。”周哲用筷子蘸了点汤汁,在桌面上画了个简图,“正常路径是a到b到c。但有些包,从a出来,没去b,直接跳到了一个外部ip节点,绕一圈,再回c。” 路容盯着桌面上那点渐渐晕开的汤汁。 外部ip节点。 绕一圈。 这是典型的数据中转手法。把敏感数据先送到外部服务器,经过处理或复制,再送回内部。目的?可能是备份,可能是分析,也可能是……交易。 李剑的非法交易。 “会不会是……测试环境?”路容问,声音保持平稳。 “测试环境有专门的沙箱,ip段是固定的。”周哲摇头,“这些外部节点,不在备案列表里。而且访问频率很低,时间点也很随机,像是……特意避开监控高峰。” 路容感觉后背渗出细密的冷汗。 食堂的嘈杂声仿佛退远了。她能清楚地听到自己的心跳,咚咚,咚咚,敲击着耳膜。 “你……上报了吗?”她问。 “还没。”周哲皱眉,“数据量不大,而且路由跳转做得挺隐蔽,要不是我盯着实时日志,根本发现不了。直接报上去,万一只是临时调试,或者……” 他顿了顿。 “或者是什么?”路容追问。 周哲看着她,眼神复杂。 “或者,是上面默许的。”他声音压得更低,“深蓝计划涉及的用户数据太庞大了,有些……灰色操作,不是不可能。” 路容吞咽了一下。 喉咙发干。 “那……你打算怎么办?”她问。 “先继续观察。”周哲说,“我写了个脚本,专门抓这些异常数据包的目的ip特征。等积累多一点样本,再分析看看。” 目的ip特征。 路容的脑子飞速运转。 如果她能拿到这些ip,如果能追踪到这些外部服务器的归属,如果能找到数据流出的最终去向—— 那就是证据。 直接指向李剑非法数据交易的证据。 “周哥,”她开口,声音里带着恰到好处的担忧,“你这么做……会不会有风险?” 周哲愣了一下。 “我的意思是,”路容补充道,“如果真是……上面默许的,你私下监控,万一被发现……” 周哲沉默。 食堂的灯光从他头顶照下来,在他脸上投下淡淡的阴影。他盯着餐盘里剩下的饭菜,许久,才低声说: “我知道有风险。” “但有些事,不对就是不对。” 他抬起头,看向路容。眼神很干净,带着一种近乎固执的正直。 “数据安全不是儿戏。用户把隐私交给我们,我们就得负责。如果连最基本的流向都控制不住,那还谈什么信任?” 路容看着他。 心里涌起一股复杂的情绪。愧疚,像细小的针,扎在心脏最柔软的地方。 她在利用他。 利用他的正直,他的信任,他对“若溪”那份或许连他自己都没察觉的好感。 而她,连真实的名字都不能告诉他。 “周哥,”她轻声说,“你……小心点。” 周哲笑了笑。那笑容很淡,但眼里的温度是真实的。 “你也是。”他说,“别太拼了。工作永远做不完,身体要紧。” 路容点点头。 餐盘里的饭菜已经凉了。油凝结成白色的块状,浮在菜汤表面。她拿起筷子,继续吃。咀嚼时,能感觉到米饭的颗粒感,西兰花梗的纤维,还有心底那份沉甸甸的重量。 *** 晚上九点。 路容回到出租屋。 关上门,反锁。她没有开大灯,只拧亮了书桌上那盏小小的台灯。暖黄色的光晕洒在桌面上,照亮了笔记本电脑的键盘,和一个空了的玻璃水杯。 房间很小,不到二十平米。一张床,一个衣柜,一张书桌,一把椅子。墙壁是廉价的白色涂料,有些地方已经泛黄。窗户关着,但能听到楼下马路传来的车流声,隐隐约约,像遥远的潮汐。 她脱下外套,挂在椅背上。 然后她坐到书桌前,打开电脑。 没有连公司网络。她用的是手机热点,经过双重加密。电脑是沈薇帮她准备的“干净”设备,没有任何可能被追踪的软件。 她点开一个图标。 界面跳转。加密通讯软件。 联系人列表里,只有一个名字:薇薇。 路容盯着那个名字,手指悬在键盘上方。 空调出风口。文件柜装饰条。绿植盆底。 三个摄像头。全天录音。 外部调查公司。已经动身去江州。 周哲发现的异常数据流。外部ip节点。 李剑的围剿网,正在以肉眼可见的速度收紧。 而她,被困在网中央。 路容深吸一口气,手指落下。 键盘敲击声在寂静的房间里格外清晰。嗒,嗒,嗒。每一个字母,都像砸在心脏上。 她打出一行字: 「外部调查已启动,目标江州。我这边新增三个隐藏摄像头,带音频。全天监控。」 发送。 几秒后,回复来了。 沈薇:「收到。江州那边我会处理,干扰视线。摄像头位置能避开吗?」 路容:「工位区域全覆盖。唯一安全时间是卫生间,但时间太短,且有其他同事。」 沈薇:「需要我做什么?」 路容停顿。 台灯的光晕在她脸上晃动。她的影子投在墙壁上,被拉得很长,微微颤抖。 她想起周哲画在餐桌上的那个简图。a到外部节点,再回c。 想起他说:有些事,不对就是不对。 想起他眼里的温度。 然后她想起李剑。想起三年前那个会议室,那张虚伪的笑脸,那些颠倒黑白的指控。想起这三年来,每一个被噩梦惊醒的夜晚,每一次在招聘网站上看到“天启科技泄密案”相关讨论时,心脏骤停的瞬间。 仇恨像冰冷的藤蔓,缠绕着骨骼,深入骨髓。 她不能退。 也无路可退。 路容的手指重新落在键盘上。敲击声更重,更急。 「薇薇,我需要你帮忙。」 「把火烧到外面去。」 她打完这两行,停了一下。胸腔里有什么东西在翻涌,堵在喉咙口,又硬又涩。 她闭上眼睛。 再睁开时,眼底最后一丝犹豫,被冰冷的决绝取代。 她敲下最后一行字: 「我这边,快被盯死了。」 发送。 屏幕暗下去。 房间里只剩下台灯的光,和窗外隐约的车流声。 路容坐在椅子上,没有动。她看着电脑屏幕暗下去后,映出的自己模糊的倒影。脸色苍白,眼神空洞。 像一具被抽空了灵魂的躯壳。 但胸腔深处,那簇火还在烧。 冰冷地,寂静地,烧着。 第24章:匿名之火 第24章:匿名之火(第1/2页) 路容盯着屏幕上那篇刚刚发布的匿名分析文章。标题刺眼,内容犀利,直指“深蓝计划”的数据合规性黑洞。文章末尾附了几张网络流量分析截图,虽然模糊了关键信息,但懂行的人一眼就能看出其中的门道。 她移动鼠标,关掉页面。动作平稳,呼吸如常。 但整个办公室的气氛已经变了。 窃窃私语声从各个角落传来,像细小的电流在空气中窜动。有人快速切换着新闻页面,有人低头在手机上疯狂打字。王总监从她的独立办公室走出来,高跟鞋踩在地毯上,发出沉闷的声响。她的目光像探照灯一样扫过办公区,最后,落在了路容身上。 那目光停留了两秒。 冰冷,审视,带着毫不掩饰的怀疑。 路容低下头,点开一份待处理的数据报表。屏幕的光映在她脸上,平静无波。 只有她自己知道,掌心已经沁出了一层薄薄的冷汗。 火,已经烧起来了。 *** 三天前,深夜十一点四十七分。 路容坐在出租屋的书桌前,台灯的光晕在桌面上画出一个昏黄的圆。电脑屏幕上是加密通讯软件的界面,光标在输入框里闪烁。 她盯着沈薇最后发来的那句话: 「文章已定稿,明早九点准时发。你确定要匿名?不署名的话,影响力会打折扣。」 路容的手指悬在键盘上方。 空调发出低沉的运转声。窗外偶尔有车辆驶过,轮胎摩擦路面的声音由远及近,又迅速远去。房间里弥漫着旧书和灰尘的味道,还有她身上残留的、从办公室带回来的咖啡苦涩气息。 她闭上眼睛。 脑海里闪过很多画面。 三年前,天启科技的会议室。李剑那张带着虚伪关切的脸。周围同事躲闪的目光。律师函上冰冷的文字。她抱着纸箱走出大楼时,身后玻璃幕墙反射的刺眼阳光。 然后是现在。 空调出风口后面那个看不见的镜头。文件柜装饰条边缘那点不自然的反光。绿植盆底可能存在的****。还有周哲画在餐桌上的那个简图——a到外部节点,再回c。 她睁开眼睛。 手指落下。 「匿名。必须匿名。」 「现在还不是我站出来的时候。」 发送。 几秒后,沈薇回复:「明白。保护好自己。」 路容盯着那行字,看了很久。然后她关掉软件,拔掉加密网卡,合上电脑。 房间里陷入黑暗。 她坐在椅子上,没有开灯。窗外的路灯透过窗帘缝隙,在地板上投下一道细长的光带。灰尘在光带里缓慢飘浮,像某种微小的生命在呼吸。 路容抬起手,摸了摸自己的喉咙。 变声器藏在抽屉最深处。那个小小的、冰冷的金属装置,是她每天上班前必须佩戴的“面具”的一部分。它改变她的声音,让“若溪”听起来比真实的她更柔和,更年轻,带着一点点刻意的怯懦。 但有时候,在深夜独处时,她会突然忘记自己原本的声音是什么样子。 就像现在。 她张开嘴,想发出一点声音。任何声音都好。 但喉咙里只涌出一阵干涩的刺痛。 她闭上嘴,把手放下来。 窗外的光带在地板上缓慢移动。时间一分一秒过去。 *** 三天后,上午九点零三分。 《数据洪流下的暗礁:浅析某巨头“深蓝计划”外围数据合规性疑云》。 这篇文章像一颗投入平静湖面的石子,在深港市的科技圈里激起了第一圈涟漪。 发布平台是“深港科技观察”,一家以深度调查和技术分析见长的行业媒体。文章没有署名,只标注了“特约分析师”。但行文风格专业犀利,数据引用详实,一看就是业内老手的手笔。 文章开篇从宏观的数据治理趋势切入,很快聚焦到“某新兴互联网巨头”正在推进的“深蓝计划”——虽然没有点名,但圈内人都知道,这指的是星耀集团。 “根据公开可查的网络流量监测数据,”文章写道,“‘深蓝计划’部分外围数据采集节点,在最近三个月内出现了异常的数据包转发行为。这些数据包在完成初步清洗后,并未按照标准流程进入内部分析集群,而是通过加密隧道,流向了三个未在项目备案中列出的外部ip地址。” “更值得注意的是,这些外部ip地址的归属地分散在不同国家,且均注册在空壳公司名下。数据包在这些节点停留的时间极短,通常不超过五分钟,随后便会返回星耀的内网——但返回的数据包体积,往往比流出时缩小了30%到50%。” “这种‘缩水’现象,在正常的数据脱敏或聚合处理中并不常见。结合数据包流出时的加密强度(采用非标准的高强度加密协议)以及返回路径的刻意绕行(经过多个中继节点),我们有理由怀疑,这部分数据在外部节点经历了某种‘提取’或‘复制’操作。” 文章配了四张截图。 第一张是网络流量拓扑图,用红色箭头标出了异常的数据流向。第二张是数据包大小对比图,流出和返回的柱状图高度明显不同。第三张是加密协议分析,标注了非标准字段。第四张最模糊,只显示了三个外部ip地址的前两段,但后面跟着一行小字注释:“这三个地址的注册信息存在明显伪造痕迹,且在过去半年内,与多个已知的数据黑市交易平台有过连接记录。” 截图做了处理,关键信息都被模糊或打码。但懂技术的人能看出来,这些图不是凭空捏造的。流量特征、加密协议细节、数据包时间戳的对应关系——这些都需要真实的底层数据支撑。 文章最后抛出了一连串问题: “这些异常数据流是否得到了用户的知情同意?数据在外部节点的具体处理内容是什么?‘缩水’的数据去了哪里?星耀集团的数据安全合规团队是否知晓这些情况?如果知晓,为何没有在项目文档中披露?如果不知晓,那么‘深蓝计划’的数据治理体系是否存在重大漏洞?” “在数据成为新时代石油的今天,用户隐私与数据安全不应只是一句口号。我们呼吁相关企业正视问题,公开回应,并接受独立第三方的审计监督。” *** 上午九点二十一分。 星耀集团,二十八楼高层会议室。 长条形的会议桌旁坐了八个人。李剑坐在主位左侧,脸色铁青。他面前的平板电脑屏幕上,正是那篇匿名文章。 会议室里弥漫着咖啡和紧张混合的气味。中央空调的出风口发出轻微的嘶嘶声,但压不住角落里打印机突然启动时的嗡鸣。阳光透过落地窗照进来,在光洁的桌面上反射出刺眼的光斑,正好落在李剑手边那杯已经冷掉的茶水上。 “谁干的?” 李剑的声音不高,但每个字都像从牙缝里挤出来的。 公关部总监是个四十多岁的女人,姓陈,此刻正低着头快速滑动手机屏幕。她的指甲修剪得很整齐,涂着淡粉色的指甲油,但在屏幕反光下,指尖微微发白。 “文章发布才二十分钟,”陈总监抬起头,语速很快,“但已经在三个行业群里被转发了。‘数据圈内参’的公众号刚刚转载了摘要,阅读量正在快速上升。有几个自媒体大v在微博上@了我们官微,要求回应。” “我问的是,”李剑打断她,手指重重敲在桌面上,“谁干的?” 会议室里安静了一瞬。 法务部的赵律师坐在李剑斜对面,双手交叠放在桌上。他今天穿了一套深灰色的西装,领带打得一丝不苟,金丝眼镜后面的眼睛平静无波。 “文章是匿名的,”赵律师开口,声音平稳,“发布平台是‘深港科技观察’,这家媒体一向以敢说话著称。主编沈薇,三十二岁,之前在财经媒体做过调查记者,作风强硬。但文章本身没有指名道姓,从法律角度,我们很难直接追究。” “很难追究?”李剑冷笑,“文章里那些截图是哪来的?流量拓扑图、数据包分析——这些不是内部数据是什么?有人把公司的技术资料泄露出去了!” “截图做了模糊处理,”赵律师说,“关键信息都被打码了。而且文章声称数据来自‘公开可查的网络流量监测’,这给了他们操作空间。如果我们现在发律师函,对方完全可以辩称这些分析是基于公开信息的技术推测。” “技术推测?”李剑猛地站起来,椅子腿在地板上刮出刺耳的声响,“那三个外部ip地址呢?注册信息伪造?连接数据黑市?这也是推测?” 他走到会议室的落地窗前,背对着众人。窗外是深港市的天际线,玻璃幕墙在阳光下闪闪发光。但李剑的背影绷得很紧,肩膀的线条僵硬得像一块石头。 “这篇文章是个信号,”他转过身,目光扫过会议室里的每一个人,“有人想搞我们。而且这个人,对我们内部的情况很了解。” 他的视线落在王总监身上。 王总监坐在靠门的位置,今天穿了一套米白色的套装,头发盘得一丝不乱。但她的脸色有些发白,嘴唇抿得很紧。 (本章未完,请点击下一页继续阅读)第24章:匿名之火(第2/2页) “王总监,”李剑说,“你们数据分析部,最近有没有人行为异常?” 王总监的手指在桌下绞在一起。 “部门最近在全力推进‘深蓝计划’的数据清洗工作,”她尽量让声音保持平稳,“大家压力都比较大,加班比较多。但要说异常……” 她停顿了一下。 会议室里所有人的目光都集中在她身上。空调的冷风从头顶吹下来,她感觉后颈的汗毛竖了起来。 “新来的那个若溪,”王总监说,“林若溪。她最近……有点安静。” “安静?”李剑挑眉。 “就是太正常了,”王总监斟酌着用词,“每天按时上下班,交给她的工作都完成得不错,但从不主动揽活,也不跟同事过多交流。午休时间经常一个人待在工位,或者去楼梯间。” “楼梯间?”李剑眯起眼睛。 “她说那里信号好,可以跟家人视频,”王总监说,“我让行政部查过监控,她确实是在视频,每次大概十五分钟。但……” “但什么?” “但她用的耳机是降噪的,”王总监说,“而且视频的时候,手机屏幕是朝内的,监控拍不到画面。” 会议室里又安静下来。 打印机又响了一声,吐出一张纸。纸张摩擦的声音在寂静中格外清晰。 李剑走回座位,但没有坐下。他双手撑在桌面上,身体前倾,目光像刀子一样钉在王总监脸上。 “盯紧她,”他说,“从今天开始,她每天见了什么人,说了什么话,上了哪些网站,发了哪些邮件——我都要知道。” 王总监的喉咙动了动:“是。” “还有,”李剑直起身,看向陈总监,“公关部马上起草回应声明。口径要强硬,就说文章内容严重失实,是竞争对手的恶意抹黑。我们保留追究法律责任的权利。同时联系‘深港科技观察’,要求他们撤稿。” 陈总监快速记录:“明白。” “赵律师,”李剑转向法务部,“你配合公关部,研究一下这篇文章有没有法律上的突破口。另外,查一下那个沈薇的背景,看看她最近跟哪些人有接触。” 赵律师点头:“好的。” 李剑最后扫视了一圈会议室。 阳光从落地窗照进来,在他脸上投下明暗交错的光影。他的眼睛在阴影里显得格外深,像两口不见底的井。 “这件事不能扩散,”他一字一句地说,“‘深蓝计划’是集团未来三年的核心战略,不能出任何岔子。如果有人想从内部搞破坏……” 他没有说完。 但会议室里的温度,好像又降了几度。 *** 同一时间,数据分析部办公区。 路容坐在工位上,眼睛盯着屏幕上的数据报表,但一个字也没看进去。 她能感觉到周围的骚动。 斜对面的两个女同事正在小声交谈,声音压得很低,但偶尔有几个词飘过来——“文章”、“截图”、“外部ip”。后面工位的男生一直在刷新微博页面,鼠标点击声密集得像雨点。更远的地方,有人起身去茶水间,路过她工位时,脚步明显顿了一下。 路容没有抬头。 她端起水杯,喝了一口。水温已经凉了,带着一股淡淡的氯气味。她咽下去,喉咙里泛起一丝苦涩。 电脑屏幕右下角的时间显示:九点三十七分。 文章发布三十七分钟。 她点开浏览器,在地址栏输入一个技术论坛的网址。页面加载出来,首页飘红的热帖标题赫然是:“深港科技观察那篇文章,有人看了吗?技术分析很硬核啊。” 路容点进去。 帖子已经盖了三百多层楼。前面几楼还在讨论文章的技术细节,但越往后,风向开始变化。 “匿名发文,说明作者怕被报复。” “那三个外部ip,如果真的连过数据黑市,问题就大了。” “星耀这次麻烦不小,就看他们怎么回应了。” “回应?肯定是标准公关话术:严重失实,保留追责。” “但截图怎么解释?那些流量特征不是能编出来的。” “坐等星耀官方打脸。” “打脸?我看是打自己的脸吧。” 路容滚动鼠标,快速浏览着回复。她的心跳得很稳,但指尖有些发凉。 论坛页面的背景是浅蓝色的,字体是标准的宋体。但那些文字在她眼里,好像带着温度,带着重量,带着某种她期待已久的、危险的活力。 火已经点着了。 现在的问题是,火会烧向哪里? “若溪。” 一个声音在身后响起。 路容的手指僵了一下。然后她缓缓转过身。 周哲站在她工位旁边,手里拿着一个文件夹。他今天穿了一件浅蓝色的衬衫,袖子挽到小臂,露出线条清晰的手腕。他的表情看起来有些凝重,但眼神里没有怀疑,只有一种……困惑? “周哥,”路容站起来,声音通过变声器过滤后,带着一丝恰到好处的怯意,“有事吗?” 周哲看了看四周。 办公区里的窃窃私语声小了一些,但并没有完全停止。有几个同事朝这边投来目光,又迅速移开。 “你看那篇文章了吗?”周哲压低声音问。 路容眨了眨眼:“什么文章?” “就是‘深港科技观察’早上发的那篇,”周哲说,“关于数据合规的。” 路容做出思考的表情,然后摇摇头:“我早上一直在处理王总监昨天交代的报表,还没看新闻。怎么了?出什么事了吗?” 她的语气很自然,带着新人特有的、对周围环境变化的不敏感。 周哲盯着她看了两秒。 路容迎着他的目光,脸上保持着适当的茫然。她能感觉到自己的心跳,一下,又一下,敲在胸腔里。但她控制着呼吸,控制着面部肌肉,控制着眼神里每一丝可能泄露情绪的光。 三秒。 五秒。 周哲移开视线,叹了口气。 “没什么,”他说,“就是一篇分析文章,提到了‘深蓝计划’的一些数据问题。现在部门里都在讨论。” 他把文件夹递给路容:“这是‘深蓝计划’第三阶段的数据清洗规范,王总监让我拿给你。你抽空看一下,下午可能要开会讨论。” 路容接过文件夹。 纸张的边缘有些锋利,划过她的指尖。文件夹很厚,拿在手里沉甸甸的。 “谢谢周哥,”她说,“我马上看。” 周哲点点头,转身要走,但又停住。 他回过头,看着路容。 阳光从侧面照过来,在他脸上投下睫毛的阴影。他的眼睛在阴影里显得很深,里面有什么东西在闪烁——犹豫,担忧,还有一丝路容看不懂的复杂情绪。 “若溪,”他开口,声音更低了,“如果……如果你听到什么,或者看到什么不对劲的地方,可以跟我说。” 路容的手指收紧,文件夹的硬壳边缘硌进掌心。 “不对劲的地方?”她问,声音里带着恰到好处的不解。 周哲张了张嘴,好像想说什么,但最终只是摇了摇头。 “没什么,”他说,“就是……最近部门里事情多,你多注意点。” 说完,他转身离开了。 路容看着他走远的背影,直到他消失在走廊转角。 然后她低下头,看着手里的文件夹。 封面上印着星耀集团的logo,银色的线条在灯光下微微反光。她翻开第一页,里面是密密麻麻的技术文档,表格,流程图。 但她的目光没有聚焦在文字上。 她在想周哲刚才的眼神。 那种眼神,不像怀疑。更像……关心? 路容合上文件夹,把它放在桌上。 电脑屏幕还亮着,论坛页面停留在第三百五十七楼。最新的一条回复刚刚刷新出来: “最新消息,星耀的公关部已经开始行动了。好几个转载文章的公众号都收到了‘沟通请求’。” 路容关掉页面。 她重新点开数据报表,光标在单元格间移动。键盘敲击声响起,嗒,嗒,嗒,规律而平稳。 像什么也没发生过。 但她的余光,一直注意着王总监办公室的方向。 那扇磨砂玻璃门关着。但从百叶窗的缝隙里,能看见里面有人影在走动。不止一个。 路容敲下最后一个数字,按下保存。 屏幕右下角的时间:九点五十二分。 距离文章发布,过去了五十二分钟。 距离李剑在高层会议室里大发雷霆,过去了三十一分钟。 距离王总监接到“盯紧那个若溪”的命令,过去了二十九分钟。 路容端起水杯,又喝了一口。 水已经彻底凉了,冰得她喉咙发紧。 但她咽下去了。 全部咽下去了。 第25章:破晓之光 第25章:破晓之光(第1/2页) 路容保存了最后一份报表,关掉页面。屏幕暗下去的瞬间,映出她平静无波的脸。 内部通讯软件突然弹出一条通知。 「全体注意:今天下午两点,数据分析部所有人员到大会议室开会。不得缺席。」 发信人:王总监。 路容盯着那条通知,看了三秒。然后她移动鼠标,点下“已读”。 窗外的阳光正烈,透过玻璃照进来,在桌面上投下一块晃眼的光斑。光斑边缘,灰尘在无声地飞舞。 *** 下午的会议持续了四十七分钟。 王总监站在投影幕布前,脸上的表情像一块冻硬的石膏。她反复强调那篇匿名文章是“竞争对手的恶意抹黑”,要求部门员工“统一口径,不得私下讨论”。她的目光像探照灯一样扫过会议室里每一张脸,在路容身上停留的时间最长。 路容低着头,在笔记本上记录着“会议要点”。 她的字迹工整,笔画平稳。只有她自己知道,握着笔的手指在微微发颤——不是因为紧张,而是因为愤怒。王总监每说一句“维护公司形象”,她脑海里就闪过三年前李剑那张虚伪的脸。 会议结束后,周哲在走廊里叫住了她。 “若溪。” 路容转过身。走廊的灯光从头顶照下来,在周哲脸上投下淡淡的阴影。他的表情有些复杂,像是想说什么,又不知道该怎么说。 “周哥。”路容轻声回应。 周哲走近两步,压低声音:“最近……少看行业新闻,专注手头工作就好。” 他的声音很轻,但每个字都清晰。 路容看着他。他的眼睛里没有试探,只有一种近乎笨拙的关心。这种关心让她心里某个地方微微发紧——愧疚像细小的针,扎进皮肤深处。 “我明白,”她说,“谢谢周哥提醒。” 周哲点点头,转身要走,又停住。 “对了,”他说,“你上次问的那个数据清洗问题,我整理了一份更详细的文档,晚点发你邮箱。” “好。” 路容看着他走远的背影,直到消失在走廊转角。然后她转身,走向自己的工位。 每一步都踩在柔软的地毯上,没有声音。 但她的心跳,在胸腔里敲得很重。 *** 晚上八点十七分,路容回到出租屋。 她关上门,反锁。然后靠在门板上,闭上眼睛,长长地呼出一口气。 房间里很暗,只有窗外路灯透进来的微弱光线。空气里有灰尘和旧家具的味道,还有她早上出门前忘记倒掉的隔夜咖啡的酸涩气息。 她站了大概一分钟。 然后睁开眼睛,走到书桌前,打开那台“干净”的私人电脑。 屏幕亮起,蓝光映在她脸上。她登录了一个加密的技术社区论坛——这是沈薇帮她弄到的账号,身份信息完全匿名,ip地址经过多层跳转。 论坛页面很简洁,大多是技术讨论帖。 路容点开发帖界面。 光标在标题栏闪烁。她想了想,输入: 「关于大规模数据匿名化算法的优化构想——基于差分隐私与同态加密的混合模型」 标题很长,很技术。 但这是她能想到的,最安全、最不会引起怀疑的方式。 正文部分,她花了两个小时撰写。每一个公式都仔细推导,每一个算法步骤都详细说明,甚至附上了模拟实验的数据对比图。这是她三年前在天启科技时就开始研究的课题,后来被迫中断,但核心思路一直留在脑海里。 凌晨十二点三十八分,她点击“发布”。 帖子出现在论坛的“前沿技术”板块。 路容关掉页面,靠在椅背上。台灯的光晕在桌面上画出一个昏黄的圆,她能看见自己放在键盘上的手——手指修长,但指节处因为长时间打字而微微发红。 她等。 三天。 这三天里,她在星耀集团继续扮演“若溪”。王总监的监控越来越密集——她工位上的监控摄像头角度被调整过,现在能更清楚地拍到她的屏幕;it部门“例行检查”了她的电脑两次;甚至有一次,她在茶水间遇到林晓,那个同期入职的新人,对方看她的眼神躲躲闪闪,像是被交代过什么。 路容全都装作不知道。 她按时完成工作,按时参加例会,按时在周哲发来技术文档时回复“收到,谢谢周哥”。 一切如常。 只有深夜回到出租屋,登录那个加密论坛时,她才是另一个人。 帖子下面陆续有了回复。 大多是技术讨论,有人质疑她算法中的某个参数设置,有人提出改进建议。路容一一回复,用词专业,逻辑严谨。 第四天晚上,她收到了一条私信。 发信人id:破晓_秦风。 「溪流你好,我是‘破晓’创业者联盟的创始人秦风。看了你的算法构想,很受启发。我们团队最近也在研究类似方向,不知道是否有机会深入交流?」 路容盯着那行字。 屏幕的光映在她眼睛里,亮得有些刺眼。 她移动鼠标,点开这个id的资料页。认证信息显示:秦风,“破晓”创业者联盟创始人,前深港大学计算机系副教授,专注于数据安全与伦理技术创业。 资料很干净,没有可疑之处。 路容回复:「秦先生您好,感谢关注。我对‘破晓’联盟的理念有所了解,很欣赏你们在数据伦理方面的坚持。可以交流。」 十分钟后,秦风回复:「本周六下午三点,‘深港创客咖啡馆’有一场小型技术沙龙,主题是‘数据安全的边界’。我会参加。如果你方便,我们可以见面聊聊。」 路容的手指悬在键盘上方。 见面。 风险。 但她需要第三方验证。她需要有人能帮她分析那些从“深蓝计划”外围数据中提取出的异常特征——那些特征太隐蔽,太专业,她自己分析的结果说服力不够。她需要权威的技术团队给出独立的结论。 而“破晓”联盟,是目前最合适的选择。 她回复:「好。我会戴黑色口罩和帽子,方便识别。」 *** 周六下午两点四十分。 路容站在出租屋的穿衣镜前。 镜子里的人穿着简单的灰色卫衣和黑色长裤,头发扎成低马尾,脸上戴着黑色口罩,头上压着一顶黑色棒球帽。帽檐压得很低,遮住了大半张脸。 她看着镜子里的自己。 三年前,她站在天启科技的落地窗前,穿着定制西装,妆容精致,眼神明亮。那时候的她,相信技术可以改变世界,相信努力会有回报,相信正义不会缺席。 现在,镜子里的人像个影子。 路容深吸一口气,转身拿起背包。包里装着那台“干净”的私人电脑,还有一份打印出来的技术文档——文档里隐去了所有敏感信息,只保留了算法框架和部分模拟数据。 她出门。 *** 深港创客咖啡馆位于老城区的一条小巷里。 巷子很窄,两边是斑驳的砖墙,墙上爬着枯黄的藤蔓。下午的阳光斜斜地照进来,在石板路上投下细长的光影。空气里有咖啡的香气,还有远处传来的、若有若无的爵士乐声。 路容推开咖啡馆的门。 风铃声清脆响起。 室内光线昏暗,暖黄色的灯光从天花板上垂下来。墙壁是裸露的红砖,上面挂着各种科技公司的logo牌和创业团队的照片。空气中弥漫着咖啡豆烘焙的焦香,还有黄油和面粉在烤箱里混合的甜腻气息。 沙龙区在咖啡馆最里面。 七八张桌子拼在一起,周围坐了十几个人。大多是年轻人,穿着休闲,面前摆着笔记本电脑或平板。有人在低声讨论,有人在白板上画着流程图。 路容扫了一眼。 她很快认出了秦风——资料页上的照片是几年前拍的,但本人变化不大。三十五六岁的年纪,穿着浅蓝色的衬衫,袖子挽到手肘,戴一副黑框眼镜。他正低头看着手里的平板,眉头微皱,像是在思考什么。 路容走过去。 她在秦风对面的空位坐下。 秦风抬起头。他的眼睛在镜片后面,眼神很清澈,带着一种学者特有的专注。 “溪流?”他问,声音温和。 路容点点头。口罩遮住了她的脸,但她的眼睛露在外面——她刻意让眼神保持平静,甚至有些疏离。 “秦先生。”她的声音透过口罩传出来,有些闷。 “叫我秦风就好,”他笑了笑,把平板放到一边,“很高兴你能来。你的算法构想我仔细看了,差分隐私和同态加密的混合模型——这个思路很巧妙,尤其是你在局部敏感度调整上的处理。” (本章未完,请点击下一页继续阅读)第25章:破晓之光(第2/2页) 他说话语速不快,但每个词都很准确。 路容从背包里拿出电脑,打开。 “我在模拟实验中发现,传统差分隐私在应对高维数据关联攻击时存在漏洞,”她说,声音平稳,“而同态加密虽然能保护计算过程,但计算开销太大。混合模型试图在两者之间找到平衡点。” 她调出几张图表。 屏幕的光映在两人脸上。秦风身体前倾,仔细看着那些曲线和数据点。他的手指在桌面上轻轻敲击,像是在心里计算着什么。 “这个平衡点的参数设置,你是怎么确定的?”他问。 路容调出另一份文档。 “基于数据分布的特征自适应调整,”她说,“我设计了一个轻量级的评估模块,实时监测数据流的统计特征,动态调整噪声注入的强度。” 秦风的眼睛亮了一下。 “有意思,”他说,“这让我想起我们团队最近在做的一个项目——医疗数据的跨机构联合分析。我们也在尝试类似的自适应隐私保护方案,但评估模块的设计比你这个复杂得多。” 他拿起自己的平板,调出几张图。 两人开始深入讨论。 路容渐渐放松下来。秦风的问题很专业,但没有任何攻击性。他像是在进行一场纯粹的技术探讨,眼睛里只有对问题的好奇和专注。 这种专注,让她想起了三年前的自己。 那时候的她,也会为了一个算法优化方案熬夜到凌晨,会因为想到一个新的思路而兴奋得睡不着觉。 “数据安全不仅仅是技术问题,”秦风突然说,他靠回椅背,端起桌上的咖啡喝了一口,“更是伦理问题。我们保护数据,到底是在保护什么?是用户的隐私,还是公司的利益?这两者经常冲突。” 路容看着他。 咖啡馆里的灯光在他脸上投下柔和的阴影。他的表情很认真,不像是在说客套话。 “我认为是在保护人的尊严,”路容说,声音很轻,“数据是人的延伸。当数据被滥用,被交易,被用来操纵和伤害,人就不再是完整的人。” 秦风沉默了几秒。 然后他点点头。 “我同意,”他说,“这也是‘破晓’联盟成立的初衷——我们想证明,技术可以既强大又善良,商业可以既成功又正直。” 路容的手指在键盘上轻轻摩挲。 她看着秦风的眼睛。那双眼睛很干净,没有她熟悉的、在星耀集团里常见的算计和伪装。 也许,这是个机会。 “秦先生,”她开口,声音依然平稳,“我最近在研究一些公开数据集的匿名化效果评估。过程中,我发现了一些……有趣的现象。” 秦风放下咖啡杯。 “什么现象?” 路容调出另一份文档。这份文档是她精心准备的——里面包含了几组从“深蓝计划”外围数据中提取出的“匿名化特征”。这些特征被伪装成“公开数据集的异常样本”,附带了详细的技术分析。 “你看这几组数据,”她指着屏幕,“表面上看,匿名化处理很完善——直接标识符被删除,准标识符被泛化,甚至加入了符合差分隐私要求的噪声。但是……” 她放大其中一张图。 “注意这些数据包的加密模式,”她说,“虽然内容被加密,但元数据的结构特征非常统一。更关键的是,这些数据包在网络传输过程中,会出现规律性的时间间隔波动——这种波动模式,我在其他公开数据集里从未见过。” 秦风凑近屏幕。 他的眉头皱了起来。 “确实奇怪,”他说,“这种波动模式……像是人为设计的流量伪装。你在哪里找到的这些数据?” “一些公开的科研数据仓库,”路容说,声音没有任何波动,“我本来是想测试我的算法在不同数据源上的表现,结果发现了这些异常。” 她停顿了一下。 “秦先生,以你的经验看,这些特征可能意味着什么?” 秦风盯着屏幕,手指在平板上快速滑动。他调出了几个分析工具,把路容提供的数据导入进去。图表在屏幕上跳动,曲线交错,数字滚动。 咖啡馆里的爵士乐换了一首,萨克斯风的声音低沉而绵长。空气里的咖啡香气更浓了,混合着旁边桌上一份刚端上来的芝士蛋糕的甜腻味道。路容能听见自己的呼吸声,透过口罩,有些急促。 她强迫自己平静下来。 三分钟。 五分钟。 秦风抬起头。 “这些特征,”他缓缓说,“不像是一般的匿名化处理失误。元数据结构的高度统一,说明背后有统一的处理流程;时间间隔的规律性波动,更像是为了规避流量分析而设计的伪装策略。” 他看着路容。 “溪流,你提供的这些样本,可能涉及更复杂的数据流转路径。如果我的猜测没错,这些数据在匿名化之后,可能还经历了其他处理——比如,被导入某个中间平台,进行二次加工或分发。” 路容的心跳漏了一拍。 但她控制住了表情。 “二次加工或分发?”她问,“你的意思是……” “我的意思是,”秦风压低声音,“这些数据可能被用于非公开的目的。比如,商业数据交易。” 路容沉默。 咖啡馆里的灯光似乎暗了一下。她看见秦风眼镜片后面,那双眼睛里的专注变成了严肃。 “秦先生,”她开口,声音比刚才更轻,“如果……如果我想进一步验证这个猜测,你有什么建议吗?” 秦风看着她。 他的目光在她脸上停留了几秒——虽然只能看到眼睛和口罩上方的皮肤,但他看得很认真。 “我们团队可以帮你分析,”他说,“‘破晓’联盟有专门的数据安全实验室,设备和技术都很齐全。如果你愿意,可以把这些样本的完整技术特征提供给我们,我们做一次全面的风险评估。” 路容的手指收紧。 “需要多长时间?” “一周左右,”秦风说,“我们会从加密模式、元数据结构、网络行为特征等多个维度进行分析,给出技术报告。” 他顿了顿。 “不过溪流,我得提醒你——如果这些数据真的涉及非法交易,那背后可能牵扯到很复杂的利益网络。你确定要继续深入吗?” 路容看着他。 她的脑海里闪过很多画面。李剑的脸。王总监的眼神。周哲画在餐桌上的那个简图。还有三年前,她抱着纸箱走出天启科技大楼时,身后那些窃窃私语的声音。 “我确定,”她说,声音很稳,“技术应该被用于保护人,而不是伤害人。如果这些数据真的有问题,我想知道真相。” 秦风点点头。 他的表情里多了一丝欣赏。 “好,”他说,“你把数据发给我,我安排团队分析。另外……” 他身体前倾,声音压得更低。 “我们最近也在关注数据黑市的动态。有一个平台,叫‘暗网枢纽’,最近半年特别活跃。平台上流通的很多‘脱敏商业数据’,在技术特征上和你提供的这些样本有相似之处。如果你感兴趣,我可以把相关的监测报告发你一份。” 路容的心脏猛地一跳。 暗网枢纽。 这个名字,她记下了。 “谢谢,”她说,“我很感兴趣。” 秦风笑了笑。他拿出手机,调出一个加密通讯软件的二维码。 “加一下这个,”他说,“以后方便联系。数据和分析报告都通过这个渠道传输,更安全。” 路容扫码,添加。 她的联系人列表里,多了一个名字:破晓_秦风。 *** 下午四点二十分,路容离开咖啡馆。 巷子里的阳光已经西斜,在石板路上投下更长的影子。风从巷口吹进来,带着初秋的凉意,卷起地上的几片落叶。落叶擦过地面,发出沙沙的轻响。 路容拉紧卫衣的领口,快步走向地铁站。 她的背包里,那台私人电脑已经关机。但她的脑海里,那个名字在反复回响。 暗网枢纽。 如果秦风说的是真的,如果“深蓝计划”的数据真的流向了那个平台…… 那她离真相,又近了一步。 地铁站里人很多,空气闷热,混杂着汗味和香水味。广播里在播报到站信息,女声机械而平稳。路容挤进车厢,抓住扶手。车厢摇晃,灯光在头顶明灭。 她看着车窗玻璃上自己的倒影。 黑色口罩,黑色帽子,像个影子。 但影子的眼睛里,有光在闪烁。 那是火种。 三年前被踩灭的火种,现在,正在灰烬深处重新燃起。 第26章:联盟的验证 第26章:联盟的验证(第1/2页) 路容走出地铁站时,天已经快黑了。深港市的霓虹灯次第亮起,在高楼玻璃幕墙上投下流动的光影。她站在街边,看着车流如织,人潮涌动。背包里的电脑沉甸甸的,里面装着今天谈话的所有记录,还有秦风发来的、关于“暗网枢纽”的初步监测报告摘要。晚风带着凉意吹过,她拉高了衣领,快步走向出租屋的方向。路灯把她的影子拉得很长,在身后无声地移动。每一步,都离那个黑暗深处的平台更近一步。 *** 一周后的深夜,十一点四十七分。 出租屋里只开着一盏台灯。昏黄的光晕在书桌上圈出一片小小的明亮区域,周围是浓稠的黑暗。窗外偶尔有车灯扫过,在墙壁上投下短暂的光斑,又迅速消失。 路容坐在书桌前。 她面前的电脑屏幕亮着,显示着一个简洁的加密通讯界面。背景是深沉的墨蓝色,上面浮动着细密的、几乎看不见的像素点——那是动态加密算法的视觉化呈现。界面中央只有一个输入框,光标在框里安静地闪烁。 她在等。 台灯的光照在她脸上,勾勒出紧绷的下颌线条。她的眼睛盯着屏幕,瞳孔里映着那抹幽蓝的光。房间里很安静,能听见自己呼吸的声音,还有墙上挂钟秒针走动的滴答声——那是她从旧货市场淘来的机械钟,齿轮转动的声音在深夜里格外清晰。 空气里有灰尘的味道,还有她下午煮咖啡留下的淡淡焦香。咖啡已经冷了,杯沿上凝着一圈褐色的痕迹。 路容的手指放在键盘上,没有动。 她在等秦风的报告。 “破晓”联盟的初步分析报告。 这一周,她过得像走在刀锋上。白天在星耀集团,她依然是那个沉默寡言、埋头工作的“若溪”。王总监的监控变本加厉——她的电脑被安装了新的监控软件,工位对面的摄像头角度被调整,连她去茶水间的时间都被记录。周哲看她的眼神里多了些欲言又止的东西,但他什么都没说,只是在她加班时,会默默在她桌上放一杯热牛奶。 路容喝掉了每一杯牛奶。 然后继续扮演她的角色。 晚上回到出租屋,她卸下伪装,变成“溪流”。她整理了更多关于“深蓝计划”外围数据的异常特征——那些隐藏在正常数据流里的微小异常,那些不符合标准加密协议的元数据字段,那些只在特定时间窗口出现的网络请求模式。她把它们打包,通过加密信道发给了秦风。 每一份数据,她都做了三重伪装。 第一重,剥离所有能追溯到星耀集团的标识信息。 第二重,混入大量无关的公开数据集样本。 第三重,用她自己编写的算法对数据特征进行非线性变换,保留技术本质,但改变表现形式。 这是她作为数据分析师的本能——保护数据,保护自己。 现在,她在等结果。 墙上的钟指向十一点五十分。 屏幕突然闪烁了一下。 不是消息提示音——这个加密通讯软件没有任何声音提示。是界面右下角出现了一个微小的、几乎看不见的红色光点,闪烁了三下,然后消失。 有新文件传输请求。 路容的身体微微前倾。 她移动鼠标,点击那个已经变成浅灰色的光点位置。一个弹窗出现,要求输入动态验证码。她打开手机,点开一个同样加密的验证器应用,屏幕上显示出一串六位数字,每三十秒刷新一次。 她输入数字。 弹窗消失。 一个新的文件图标出现在通讯界面里——一个银灰色的文件夹图标,上面有一个小小的、抽象的破晓徽记:半轮太阳从地平线升起,光芒被设计成数据流的样式。 文件名:ts_2023_09_28_prelim_analysis_report_v1.2.enc 时间戳显示是三分钟前上传的。 路容盯着那个图标。 她的心跳开始加速,胸腔里像有什么东西在敲打。喉咙发干,她伸手去拿桌上的水杯,手指碰到冰凉的玻璃杯壁,才意识到杯子里已经没有水了。 她深吸一口气。 然后双击图标。 文件需要二次解密。她输入另一组密钥——这是她和秦风约定的双重加密机制。密钥正确,文件开始解压。进度条在屏幕上缓慢移动,蓝色的光带一点一点填满长方形的框。 解压完成。 一份pdf文档自动打开。 第一页是封面。 深蓝色的背景,左上角是“破晓技术联盟”的徽标和全称。中央是标题:《关于匿名数据集“ds_2023_09_21_sample_set_a”的技术风险评估初步报告》。标题下方是日期、报告编号、版本号。右下角有一行小字:本报告仅限指定接收方查阅,严禁复制、转发或用于任何商业用途。 路容滚动鼠标。 第二页是摘要。 她的目光快速扫过那些文字。 “……本报告对委托方提供的匿名数据集‘ds_2023_09_21_sample_set_a’进行了多维度技术分析。分析重点包括:数据加密模式、元数据结构特征、数据包网络行为模式、时间序列异常检测等……” “……初步分析结果显示,该数据集在以下技术特征上表现出高度一致性:(1)采用非标准aes-256变体加密,其密钥调度算法与公开标准存在三处微小但可复现的差异;(2)元数据字段包含自定义扩展标签,标签命名规则符合特定内部编码规范;(3)数据包时间戳存在规律性微调,调整模式与已知的日志混淆技术‘time-jitterv2.1’高度匹配……” 路容的呼吸变轻了。 她继续往下看。 第三页开始是详细分析。 图表出现了。 第一张图是加密模式对比分析。左侧是标准aes-256的密钥扩展流程图,右侧是样本数据中提取出的实际密钥扩展模式。两条流程线在大部分节点重合,但在三个位置分叉——分叉点被用红色圆圈标出,旁边有详细的数学公式和概率分析。 路容盯着那三个红圈。 她的专业直觉在嗡嗡作响。这种加密变体,她见过——三年前,在天启科技,李剑负责的一个内部项目就使用过类似的非标准加密。当时她问过为什么不用标准算法,李剑的回答是“安全需求特殊”。她当时信了。 现在她知道,那不是为了安全。 是为了隐藏。 第二张图是元数据结构树状图。树根是标准的数据包头部结构,树枝延伸出去,大部分是常见的字段:时间戳、数据大小、校验和……但在树的深处,有几条用红色高亮标出的分支——那是自定义扩展字段。字段名是十六进制编码,解码后是一串无意义的字母数字组合。 但路容看懂了。 那些“无意义”的组合,其实是一种简单的替换密码。密钥是项目名称的首字母缩写。 她试着在心里解码。 第一个字段:0x534a5f5052→替换解密后→sj_pr。 深蓝计划。 她的手指收紧,指甲陷进掌心。 第三张图是时间序列分析。横轴是时间,纵轴是数据包发送间隔。正常的网络数据流,发送间隔应该符合泊松分布,在图表上呈现为随机波动的点。但样本数据的时间序列图上,那些点虽然看起来随机,但在特定时间窗口——每天凌晨两点到四点之间——出现了规律性的“平静期”:整整两个小时,没有任何数据包。 平静期之后,会出现一个密集的数据包爆发。 爆发模式,与已知的黑市数据交易平台“暗网枢纽”的典型交易确认信号高度相似。 路容滚动到报告的最后一页。 结论部分。 她的目光落在那些加粗的文字上。 “综合以上分析,技术团队得出初步结论:” “1.数据集‘ds_2023_09_21_sample_set_a’采用的加密、元数据、时间序列特征,与近期在非法数据交易平台‘暗网枢纽’上流通的多批‘脱敏商业数据’存在高度相似性,相似度评估为87.3%(置信区间85.1%-89.5%)。” “2.数据特征的一致性表明,这些数据很可能源自同一技术团队或同一套数据处理流水线,即存在同源可能性。” “3.数据集表现出明显的隐蔽传输特征,包括非标准加密、自定义元数据、规律性时间混淆等,这些特征通常用于规避常规网络安全监测,符合非法数据交易的行为模式。” “4.基于现有样本,可以合理推断原始数据涉及商业机密或用户隐私信息,其流通可能违反《网络安全法》《数据安全法》及相关行业规定。” “风险评估等级:高危。” “建议:如委托方掌握更多信息,建议向相关执法部门举报。如需进一步技术分析,可提供更多样本或更完整的数据上下文。” 报告结束。 路容盯着屏幕。 房间里安静得能听见自己的心跳声,咚,咚,咚,沉重而有力。台灯的光晕在报告页面上投下温暖的黄色,那些冰冷的文字和图表在光里微微发亮。 她终于有了证据。 确凿的、第三方的、来自权威技术联盟的技术证据。 “深蓝计划”的数据,确实被非法泄露了。那些加密特征,那些元数据标签,那些时间序列的异常——它们像指纹一样,指向同一个源头。而那个源头,现在就在星耀集团,就在李剑手里。 路容的身体开始颤抖。 不是恐惧的颤抖。是一种压抑了太久、终于找到出口的释放。她的肩膀微微耸动,呼吸变得急促。眼睛里有什么东西在发热,但她没有让它们流出来。她只是紧紧咬着下唇,直到尝到一丝铁锈般的血腥味。 (本章未完,请点击下一页继续阅读)第26章:联盟的验证(第2/2页) 三年。 一千多个日夜。 她像幽灵一样活着,戴着面具,改变声音,隐藏自己。她看着李剑步步高升,看着王总监耀武扬威,看着那个曾经属于她的世界对她关上大门。她睡在狭小的出租屋里,做着没有尽头的数据清洗工作,在每一个深夜对着电脑屏幕,一遍遍复盘三年前那个陷阱的每一个细节。 现在,她终于抓住了第一根线头。 报告在屏幕上静静展开,那些图表和结论像一座灯塔,在黑暗的海面上亮起光芒。光芒很微弱,但足够指引方向。 路容闭上眼睛。 她让自己颤抖了十秒钟。 然后睁开眼睛。 颤抖停止了。 她坐直身体,手指重新放在键盘上。屏幕的光映在她脸上,那张脸平静得像深潭的水面,只有眼睛里还残留着一丝未散尽的波澜。 证据有了。 但还不够。 这份报告只能证明数据被非法交易,不能直接证明是李剑做的。加密特征可以追溯到技术团队,但李剑完全可以推卸责任——他可以声称是下属私自行为,可以声称自己不知情,可以动用律师团队把水搅浑。 她需要更核心的证据。 交易记录。资金流向。内部操作日志。李剑与“暗网枢纽”卖家的直接通讯记录。 那些东西,才是能钉死他的钉子。 路容移动光标,回到加密通讯界面。 她开始打字。 输入框里,字符一个一个出现。 “秦风,报告已收到。感谢你和团队的专业工作。结论很有价值,证实了我的猜测。” 她停顿了一下。 然后继续。 “我想请教一个问题:以‘破晓’联盟的资源,是否有办法接触到‘暗网枢纽’平台上更具体的交易信息?比如卖家的身份线索、交易时间记录、或者资金流向的痕迹?” 她盯着这段话。 每一个字都在试探。 秦风说过,“暗网枢纽”很危险。他也说过,他们有关注那个平台的动态。那么,他手里应该有一些情报,或者至少,知道获取情报的渠道。 路容按下发送键。 消息加密传输,在网络上划过一道不可见的轨迹。 她等待。 屏幕右下角的时间显示:零点零三分。 深夜了。秦风可能已经休息。但她记得他说过,他是个夜猫子,经常工作到凌晨两三点。 果然,两分钟后,回复来了。 不是文件,是文字消息。 “溪流,你确定要往那个方向走?” 路容打字:“我需要更完整的证据链。” 秦风回复得很快。 “那个地方很危险,水很深。‘暗网枢纽’不是普通的论坛,它背后有专业的反追踪团队,有法律防火墙,甚至可能牵扯到跨国犯罪网络。平台上流通的数据,很多涉及重大商业机密和个人隐私,买家卖家都是匿名的幽灵。一旦你尝试深入调查,就可能被盯上。” 路容看着这些话。 她的手指在键盘上悬停。 危险。她当然知道危险。三年前她就已经掉进过深渊,知道那里面有多冷。但现在,她站在深渊边缘,手里握着第一根绳索。如果因为害怕而松手,她将永远困在黑暗里。 她打字。 “我明白风险。但我需要那些信息。” 发送。 这次等待的时间更长。 五分钟。 屏幕安静得像凝固了。 路容能听见墙上挂钟的滴答声,能听见自己呼吸的轻微气流声,能听见远处街道上偶尔传来的汽车引擎轰鸣。台灯的光晕在桌面上投下一个清晰的圆形,圆形边缘之外,黑暗浓得化不开。 终于,新消息来了。 “如果你真想深入,我可以介绍一个信得过的‘线人’给你。” 路容的心脏猛地一跳。 线人。 “他在那个圈子里混了很久,知道很多内幕。但他只认两样东西:钱,和‘硬货’。” 秦风继续打字。 “钱,指的是加密货币,无法追踪的那种。‘硬货’,指的是有价值的情报或技术资源——他需要等价交换。如果你能提供他感兴趣的东西,或者支付足够的费用,他可能会帮你拿到你想要的信息。” “但我要提醒你:这个人很谨慎,交易方式复杂,而且不保证结果。他提供的线索可能是真的,也可能是陷阱。你要自己判断。” 一段文字出现在输入框上方。 那是秦风的最后一段话。 “另外,如果你决定接触他,不要用‘溪流’这个身份。创建一个全新的、一次性使用的匿名身份。不要透露任何关于你自己的真实信息。不要相信他说的任何关于‘安全保证’的话。记住,在那个世界里,信任是奢侈品,而背叛是日常。” 消息结束。 路容盯着屏幕。 加密通讯界面的墨蓝色背景上,那些白色的文字像浮在水面上的冰。冰很冷,但冰下面,是通往真相的通道。 线人。 钱。 硬货。 她需要权衡。 她的存款不多——绩效被扣,房租要交,生活开销要维持。加密货币她有一些,是之前做技术咨询时客户用比特币支付的报酬,一直存在冷钱包里,没有动过。大概相当于她三个月的工资。 够吗? 她不知道。 “硬货”呢?她有什么可以交换的?技术?算法?情报? 她手里有“深蓝计划”的部分数据特征,但这些已经给了秦风。她有天启科技时代的一些内部技术文档,但那些可能已经过时。她有作为数据分析师的直觉和经验,但这些无法量化。 路容靠在椅背上。 台灯的光照在她脸上,她的眼睛半闭着,睫毛在脸颊上投下细密的阴影。她在思考,在计算,在权衡风险与收益。 墙上的钟指向零点二十一分。 夜深了。 窗外的城市依然亮着灯,但那些灯光很遥远,像另一个世界的光。这个世界里,只有她,和屏幕上的那些文字,和那个即将打开的新通道。 她坐直身体。 手指放在键盘上。 她需要回复秦风。 需要做出决定。 她的目光落在报告页面上——那些图表,那些结论,那些“高危”的评级。那些东西给了她力量,也给了她责任。如果她现在退缩,那些数据将继续在黑市上流通,更多的人将受害,而李剑将继续逍遥法外。 她不能退缩。 路容开始打字。 “秦风,谢谢你的提醒和介绍。我想接触那个线人。” “请告诉我具体的方式和注意事项。关于费用和‘硬货’,我会准备。” “另外,报告的费用是多少?我一起支付。” 她按下发送。 消息传输。 这一次,她没有等待回复。 她关掉了报告页面,关掉了加密通讯软件。屏幕暗下去,房间里只剩下台灯的光。她站起来,走到窗边。 窗外,深港市的夜景铺展开来。高楼大厦像巨大的黑色剪影,上面点缀着无数个发光的窗口。街道上的车流像流动的光河,红色的尾灯和白色的前灯交织成绵延的光带。远处,商业区的霓虹招牌在夜色中闪烁,把天空染成淡淡的紫红色。 风吹进来,带着初秋的凉意,还有城市特有的、混杂着汽车尾气和远处餐厅油烟的味道。 路容看着这片夜景。 三年前,她也曾站在这样的高楼里,看着脚下的城市。那时她觉得,这个世界是她的舞台。后来舞台坍塌了,她坠落到地面,变成阴影里的一粒尘埃。 现在,尘埃要重新升起。 她需要钱。 需要“硬货”。 需要面对那个只认利益、不认人的线人。 需要走进更深的水里。 路容转身,回到书桌前。她打开一个加密笔记软件,开始列清单。 1.清点加密货币资产。 2.整理可能作为“硬货”的技术资源:匿名化算法变体?数据特征提取工具?还是…… 3.创建全新的匿名身份:需要新的邮箱、新的通讯账号、新的数字指纹。 4.研究“暗网枢纽”的基本访问方式——秦风给的监测报告里应该有线索。 5.评估风险预案:如果线人是陷阱怎么办?如果身份暴露怎么办?如果…… 她打字的手指停住。 如果周哲发现了怎么办? 这个念头像一根细针,突然扎进她的思绪里。她想起他放在她桌上的热牛奶,想起他欲言又止的眼神,想起他说“少看行业新闻”时那种笨拙的关心。 愧疚感又涌上来,沉甸甸的,压在心口。 路容闭上眼睛。 三秒后,她睁开眼睛,继续打字。 清单继续。 6.保持“若溪”的完美伪装,绝不露出破绽。 7.与周哲保持安全距离——不能再接受他的好意,不能再让他卷入。 她打下这行字,然后盯着它看了很久。 最后,她没有删除。 只是把光标移开,继续写下一条。 窗外的城市,在夜色中缓缓呼吸。 而在这个狭小的出租屋里,一个新的计划,正在黑暗中悄然成形。 第27章:线人“鼹鼠” 第27章:线人“鼹鼠”(第1/2页) 路容关掉笔记软件,屏幕暗下去。房间里只剩下台灯的光,在桌面上投下一圈昏黄的温暖。她靠在椅背上,仰起头,看着天花板上那片被灯光照亮的、有些剥落的墙皮。夜很深了,窗外的车流声变得稀疏,城市正在慢慢入睡。但她的头脑异常清醒,像一块被冰水浸过的金属,每一个念头都清晰而锋利。她需要钱,需要“硬货”,需要走进更深的水里。而第一步,是等待秦风的消息。她伸手关掉台灯,黑暗瞬间吞没房间。只有电脑电源指示灯还亮着,一点微弱的红光,在浓稠的夜色里,像一颗遥远而固执的星。 *** 三天后,深夜十一点二十分。 路容坐在电脑前,屏幕的光映在她脸上,把她的五官勾勒得有些冷硬。房间里只开了书桌上的台灯,光线集中在那片小小的区域,周围是沉甸甸的黑暗。空气里有灰尘和旧纸张的味道,还有她下午煮的姜茶留下的淡淡辛辣气息——她最近总是手脚冰凉。 屏幕上开着三个窗口。 左边是加密货币钱包的界面。数字在跳动,绿色的字体显示着余额:0.1875btc,约合她三个月的工资。这是她过去三年里,用各种匿名身份在业余时间做技术咨询攒下的全部积蓄。每一笔交易都经过至少五层跳转,最终汇入这个用虚假身份创建的钱包。她盯着那个数字,手指在鼠标上轻轻敲击。钱包的私钥文件加密后存放在一个离线的u盘里,u盘藏在出租屋墙角的暗格里——那是她搬进来时自己挖的,用腻子重新抹平,外面贴了墙纸。 中间窗口是技术资源清单。她列出了三样可能作为“硬货”交换的东西: 1.**匿名化算法变体“雾影2.0”**:这是她基于天启科技早期公开算法改进的版本,增加了动态混淆层和反向追踪干扰机制。价值高,但风险也高——如果有人逆向分析,可能追溯到她的技术风格。 2.**数据特征提取工具“蛛网”的核心模块**:这是她独立开发的工具,能从海量杂乱数据中快速识别出特定模式。模块经过剥离,移除了所有与星耀集团业务相关的定制化代码。价值中等,技术独特性强。 3.**天启科技内部技术文档摘要(2018-2019)**:这是三年前她还在天启时,通过正常渠道获取的公开技术资料汇编,加上她自己的批注和分析。已经过时,但其中关于数据加密架构的部分,可能对某些人仍有参考价值。价值低,风险最低。 路容的目光在三样东西之间移动。 她在权衡。 右边窗口是加密通讯软件,界面是深沉的墨蓝色,上面浮动着细密的像素点。秦风的消息框在最上方,最后一条消息是两小时前发来的: “线人代号‘鼹鼠’。只认钱和硬货,不认人。这是他的加密通讯地址:[一串由字母数字和特殊符号组成的乱码]。接洽暗号:‘夜莺求购深港地图’。他会回复‘地图很贵,需要定金’。记住:不要透露任何真实信息,不要使用任何可能被追踪的ip。费用可能不菲,做好心理准备。” 路容把这段话读了五遍。 然后她关掉了秦风的消息框。 她需要创建一个全新的匿名身份。 手指在键盘上敲击。她打开虚拟机,启动一个全新的、从未连接过网络的linux系统镜像。系统启动的嗡鸣声很轻,在安静的房间里像某种昆虫的振翅。她配置代理链,设置七层跳转——第一层是公共vpn节点,第二层是tor网络入口,第三层是她自己搭建在境外廉价vps上的中转服务器,第四层…… 每一步都缓慢而精确。 屏幕上的命令行界面滚动着黑色的文字和绿色的提示符,像某种神秘的咒语。路容的眼睛盯着那些跳动的字符,瞳孔里映着幽光。她的呼吸很轻,几乎听不见。房间里只有键盘敲击的嗒嗒声,还有墙上挂钟秒针走动的滴答声。 二十分钟后,新身份创建完毕。 代号:“夜莺”。 数字指纹:完全随机生成的浏览器特征、操作系统版本、时区设置、字体列表。ip地址:经过十二次跳转后,最终出口节点位于荷兰阿姆斯特丹的一家数据中心。 路容深吸一口气。 她打开加密通讯软件,输入“鼹鼠”的地址。 光标在输入框里闪烁。 她打字: “夜莺求购深港地图。” 按下发送。 消息传输的进度条在屏幕上缓慢移动,从0%到100%,花了整整七秒钟。这七秒钟里,路容一动不动。她能听见自己的心跳,在胸腔里沉稳地敲击。她能感觉到手心里渗出细微的汗,在台灯的光下泛着微光。空气里的姜茶味道似乎更浓了,混合着电脑散热器吹出的、带着塑料和电子元件气息的热风。 发送成功。 界面恢复平静。 路容盯着屏幕,等待。 一分钟。 两分钟。 三分钟。 挂钟的秒针走了一圈又一圈,每一下都像敲在她的神经上。她端起旁边已经冷掉的姜茶,喝了一口。液体滑过喉咙,带着辛辣和微苦的味道。茶杯是廉价的陶瓷,边缘有个小小的缺口,她的嘴唇能感觉到那个粗糙的断面。 第四分钟,回复来了。 消息弹窗在屏幕中央跳出来,黑色的背景,白色的文字: “地图很贵,需要定金。” 路容的手指悬在键盘上方。 暗号对上了。 她打字: “多少?” 回复几乎是立刻的: “咨询费:0.1btc。预付,不退。只接受门罗币(xmr)支付。地址:[另一串乱码]。付款后发截图,开始咨询。计时一小时,超时加费。” 路容看着那个数字。 0.1btc。 超过她积蓄的一半。 她打开加密货币交易所的界面——当然,是通过匿名身份访问的。她把比特币兑换成门罗币。兑换过程花了三分钟,期间汇率波动了0.3%。她盯着那些跳动的数字,眼睛有些发涩。屏幕的光太亮了,在黑暗的房间里像一块灼热的烙铁。 兑换完成。 她复制“鼹鼠”提供的门罗币地址,粘贴,输入金额:0.1btc等值的门罗币。 确认交易。 交易哈希生成。 她截图,把截图发过去。 “已付。” 这次等待的时间更长。 五分钟。 路容靠在椅背上,闭上眼睛。她能感觉到眼皮在轻微地跳动,那是疲劳和紧张共同作用的结果。房间里很安静,安静得能听见自己血液流动的声音,像远处传来的、低沉的潮汐。窗外的城市已经完全沉睡,连偶尔的车声都没有了。只有远处某栋大楼的应急指示灯,透过窗帘的缝隙,在墙上投下一抹微弱的红光,随着她的呼吸轻轻晃动。 “收到。” 消息弹出来。 “计时开始。问。” 路容坐直身体。 她打字: “暗网枢纽。访问方式。” 回复很快: “需要特定工具包:tor浏览器定制版+流量混淆插件+硬件指纹伪装扩展。下载地址:[一个.onion的暗网链接]。跳板建议:至少三层,第一层用公共vpn,第二层用i2p网络,第三层用自建代理。入口节点列表我会发你,但节点存活期很短,需要实时更新。” “平台交易记录查询方式?” “平台不提供公开查询。所有交易记录都存储在分布式数据库里,只有买卖双方通过密钥才能访问特定记录。想要查别人的交易,除非:1.黑入平台核心数据库——几乎不可能,数据库物理隔离,访问需要多重生物认证;2.拿到卖家的本地设备——找到他的电脑,拿到他的私钥文件;3.平台内部有管理员权限——但管理员都是匿名身份,找不到人。” 路容的手指停顿了一下。 她继续问: “近期活跃的、与深港市科技公司相关的卖家?” 这次,“鼹鼠”沉默了将近一分钟。 然后回复来了: “有一个id:‘深蓝之影’。注册时间九个月前,交易频率:平均每月1-2笔。商品类型:企业级数据样本、用户行为分析模型、商业智能算法。买家评价:4.8星(满分5星),评价关键词:‘质量高’、‘来源可靠’、‘加密专业’。” 路容的心脏猛地一跳。 深蓝之影。 深蓝计划。 她打字的手有些颤抖,但她强迫自己稳住: “能确定卖家身份吗?” “不能。平台保护卖家隐私。ip地址经过至少十五层跳转,最终出口节点遍布全球——巴西、南非、俄罗斯、越南。支付用门罗币,收货地址用一次性加密邮箱。但……” “但什么?” “但从交易模式和商品类型推断,卖家很可能有企业级数据源,且熟悉商业数据分析流程。商品描述里出现过几个专业术语,是深港市几家大公司内部使用的技术黑话。其中有一个术语,‘多维衰减权重’,我查过,最早是天启科技三年前某个项目的内部叫法。” 路容的呼吸停住了。 屏幕上的文字像针一样扎进她的眼睛。 天启科技。 三年前。 她的手指冰凉。 她打字: “还有更多吗?” “咨询时间还剩二十分钟。加费0.05btc可延长半小时。” 路容看着那个数字。 她剩下的积蓄,再付0.05btc,就只剩下不到0.04btc了。那是她最后的保命钱。 但她需要更多信息。 她需要确认。 (本章未完,请点击下一页继续阅读)第27章:线人“鼹鼠”(第2/2页) 她打开钱包界面,看着那个绿色的数字。光标在闪烁,像在催促她做出决定。窗外的风突然大了起来,吹得窗户玻璃微微震动,发出低沉的嗡嗡声。窗帘被吹起一角,夜色的黑暗涌进来,又退回去。 她转账。 0.05btc。 “继续。” “鼹鼠”的回复快了一些: “‘深蓝之影’最近一笔交易在两周前。商品:某金融科技公司用户信用评分模型训练数据集(脱敏版)。买家id:‘掘金者’。交易金额:8.5btc。平台抽成10%。” “能查到买家信息吗?” “不能。但‘掘金者’是平台老客户,注册时间两年,交易记录超过五十笔。主要购买方向:金融数据、用户画像、竞品分析报告。从购买模式看,可能是商业咨询公司或竞争对手的情报部门。” 路容的大脑飞速运转。 金融科技公司。 用户信用评分模型。 星耀集团最近正在拓展金融科技业务,上个月刚成立了一个新的数据分析小组,专门负责信贷风险评估模型开发。组长是李剑从外面挖来的人,背景神秘。 她打字: “平台有没有发生过数据泄露?或者有没有办法拿到‘深蓝之影’的历史交易记录?” 这次,“鼹鼠”沉默了更久。 久到路容以为连接已经断开。 久到她开始检查网络状态,检查代理链是否还在工作。 久到挂钟的秒针又走了整整两圈,每一下都像敲在她的太阳穴上。 然后回复来了: “三年前,平台发生过一次内部数据泄露。一个管理员账号被盗,部分交易记录被导出,在另一个黑市上被拍卖。但那些记录很快被平台追回并销毁,买到记录的人据说都‘出了意外’。从那以后,平台的安全等级提升到军事级。” “至于拿到‘深蓝之影’的交易记录……” “除非你能黑进他的电脑。或者,黑进星耀集团的内部服务器——如果‘深蓝之影’真的在那里的话。” 路容盯着最后那句话。 如果“深蓝之影”真的在那里的话。 “鼹鼠”在暗示。 他在暗示“深蓝之影”可能就在星耀集团内部。 而他知道路容在调查星耀集团——否则她为什么要问“与深港市科技公司相关的卖家”? 这个线人,比秦风描述的更危险。 他知道的太多。 路容的手指在键盘上悬停。 她需要结束这次咨询了。 “时间到了。” “鼹鼠”发来最后一条消息: “提醒你:‘深蓝之影’非常谨慎。他的所有交易记录都经过多重加密和混淆,平台本身也只存储加密后的哈希值。想要拿到实锤,除非你能黑入平台核心数据库——但那等于自杀。或者,拿到卖家的本地设备——但那意味着你要潜入某个地方,找到某台电脑,在不知道密码的情况下破解加密。” “祝你好运,夜莺。” “另外,你的跳转链第七层节点响应延迟超过800毫秒,建议更换。再见。” 连接断开。 聊天窗口自动关闭。 屏幕恢复到深沉的墨蓝色背景,上面浮动的像素点慢慢平息,像水面恢复平静。 路容坐在椅子上,一动不动。 房间里只剩下台灯的光,还有电脑散热器持续的低鸣。空气里的姜茶味道已经散尽,取而代之的是电子设备发热时特有的、微焦的塑料气味。她的手指还放在键盘上,指尖能感觉到按键表面细微的磨砂纹理。 她得到了信息。 “暗网枢纽”的访问方式。 卖家id“深蓝之影”。 “深蓝之影”可能就在星耀集团内部。 “深蓝之影”的交易记录几乎不可能从外部获取。 她需要登录“暗网枢纽”亲自调查。 她需要看到那个平台,看到“深蓝之影”的商品列表,看到交易评价,看到一切能看到的细节。她需要确认,需要找到漏洞,需要找到哪怕一丝可能突破的缝隙。 但这意味着风险。 巨大的风险。 一旦登录,她的匿名身份“夜莺”就可能暴露。一旦暴露,“鼹鼠”可能会出卖她。一旦被平台检测到异常访问,可能会触发警报。一旦警报传到“深蓝之影”那里——传到李剑那里——她的一切就都完了。 路容闭上眼睛。 三秒钟后,她睁开眼睛。 她打开另一个加密通讯窗口。 联系老吴。 老吴的回复总是很慢,这次也不例外。路容等了十分钟,才看到消息弹出来: “这么晚,什么事?” 路容打字: “我需要更高级的伪装ip和反追踪技术支持。要登录一个……特殊平台。” 老吴沉默了五分钟。 然后: “什么平台?” “暗网枢纽。” 这次,老吴沉默了整整十五分钟。 路容盯着屏幕,能想象出老吴在屏幕那头的表情——那张总是皱着眉、带着疲惫和无奈的脸,那双看透了公司内部太多肮脏事的眼睛。老吴今年四十七岁,在星耀集团it部门干了十二年,还是个普通工程师。不是没能力,是太正直,或者说,太不懂变通。他见过李剑怎么排挤异己,见过王总监怎么抢下属功劳,见过赵律师怎么用法律条文为非法行为开脱。他什么都做不了,只能沉默。 但路容知道,老吴心里还有火。 否则他不会帮她。 十五分钟后,回复来了: “那个平台很危险。李剑那边的网络安全团队,最近三个月一直在监控所有与暗网相关的流量。他们有一套自研的异常检测系统,能识别出tor流量中的特定模式。一旦触发警报,他们会立刻追踪源头。” 路容打字: “我知道。但我必须登录。” “为什么?” “我要找一个人。一个卖家。id叫‘深蓝之影’。” 老吴又沉默了。 这次沉默的时间更长。 长到路容以为老吴已经下线了。 长到她开始考虑要不要再发一条消息。 然后,回复来了: “我可以给你一套工具。动态ip伪装系统,每三十秒切换一次出口节点,配合流量整形和协议混淆。反追踪模块能检测并阻断至少十七种常见的溯源技术。但……” “但什么?” “但这是最后一次。” 老吴的字打得很慢,一个字一个字地跳出来: “李剑那边的团队不是吃素的。他们最近招了几个从国安系统退下来的人,专门负责网络安全。你一旦登录,就可能留下痕迹。哪怕只有百万分之一的可能性被抓住,那也是可能性。” “我可以帮你这一次。但之后,我们不能再联系了。至少,不能通过这种方式联系。” “你明白吗?” 路容看着那些文字。 屏幕的光映在她眼睛里,把她的瞳孔照得一片幽蓝。 她明白。 她当然明白。 老吴在冒着丢掉工作的风险帮她。如果被发现,老吴不仅会失业,还可能面临法律诉讼——协助他人进行“非法网络入侵”或“商业间谍活动”。 这是最后一次。 路容的手指在键盘上停顿。 她想起老吴的脸,想起他总是一身皱巴巴的衬衫,想起他在公司食堂吃饭时总是独自一人,想起他有一次悄悄对她说:“若溪,有些事,看见了就当没看见。这个公司,水太深。” 但她已经在水里了。 而且正在往更深的地方去。 她打字: “我明白。谢谢。” “工具怎么给我?” 老吴回复: “明天中午,公司地下停车场b区,第七根柱子后面,有个通风管道检修口。里面有个防水袋。密码是你工号的后六位。” “拿到后,不要在公司网络环境下使用。不要在任何能被监控的设备上安装。” “祝你好运。” “再见。” 聊天窗口关闭。 屏幕暗下去。 路容靠在椅背上,仰起头,看着天花板。 台灯的光把天花板照出一片昏黄的光晕,边缘逐渐模糊,融入周围的黑暗。墙皮剥落的地方,在光线下形成凹凸不平的阴影,像某种古老的地图,或者,像伤疤。 她得到了工具。 得到了进入“暗网枢纽”的钥匙。 也得到了老吴的警告。 这是最后一次。 一旦登录,就可能留下痕迹。 路容闭上眼睛。 她能听见自己的呼吸,平稳而深沉。她能感觉到心脏在胸腔里跳动,一下,又一下,像某种坚定的鼓点。她能闻到空气里残留的姜茶味道,还有灰尘,还有夜色的凉意。 她睁开眼睛。 打开加密笔记软件。 在清单的最后,她加上一行字: “8.拿到老吴的工具。准备登录暗网枢纽。风险评估:极高。失败后果:身份暴露,复仇终止,可能入狱。” 她盯着那行字看了很久。 然后,她关掉软件,关掉电脑。 屏幕暗下去,房间彻底陷入黑暗。只有电源指示灯还亮着,一点微弱的红光,在浓稠的夜色里,像一颗遥远而固执的星。 窗外的城市,依然在沉睡。 而路容知道,明天,她将走进更深的水里。 第28章:数据迷雾 第28章:数据迷雾(第1/2页) 路容关掉台灯,房间沉入彻底的黑暗。她在椅子上坐了很久,直到眼睛适应了这片浓黑,能勉强看清家具的轮廓。窗外的天际线开始泛起一丝极淡的灰白,凌晨四点十七分。她站起来,走到窗边,看着那座即将苏醒的城市。手指无意识地摩挲着口袋里那个冰冷的u盘——那是老吴明天将要给她的东西,也是她通往深渊的门票。风从窗户缝隙钻进来,带着黎明前最深的寒意,吹起她额前的碎发。她深吸一口气,那空气冷冽而清澈。然后她转身,走向浴室,拧开水龙头。水流哗哗作响,在寂静的房间里显得格外响亮。她需要洗个脸,需要清醒,需要为明天——不,为今天——做好准备。 *** 中午十二点零三分,星耀集团地下停车场b区。 路容穿着深灰色的职业套装,手里拿着一个普通的帆布午餐袋,脚步平稳地走向电梯间。她的高跟鞋敲击在水泥地面上,发出清脆而规律的声响,在空旷的停车场里回荡。空气里弥漫着汽油、橡胶轮胎和潮湿混凝土混合的味道,还有远处传来的汽车引擎怠速的嗡嗡声。头顶的日光灯管发出惨白的光,把一切都照得没有阴影,却又显得格外阴冷。 她经过第六根承重柱。 眼角余光扫过第七根。 柱子后面是墙壁,墙壁上有一个方形的金属检修口,大约三十厘米见方,用四颗螺丝固定着。检修口下方堆放着几个废弃的纸箱,上面落满了灰尘。停车场里很安静,只有远处保安巡逻的脚步声,还有通风管道里传来的、若有若无的风声。 路容没有停下脚步。 她继续往前走,在电梯间门口停下,按了下行按钮。电梯门打开,里面空无一人。她走进去,按下b2层——那是更深的停车场,通常只有少数高管的车位在那里。电梯缓缓下降,金属箱体发出轻微的摩擦声。路容盯着楼层数字跳动,呼吸平稳。 电梯在b2层停下。 门打开,外面是更昏暗的停车场,灯光稀疏,空气更冷。路容走出电梯,向左转,沿着车道走了大约五十米,然后拐进一个消防通道。通道里没有监控——这是她之前花了两周时间,利用午休时间一点点摸清的。她推开防火门,门轴发出轻微的吱呀声。里面是楼梯间,墙壁刷着暗绿色的油漆,已经斑驳脱落。楼梯向上通往b1层,向下通往b3层——那是设备层,平时几乎没有人去。 路容向下走。 脚步声在楼梯间里回荡,带着一种空洞的回音。她能闻到灰尘和铁锈的味道,还有某种隐约的霉味。楼梯间的灯光是声控的,她每走几步,头顶的灯就会亮起,然后又在她身后熄灭。一层,两层。她来到b3层,推开防火门。 外面是一条狭窄的走廊,两侧是各种管道和电箱。走廊尽头是通风机房,巨大的风机发出低沉的轰鸣,震得地面都在微微颤动。空气里充满了机油和金属摩擦产生的热量。路容沿着走廊往回走,来到一个通风管道的主干道接口处。接口上方有一个检修梯,通往b1层的通风管道系统。 她看了看手表。 十二点十七分。 午休时间还有四十三分钟。 她脱下高跟鞋,塞进帆布午餐袋里,换上事先准备好的平底软底鞋。然后她爬上检修梯,梯子的金属横杆冰凉刺骨,上面覆盖着一层薄薄的油污。她爬到顶端,推开通风管道的检修盖——盖子是活动的,没有上锁。这是她上周来检查时故意松动的。 管道里一片漆黑。 路容打开手机的手电筒功能,光线在金属管道内壁上反射,形成一片惨白的光晕。管道大约一米见方,内壁积着厚厚的灰尘,还有一些蜘蛛网在角落里摇曳。空气不流通,带着一种沉闷的、金属特有的腥味。她爬进去,沿着管道向前。 手机的光在黑暗中晃动。 她能听见自己的呼吸声,在狭窄的空间里被放大,带着一种急促的节奏。灰尘被搅动起来,在光线里飞舞,像无数细小的幽灵。她爬了大约十米,来到一个分叉口。向左通往b1层东区,向右通往b1层西区——也就是b区停车场上方。 她向右转。 又爬了五米。 前方出现一个向下倾斜的支管,管壁上有一个检修口。路容爬过去,透过检修口的金属格栅向下看。下面是b区停车场第七根柱子后面的区域。角度很好,能看到检修口,也能看到周围的情况。 停车场里空无一人。 远处,保安的脚步声渐渐远去。 路容从口袋里掏出一个小巧的磁吸工具——这是她之前在网上匿名购买的,用来吸附金属物体。她把工具从格栅缝隙伸下去,对准检修口的螺丝。工具前端有一个微型摄像头,通过蓝牙连接到她的手机。她在手机屏幕上调整角度,让工具头部的六角套筒对准螺丝。 拧。 第一颗螺丝松动。 她动作很慢,很轻。金属摩擦的声音在通风管道里被放大,但在空旷的停车场里,几乎听不见。她能感觉到手心在出汗,汗水让工具有些滑。她停下来,用袖子擦了擦手,深呼吸。 第二颗螺丝。 第三颗。 第四颗。 检修口的金属盖板松动了。她用磁吸工具轻轻吸住盖板,向上提。盖板被提起,露出下面的空洞。路容把工具收回来,从帆布午餐袋里掏出一个细长的金属钩子,钩子末端有一个小夹子。她把钩子伸下去,在空洞里摸索。 碰到了。 一个防水的密封袋,大约巴掌大小,用胶带固定在管道内壁上。路容用夹子夹住袋子,轻轻向上拉。袋子被拉上来,表面是黑色的,没有任何标识。她迅速把袋子塞进帆布午餐袋里,然后把检修口的盖板重新放回去,用工具把螺丝拧紧——不需要完全拧死,只要看起来正常就行。 做完这一切,她看了看时间。 十二点三十一分。 她沿着原路返回,爬出通风管道,爬下检修梯,穿上高跟鞋。脚步声在走廊里响起,平稳而规律。她推开防火门,回到楼梯间,向上走。一层,两层。回到b1层,推开防火门,外面是停车场b区。 她走向电梯间。 手指在口袋里,紧紧握着那个防水袋。袋子很薄,她能感觉到里面u盘的轮廓,还有一张折叠的纸——应该是使用说明。她的心跳有些快,但脸上没有任何表情。电梯门打开,她走进去,按下28层——技术部所在的楼层。 电梯上升。 金属箱体发出轻微的嗡鸣。 路容看着楼层数字跳动,脑子里开始快速思考。老吴的工具拿到了,接下来就是找机会登录“暗网枢纽”。但必须在绝对安全的环境下,不能在公司,也不能在她自己的出租屋——那里虽然相对安全,但网络环境可能被监控。她需要一个公共的、无法追踪的wi-fi,比如某个大型商场或者图书馆的开放网络,而且必须使用老吴提供的工具进行多层跳转和伪装。 电梯在28层停下。 门打开,外面是技术部的办公区。午休时间,大部分人都去吃饭了,只有零星几个人还在工位上。空气里飘着外卖的味道——麻辣烫、炸鸡、还有咖啡的香气。日光灯管发出均匀的白光,照在整齐排列的办公桌上,把一切都照得清晰而冰冷。 路容走向自己的工位。 她的工位在靠窗的位置,旁边就是周哲的座位。周哲不在,电脑屏幕暗着,椅子推得很整齐。桌面上放着一个喝了一半的咖啡杯,杯沿上有一个浅浅的唇印。路容坐下,把帆布午餐袋放进抽屉里,锁上。然后她打开电脑,登录系统,开始处理上午没做完的数据清洗工作。 屏幕上的代码一行行滚动。 她的手指在键盘上敲击,发出清脆的嗒嗒声。但她的注意力并不完全在代码上。她在等周哲回来——这几天,周哲的状态明显不对劲。他连续加班到很晚,每天早上来的时候,眼睛下面都有浓重的黑眼圈。开会时也总是心不在焉,眉头紧锁,像是在思考什么极其棘手的问题。 路容知道,周哲是技术骨干,负责“深蓝计划”的部分数据监控和异常检测。如果他发现了什么,那很可能就是李剑非法数据交易的痕迹。 但她不能主动问。 必须等周哲自己开口。 下午两点,周哲回来了。 他手里拿着一杯新买的咖啡,脚步有些沉重。走到工位前,他把咖啡放在桌上,坐下,但没有立刻打开电脑。他盯着暗着的屏幕,手指无意识地敲击着桌面。敲击的节奏很乱,时快时慢。 路容侧过头,看了他一眼。 周哲的脸色有些苍白,嘴唇紧抿着。他的衬衫领口有些皱,袖口挽到手肘,露出的小臂上能看到淡淡的血管纹路。他深吸一口气,然后猛地站起来,走向茶水间。 路容等了一分钟。 然后她也站起来,拿着自己的水杯,走向茶水间。 茶水间里只有周哲一个人。他站在窗边,看着外面,手里端着那杯咖啡,但没有喝。窗外的阳光很好,照在高楼玻璃幕墙上,反射出一片刺眼的白光。茶水间里飘着咖啡和茶叶的混合香气,还有微波炉里传来的、某种食物加热后的味道。 路容走到饮水机前,接水。 水流的声音在安静的房间里显得格外清晰。 “周工。”她开口,声音平静,“关于上午那个数据清洗的算法,我有个问题想请教一下。” 周哲转过身。 他的眼睛里有血丝,眼神有些涣散,但听到“数据清洗”这个词时,突然聚焦了。他看了看路容,又看了看茶水间门口——确认没有人进来。 “什么问题?”他问,声音有些沙哑。 路容走到他身边,压低声音:“是关于异常值处理的阈值设定。我发现‘深蓝计划’的部分预处理数据里,有一些数值的波动超出了正常范围,但系统没有标记为异常。我在想,是不是审计通道的过滤规则有问题?” (本章未完,请点击下一页继续阅读)第28章:数据迷雾(第2/2页) 周哲的眼睛猛地睁大。 他盯着路容,嘴唇动了动,像是想说什么,但又咽了回去。他看了看四周,然后向前走了一步,离路容更近一些。他的呼吸有些急促,呼出的气息里带着咖啡的苦味。 “若溪。”他压低声音,几乎是在耳语,“我可能发现了点不对劲的东西。” 路容的心脏猛地一跳。 但她脸上没有任何变化,只是微微皱眉,露出困惑的表情:“不对劲的东西?” 周哲深吸一口气,像是下定了决心。他看了看手表:“下班后,你留下来一会儿。我给你看。” *** 下午六点,下班时间。 办公室里的人陆续离开,脚步声、说话声、背包拉链的声音混杂在一起,然后渐渐稀疏。日光灯一盏盏熄灭,只剩下技术部核心区域的几排灯还亮着。空气里的温度开始下降,空调已经关了,但机器运转产生的热量还在空气中残留,混合着人体和电子设备散发出的、一种难以形容的沉闷气味。 路容坐在工位上,假装在整理文档。 周哲也在。 他一直在敲代码,但敲击的速度很慢,时不时停下来,盯着屏幕发呆。他的手指在键盘上悬停,然后落下,又抬起。屏幕的光映在他脸上,把他额头上渗出的细密汗珠照得发亮。 七点十分。 办公室里只剩下他们两个人。 周哲终于停下敲击。他转过身,看向路容。他的脸色在屏幕光的映照下,显得更加苍白,眼睛里的血丝也更明显。 “过来。”他说,声音很轻。 路容站起来,走到他身边。周哲的电脑屏幕上开着三个窗口:一个是数据包抓取工具的界面,上面显示着密密麻麻的时间戳、源ip、目标ip、数据包大小;一个是网络拓扑图,上面用红色箭头标出了一条异常的数据流路径;还有一个是命令行窗口,里面是反向解析的日志,但最后几行都是“连接超时”或“无法解析”的错误信息。 周哲移动鼠标,指向拓扑图上的红色箭头。 “你看这里。”他说,声音压得很低,带着一种紧绷的颤抖,“这是‘深蓝计划’的核心预处理服务器,编号svr-07。正常情况下,所有从这台服务器流出的数据,都应该先经过内部审计通道——就是这个绿色的节点,审计完成后再分发到各个业务模块。” 他的鼠标移动到红色箭头的起点。 “但过去一周,我监控到有七组数据包,从svr-07流出后,没有走绿色通道。”鼠标沿着红色箭头移动,“它们绕过了审计节点,直接流向这个伪装成日志服务器的节点——你看,这个节点的标识是log-backup-03,但它的实际ip和mac地址,跟真正的日志服务器对不上。” 路容盯着屏幕。 她的呼吸变得很轻。 周哲的鼠标点击那个伪装节点,弹出一个详细信息窗口。上面显示着数据包的加密方式:aes-256,但密钥交换协议是自定义的,不是公司标准。数据包的目标ip是一个境外地址,经过查询,属于某个加勒比海地区的虚拟主机服务商。 “我尝试反向解析这个ip。”周哲打开命令行窗口,指着那些错误信息,“但它是层层跳转的肉鸡。第一跳是那个虚拟主机,第二跳是东欧的某个代理服务器,第三跳是东南亚的某个数据中心……至少转了五层,最后的目的地根本追踪不到。” 他转过头,看着路容。 他的眼睛里充满了困惑和不安,还有一丝恐惧。 “这明显违反了公司的数据安全规定。”他说,声音更低了,“所有涉及核心业务的数据流出,都必须经过审计和审批。而且这种加密方式……不是公司标准。我查了内部文档,没有找到匹配的协议。” 路容没有说话。 她盯着屏幕上的数据流图,脑子里快速运转。境外ip、层层跳转、自定义加密——这完全符合非法数据交易的特征。而且从“深蓝计划”核心服务器流出,这意味着数据很可能就是“深蓝计划”的预处理结果,也就是李剑正在交易的商品。 周哲发现了。 他发现了李剑的罪证。 但周哲不知道这意味着什么。他只以为这是某个员工违规操作,或者系统漏洞。他不知道这背后是集团副总裁,不知道这涉及巨额非法交易,更不知道,三年前的一桩“泄密案”,就是用类似的手法构陷了一个叫路容的人。 路容感觉喉咙发干。 她必须说点什么,但又不能说得太多。她既想引导周哲继续深挖,拿到更确凿的证据——比如数据包的具体内容,或者交易记录——但又怕周哲因此陷入危险。李剑如果发现有人在调查,一定会采取行动。周哲只是一个技术骨干,没有背景,没有靠山,一旦被盯上,后果不堪设想。 “这些数据包……”路容开口,声音刻意保持平静,“它们的负载格式,你分析过吗?” 周哲愣了一下,然后摇头:“加密太强,我解不开。只能看到外层协议头。” 路容移动鼠标,点开一个数据包的十六进制视图。屏幕上出现密密麻麻的字符和数字,普通人根本看不懂。但路容能看懂——这是她的专业。她快速扫过那些字节,脑子里自动解析结构。 “你看这里。”她指着其中一段,“这个字节序列,0x1a0x3f0x8e……这是某种商业数据脱敏模板的标识头。我在行业报告里见过类似的格式。” 周哲凑近屏幕,眯起眼睛看。 “商业数据脱敏模板?”他重复了一遍,语气疑惑,“但那应该是公开的技术标准,为什么要用自定义加密?” 路容沉默了几秒。 然后她说:“也许……有人不想让这些数据被轻易识别。” 周哲的身体僵了一下。 他抬起头,看着路容。他的眼睛里闪过一道光,像是突然明白了什么,但又不敢确信。他的嘴唇动了动,想说什么,但最终没有说出口。 空气变得很安静。 只有电脑风扇运转的嗡嗡声,还有远处中央空调管道里传来的、微弱的气流声。茶水间的冰箱突然启动,发出低沉的震动,然后又归于平静。窗外的天色已经完全暗下来,城市的灯光透过玻璃照进来,在办公桌上投下模糊的光斑。 路容能闻到周哲身上传来的、淡淡的汗味和咖啡味,还有电脑硬件散发出的、那种特有的塑料和金属加热后的气味。她能感觉到自己的心跳,在胸腔里沉重地跳动,一下,又一下。 “周工。”她终于开口,声音很轻,“你可以查查近期行业数据泄露事件的报告。有些案例里,泄露的数据就是用了类似的脱敏模板,然后通过非法渠道流出的。” 周哲盯着她。 他的眼神很复杂,有困惑,有警惕,还有一丝感激。他点了点头,没有说话。 路容知道,她的话已经种下了种子。周哲会去查,会去对比,会发现这些数据包的特征,跟某些非法数据交易案例高度吻合。他会意识到,这不是简单的违规操作,而是犯罪。 但她也知道,她把周哲拖进了危险里。 “这件事……”周哲突然开口,声音沙哑,“先不要告诉任何人。” 路容点头:“我明白。” 周哲深吸一口气,然后开始关闭窗口,清理痕迹。他的动作很熟练,显然是经常做这种事。路容回到自己的工位,坐下,打开电脑,假装继续工作。但她的手指在键盘上悬停,一个字也敲不出来。 她能听见周哲收拾东西的声音——拉上背包拉链,椅子推动,脚步声走向门口。然后脚步声停下。 “若溪。”周哲的声音从门口传来。 路容抬起头。 周哲站在门口,背光,看不清表情。但他的声音很清晰:“谢谢。” 然后他转身离开。 脚步声在走廊里渐渐远去,最终消失。 办公室里只剩下路容一个人。 她坐在椅子上,一动不动。屏幕的光映在她脸上,把她的眼睛照得一片幽蓝。她能听见自己的呼吸,能听见电脑风扇的嗡鸣,能听见远处电梯运行的机械声。空气里的温度越来越低,她的手臂上起了一层细密的鸡皮疙瘩。 她低下头,看着自己的手。 手指在微微颤抖。 她知道,她刚刚做了一件极其危险的事。她引导周哲走向了真相,也走向了悬崖。如果周哲继续调查,如果他被李剑发现,如果…… 路容闭上眼睛。 她能感觉到眼眶在发热,但她没有让眼泪流下来。她深吸一口气,然后睁开眼睛,打开抽屉,拿出那个帆布午餐袋。防水袋就在里面,黑色的,没有任何标识。她把它拿出来,握在手里。 u盘的轮廓很清晰。 使用说明的纸张很薄。 她知道,她必须加快速度了。周哲的发现,意味着李剑的交易还在继续,而且留下了可追踪的痕迹。她必须尽快登录“暗网枢纽”,找到“深蓝之影”的交易记录,拿到确凿证据。 然后,在周哲陷入太深之前,结束这一切。 路容把防水袋放回抽屉,锁上。然后她关掉电脑,站起来,走向门口。走廊里的灯已经熄了一半,光线昏暗。她的高跟鞋敲击在地面上,发出清晰的声响,在空旷的走廊里回荡,像某种孤独的节拍。 她走到电梯间,按下下行按钮。 电梯门打开,里面空无一人。 她走进去,按下1层。 电梯缓缓下降。 金属箱体发出轻微的摩擦声,像某种古老的叹息。路容盯着楼层数字跳动,脑子里只有一个念头: 时间,不多了。 第29章:良心的重量 第29章:良心的重量(第1/2页) 三天后的傍晚,六点四十分。 星耀集团二十八层天台。 路容推开厚重的防火门时,一股强劲的风立刻灌了进来,吹得她几乎站立不稳。她下意识地抓住门框,手指触到冰冷的金属,上面还残留着白天太阳晒过的余温。天台上空旷得令人心悸,只有几排通风管道和中央空调外机在暮色中投下巨大的、扭曲的阴影。风在管道缝隙间呼啸,发出呜呜的声响,像某种被困住的野兽在低吼。 周哲背对着她,站在天台边缘的护栏旁。 他穿着深蓝色的衬衫,袖子挽到手肘,领带松垮地挂在脖子上,被风吹得向后飘起。夕阳正沉入城市西边的天际线,把天空染成一片浓烈的、近乎病态的暗红色,云层被镶上金边,又迅速褪成铁灰。城市华灯初上,无数窗户亮起星星点点的光,街道上车流如织,尾灯连成一条条流动的红河。但这一切都显得遥远而虚幻,像隔着一层厚厚的玻璃。 路容关上门,风声小了一些。 她走向周哲,高跟鞋踩在粗糙的水泥地面上,发出细碎的声响。空气里弥漫着城市特有的混合气味——汽车尾气的微酸、远处餐饮街飘来的油烟、还有高空特有的、稀薄而凛冽的寒意。她的手臂立刻起了一层鸡皮疙瘩。 “周工。”她轻声说。 周哲没有回头。 他盯着远处的城市,肩膀绷得很紧,像一张拉满的弓。路容走到他身边,隔着大约一米的距离停下。从这个角度,她能看见他的侧脸——下巴紧绷,嘴唇抿成一条直线,眼窝深陷,眼下有浓重的青黑色阴影。他手里紧紧攥着一个东西,黑色的,长方形,在暮色中看不清楚。 “你来了。”周哲的声音很哑,像砂纸磨过木头。 路容点头,尽管他看不见。她把手搭在冰凉的护栏上,金属的寒意立刻透过掌心传来。护栏很高,到她胸口的位置,上面刷着已经斑驳脱落的灰色防锈漆。她低头往下看,二十八层的高度让地面的一切都变得渺小,行人如蚁,车辆如玩具。一阵更强的风刮过,吹乱了她的头发,几缕发丝粘在嘴唇上,带着洗发水的淡淡香气。 “这几天……”周哲终于转过头,看向她。 路容看清了他的脸。 他的脸色比三天前在办公室里时更加难看,不是苍白,而是一种灰败的、毫无生气的颜色。眼睛里有血丝,瞳孔深处有一种近乎崩溃的混乱。他看着她,嘴唇动了动,似乎想说什么,却又咽了回去。然后他举起手里的东西——那是一个黑色的加密u盘,金属外壳在夕阳余晖中反射出冰冷的光。 “我查了。”他说,声音很轻,但每个字都像用尽了力气,“我查了所有能查到的资料。行业数据泄露案例、技术白皮书、安全公司的分析报告……还有,我调取了公司过去三年的防火墙日志,做了交叉比对。” 他停下来,深吸一口气。风把他额前的头发吹得凌乱,露出光洁的额头,上面有细密的汗珠。 “那些数据包……”周哲的声音开始颤抖,“不是普通的测试数据,也不是什么‘合作伙伴共享’。它们使用了非标准的加密协议,跳过了公司所有的数据脱敏流程,直接从‘深蓝计划’的核心服务器流出,流向……”他顿了顿,喉结滚动,“流向三个不同的境外ip地址。其中一个在开曼群岛,一个在塞舌尔,还有一个……在俄罗斯。” 路容的心脏猛地一缩。 她早就知道,但亲耳听到周哲说出来,那种感觉还是不一样。她能感觉到自己的呼吸变快了,胸口发紧。她强迫自己保持平静,手指紧紧扣住护栏,指甲陷进斑驳的漆皮里。 “技术特征……”周哲继续说,他的语速越来越快,像在背诵一篇早已烂熟于心的报告,“数据包结构符合商业数据交易的标准模板,但加密方式很特殊——是‘暗影’系列变种,这种加密通常只出现在……黑市交易里。而且,流出的时间点很有规律,每月的十五号和三十号,凌晨两点到四点之间。这个时间段,公司的数据监控系统会进行例行维护,日志记录会有十五分钟的盲区。” 他转过头,死死盯着路容。 “你知道这意味着什么吗?”他的声音里有一种近乎绝望的尖锐,“这意味着,做这件事的人,不仅知道‘深蓝计划’的核心数据架构,知道公司的安全漏洞,还知道监控系统的维护时间表。这只能是内部的人,而且……是高层。” 风突然停了。 有那么几秒钟,天台陷入一种诡异的寂静。远处城市的喧嚣被隔绝在百米高空之下,只剩下两人粗重的呼吸声。路容能听见自己的心跳,咚咚,咚咚,像擂鼓一样撞击着胸腔。她能闻到周哲身上传来的味道——汗水、焦虑,还有一丝若有若无的咖啡苦味。 “我……”周哲的声音突然低了下去,他低下头,看着手里的u盘,“我这几天没睡好。一闭上眼睛,就是那些数据包,那些红色的箭头,那些境外ip。我在想,这些数据流出去,会变成什么?会被用来训练什么样的ai?会被卖给什么样的公司?或者……更糟。” 他抬起头,眼睛里有一种路容从未见过的痛苦。 “我入职星耀五年了。”周哲说,声音很轻,像在自言自语,“从实习生做起,一点点爬到现在的位置。我父母都是普通工人,他们供我读书不容易。我妹妹还在上大学,学费……是我在付。这份工作,对我来说,不只是工作。” 他握紧u盘,指节发白。 “如果我举报……”他顿了顿,喉结再次滚动,“如果我拿着这些证据,去找董事会,或者去报警……会怎么样?李剑是副总裁,他在公司经营了十几年,人脉根深蒂固。王总监是他的心腹,赵律师……赵律师会有一百种方法把这件事说成是‘技术误解’或者‘合规瑕疵’。而我呢?” 周哲笑了,那笑容比哭还难看。 “我会变成一个‘诬告上司’、‘破坏公司声誉’的麻烦员工。我的职业生涯会彻底完蛋。没有公司会要一个举报前东家的人,不管真相是什么。我可能会被起诉,可能会赔钱,可能会……连我妹妹的学费都付不起。” 他的声音开始哽咽。 “可是……”他闭上眼睛,深吸一口气,再睁开时,眼眶已经红了,“可是如果我不举报呢?如果我就当没看见,继续做我的技术骨干,拿我的高薪,付我妹妹的学费……那我和那些帮凶有什么区别?那些数据,那些可能被用来作恶的数据,会一直流出去。会有更多的人受害。而我……我会在每一个深夜醒来,问自己:周哲,你还是个人吗?” 风又刮了起来,比刚才更猛。 路容的头发被彻底吹乱,发丝抽打在脸上,有点疼。她看着周哲,看着这个正直的、痛苦的、被逼到悬崖边的男人,感觉自己的心脏像被一只无形的手攥紧,拧转,疼得她几乎无法呼吸。 愧疚。 那是铺天盖地的愧疚,像冰冷的潮水一样淹没她。是她,是她引导周哲去查的。是她,在明知危险的情况下,还是把线索抛给了他。是她,利用了他的正直,利用了他的专业能力,利用了他对她的那一点信任。 因为她需要证据。 因为她要复仇。 而周哲,成了她复仇路上最顺手、也最无辜的一枚棋子。 (本章未完,请点击下一页继续阅读)第29章:良心的重量(第2/2页) “若溪。”周哲突然叫她的名字,声音里带着一种近乎哀求的脆弱,“如果是你……你会怎么做?” 路容张了张嘴。 她想说话,但喉咙像被什么东西堵住了,发不出声音。风灌进她的嘴里,带着高空特有的干燥和寒意。她能感觉到自己的嘴唇在颤抖,手指在护栏上抠得更紧,指甲几乎要折断。 她该说什么? 告诉他,举报吧,为了正义?可她知道那意味着什么——意味着周哲的人生会被毁掉,而李剑很可能依然逍遥法外。告诉他,算了吧,保护好自己?那她就是在亲手扼杀他的良心,让他变成自己最厌恶的那种人。 而她,一个满口谎言、心怀叵测的潜伏者,有什么资格给他建议? “我……”路容终于发出声音,那声音嘶哑得连她自己都陌生,“我不知道。” 她低下头,不敢看周哲的眼睛。 “我不知道该怎么做。”她重复道,声音越来越低,“这件事……太复杂了。牵扯的人太多,风险太大。我……我没有经历过你这样的处境,我没有资格告诉你该怎么做。” 这是真话。 也是谎言。 周哲看着她,看了很久。暮色越来越深,天空从暗红变成深紫,最后沉入一种近乎墨黑的蓝色。城市的灯光更加密集,像一片倒悬的星河。风还在呼啸,但似乎温柔了一些,带着夜晚的凉意。 “你知道吗。”周哲突然说,声音平静了一些,“我这几天一直在想,如果这件事发生在别人身上,我会怎么劝他。我会说,举报吧,不能纵容犯罪。我会说,良心比工作重要。我会说……很多冠冕堂皇的话。” 他苦笑。 “可是轮到我自己,我才知道,那些话有多轻飘飘。良心是有重量的,若溪。它很重,重到可以压垮一个人的人生。” 路容抬起头。 周哲正看着她,眼睛里有一种她看不懂的情绪——不是愤怒,不是指责,而是一种深沉的、近乎悲悯的理解。 “我不怪你。”他说,声音很轻,“那天在办公室,你提醒我去查那些数据包的特征……你是对的。如果我没有查,我可能一辈子都不会知道这件事,可以心安理得地继续过日子。但那样……我就不是我了。” 他把u盘递过来。 路容没有接。 “这是什么?”她问,声音干涩。 “备份。”周哲说,“那部分异常数据流的完整日志,还有抓包文件。我做了三重加密,密码……”他顿了顿,“密码是你入职那天的日期,倒序。” 路容的心脏猛地一跳。 她入职那天的日期。那是“若溪”的入职日期,不是路容的。周哲在用这种方式,把证据托付给“她”,托付给这个他认识不到两个月的同事。 “为什么给我?”路容听见自己问。 周哲笑了笑,那笑容很疲惫,但很干净。 “因为我相信你。”他说,“我相信,如果你是我,你会做出正确的选择。也许不是现在,也许不是用我期待的方式……但你会。” 他把u盘塞进路容手里。 金属外壳还带着他的体温,温热的,但很快就在夜风中变凉。路容握紧它,感觉那小小的方块重如千钧。她能感觉到u盘边缘的棱角,能感觉到上面细微的划痕,能感觉到……周哲托付过来的,不仅仅是一份证据,还有他的信任,他的良心,他的人生。 “我不知道该怎么办。”周哲重复道,转身面向城市,背对着她,“但我觉得……应该留下证据。万一……万一有一天,有人需要它呢?” 他没有说“万一我出事”,但路容听懂了。 她的眼眶突然发热。 她死死咬住下唇,不让眼泪流下来。风刮过脸颊,带走皮肤表面的温度,留下冰冷的刺痛。她能闻到周哲身上传来的、越来越淡的体温气息,能听见他压抑的呼吸声,能感觉到自己手里那个u盘沉甸甸的重量。 “周工……”她开口,却不知道能说什么。 “回去吧。”周哲没有回头,“天黑了,风大。” 路容站在原地,看着他的背影。他站在天台边缘,衬衫被风吹得紧贴在身上,勾勒出瘦削的肩胛骨轮廓。暮色彻底吞没了他,他变成一道剪影,孤独地立在城市上空,像一座即将被黑暗吞噬的灯塔。 她最终转身,推开防火门,走进楼梯间。 门在身后关上,隔绝了风声,隔绝了夜色,也隔绝了周哲。楼梯间里很安静,只有安全出口标志发出幽绿的荧光,把墙壁染成一种诡异的颜色。路容靠在门上,闭上眼睛,深深吸了一口气。 空气里有灰尘和旧油漆的味道。 她握紧手里的u盘,金属棱角硌得掌心生疼。 然后她睁开眼睛,走下楼梯。脚步声在空旷的楼梯间里回荡,一声,一声,像某种倒计时。她走到二十七层,推开防火门,走进办公区。大部分同事已经下班,只有零星几个工位还亮着灯。她穿过走廊,回到自己的工位,坐下。 电脑屏幕是黑的。 她盯着屏幕里倒映出的自己的脸——模糊的,扭曲的,眼睛里有一种她不敢深究的情绪。她打开抽屉,拿出那个帆布午餐袋,把u盘放进去,和之前老吴给她的防水袋放在一起。 两个u盘。 两个秘密。 两个……被她拖进危险漩涡的人。 路容关上抽屉,锁好。然后她打开电脑,登录系统,开始处理一些无关紧要的邮件。她的手指在键盘上移动,敲出毫无意义的句子,眼睛盯着屏幕,但什么也看不进去。时间一分一秒过去,窗外的天色彻底黑透,办公室里的灯一盏盏熄灭。 九点十七分。 路容关掉电脑,收拾东西,离开办公室。 她坐电梯下楼,穿过一楼大厅,走出玻璃门。夜晚的凉风扑面而来,带着汽车尾气和远处餐饮街飘来的食物香气。她站在台阶上,看着眼前车流如织的街道,霓虹灯把每个人的脸都照得光怪陆离。 手机震动了一下。 路容拿出来,屏幕亮起,是一条加密信息。 发件人:周哲。 内容只有一行字: “我备份了那部分异常数据流的完整日志和抓包文件。我不知道该怎么办,但我觉得应该留下证据。” 路容盯着那行字。 屏幕的光映在她脸上,把她的眼睛照得一片幽蓝。她能感觉到自己的眼眶在发热,能感觉到喉咙里涌起的酸涩,能感觉到心脏那种被攥紧的疼痛。她抬起头,看向二十八层天台的方向。 那里一片黑暗。 只有城市的光污染在夜空中晕开一片模糊的、病态的橙红。 她知道,自己把周哲拖进了一个危险的漩涡。而她,必须在他被彻底卷进去之前,结束这一切。 路容把手机放回口袋,转身,走向地铁站的方向。她的影子被路灯拉得很长,在光滑的地砖上扭曲变形,最终融入城市夜晚无边无际的阴影里。 第30章:黑市入口 第30章:黑市入口(第1/2页) 雨水在玻璃窗上划出细密的、不断变换的轨迹。 路容坐在出租屋的书桌前,盯着窗外深港市被雨幕模糊的夜景。已经是深夜十一点四十七分,整栋楼安静得只剩下空调外机低沉的嗡鸣和雨水敲打窗沿的滴答声。空气里弥漫着潮湿的霉味,混合着桌上那杯早已凉透的速溶咖啡残留的焦苦气息。 她面前并排放着两台笔记本电脑。 左边那台是“干净”的私人电脑,屏幕暗着,键盘上落了一层薄灰。右边那台是经过老吴工具包处理的虚拟机环境,外壳上贴着一张便利贴,上面用潦草的字迹写着几行指令和注意事项。桌面上,周哲托付的那个黑色加密u盘静静地躺在鼠标垫旁,金属外壳反射着台灯昏黄的光,像一只沉默的眼睛。 路容深吸一口气。 她先拿起u盘,插进左边那台私人电脑的usb接口。电脑屏幕亮起,系统提示检测到新设备。她没有立刻打开,而是先拔掉网线,关闭wi-fi,确认所有网络连接都已切断。然后她打开一个完全离线的文本编辑器,输入周哲告诉她的密码——若溪入职日期的倒序数字。 密码正确。 u盘里只有一个文件夹,命名为“log_2023_09_15”。路容点开,里面是三个文件:一个超过500mb的完整日志文件,一个压缩过的抓包数据包,还有一个简短的文本说明。她先打开文本说明。 “若溪:这是过去三个月内,从星耀内部服务器流向外部不明地址的所有异常数据流记录。时间戳精确到毫秒,源ip已做脱敏处理,但目标ip和端口号保留。数据包大小、加密特征指纹、传输协议都在日志里。抓包文件包含原始数据包样本,需要专业工具解析。我对比了行业标准的数据交易模式,匹配度超过87%。这不是偶然泄露。这不是技术故障。这是有计划的、持续性的非法交易。我不知道该怎么办,但我觉得你应该知道。——周哲” 路容盯着屏幕上的字。 台灯的光从侧面照过来,把她的脸分割成明暗两半。她能感觉到自己的心跳在加速,血液冲上耳膜,发出嗡嗡的声响。她移动鼠标,点开那个巨大的日志文件。 屏幕上瞬间弹出密密麻麻的数据行。 时间戳、源地址、目标地址、数据包大小、协议类型、加密算法标识……每一行都像一把冰冷的刀,切割着星耀集团光鲜亮丽的外壳。路容滚动鼠标,目光快速扫过那些数字和代码。她看到了规律——每周三和周五的凌晨两点到四点之间,数据流量会突然激增;目标地址分布在十几个不同的国家和地区,但有几个ip段反复出现;数据包大小惊人地一致,都是经过精心分割的标准大小,显然是便于打包出售。 她打开抓包文件,用离线版的wireshark加载。 屏幕上跳出数据包的十六进制视图和解析后的协议树。路容放大其中几个数据包,查看载荷部分的加密特征。她认出了那种加密模式——一种在商业数据黑市上流行的、专门用于保护交易数据的混合算法。她曾经在天启科技参与过反数据泄露项目时研究过这种模式。 证据。 铁证。 路容关掉所有文件,拔出u盘。她的手在微微颤抖,不是因为恐惧,而是因为一种近乎沸腾的愤怒。三年前,李剑用伪造的数据泄露案毁了她的人生。三年后,这个人还在继续,用更隐蔽、更系统的方式,把成千上万用户的隐私数据变成比特币账户里的数字。 她闭上眼睛,深呼吸。 潮湿的空气涌入肺叶,带着出租屋特有的、挥之不去的霉味。她能听见自己的心跳声,沉稳而有力,像某种战鼓。再睁开眼睛时,她眼里的最后一丝犹豫已经消失。 是时候了。 路容转向右边那台笔记本电脑,按下电源键。屏幕亮起,显示出一个完全陌生的操作系统界面——这是老吴为她定制的虚拟机环境,预装了多重伪装ip链、反追踪脚本、以及一系列用于暗网访问的工具。桌面上只有一个图标,黑色的,形状像一座扭曲的塔楼,下面标注着“入口”。 她移动鼠标,双击图标。 屏幕暗了一瞬,然后跳出一个全黑的窗口。窗口中央浮现出一行白色的文字,用的是某种古老的等宽字体: “正在初始化伪装层……请稍候。” 文字下方,一个进度条开始缓慢移动。路容盯着屏幕,手指无意识地在桌面上敲击。她能听见电脑风扇开始加速旋转的声音,低沉而持续,像某种野兽在低吼。窗外,雨下得更大了,雨水拍打玻璃的声响变得密集而急促,像无数细小的手指在敲打。 进度条走到尽头。 黑色窗口消失,取而代之的是一个全新的界面。 路容屏住了呼吸。 屏幕被分割成三个区域。左侧是一个不断滚动的聊天窗口,里面充斥着各种她看不懂的暗语和加密后的字符串,偶尔跳出几张模糊的、令人不安的图片,又迅速消失。右侧是一个交易列表,条目密密麻麻,标题都是简短的代号和价格——有的用美元标价,有的用比特币,有的用其他加密货币。中央区域是主界面,背景是一片深邃的、不断流动的暗红色,像凝固的血,又像某种活体的内部。 这就是“暗网枢纽”。 路容移动鼠标,光标在屏幕上划过。她能感觉到这个界面的诡异——每一个按钮、每一个链接都设计得扭曲而刻意,仿佛在刻意挑衅正常人的视觉习惯。背景里隐约有低沉的、循环播放的电子音效,像是从很远的地方传来的心跳,又像是某种机器的嗡鸣。 她先检查伪装状态。 屏幕右上角有一个小小的状态面板,显示着当前使用的伪装ip链:节点1(荷兰)→节点2(新加坡)→节点3(巴西)→节点4(日本)。每一个节点后面都跟着绿色的“活跃”标识。反追踪脚本的运行状态也是绿色,日志显示过去五分钟内拦截了十七次试探性扫描。 安全。 暂时安全。 路容把注意力转回交易列表。列表太长了,一眼望不到底。她尝试滚动,条目以惊人的速度刷新,每一秒都有新的交易上架或下架。标题五花八门:“金融数据库-2023年最新”“医疗记录包-未脱敏”“政府证件模板全套”“ddos攻击服务-按小时计费”…… 她感到一阵恶心。 这不是虚拟世界。这是真实世界的阴影面,是所有光鲜亮丽背后的脓疮。每一行交易记录背后,都是成千上万人的隐私被践踏,都是法律和道德被明码标价。 路容摇摇头,把情绪压下去。 她开始在搜索栏输入关键词。第一个词:“深蓝”。 按下回车。 屏幕闪烁了一下,交易列表迅速刷新,条目数量从数万骤降到几百。路容快速浏览,大部分都是无关的内容——深蓝币(某种加密货币)、深蓝网络(某个黑客组织)、深蓝协议(某种加密通信标准)…… 没有“深蓝之影”。 她清空搜索栏,输入第二个词:“星耀”。 这次的结果更少,只有几十条。路容一条条点开查看,大部分都是关于星耀集团股票的讨论,或者是一些无关紧要的内部八卦。她注意到其中有一条交易,标题是“星耀内部通讯录-2023年最新”,标价0.5比特币。她点开详情,发现只是某个部门的部分员工名单,信息陈旧,显然不是她要找的。 路容靠在椅背上,揉了揉太阳穴。 台灯的光把她的影子投在身后的墙壁上,巨大而扭曲。窗外的雨声似乎小了一些,但风还在呼啸,吹得窗框微微震动。她端起那杯凉透的咖啡,喝了一口,苦涩的液体滑过喉咙,带来一丝清醒。 她需要更精确的关键词。 路容重新坐直,打开周哲提供的日志文件,快速浏览那些异常数据流的特征。她注意到几个反复出现的模式:数据包大小总是128kb的整数倍;加密算法标识里有一个特殊的十六进制后缀“0xfe”;传输协议在标准tcp之上,还叠加了一层自定义的封装…… 她把这些特征记下来。 然后她回到暗网枢纽的搜索界面,开始尝试组合搜索。第一次尝试:“深蓝星耀数据包”。没有结果。第二次尝试:“ai训练数据128kb封装”。这次跳出十几条交易,但都是公开的数据集,来源合法。 路容咬住下唇。 她能感觉到时间在流逝。每一次搜索,每一次页面刷新,都在增加暴露的风险。老吴的工具包能提供伪装,但不能保证绝对安全。暗网枢纽这种地方,肯定有自己的一套安全监控机制,任何异常行为都可能触发警报。 她深吸一口气,决定尝试最后一个组合。 输入:“0xfe封装用户行为模型”。 按下回车。 屏幕暗了一瞬。 然后,交易列表刷新了。 路容的身体前倾,眼睛紧紧盯着屏幕。列表上只有三条交易记录,每一条的标题都简短而隐晦: “ai训练数据切片-批次23-09a” “用户行为模型-脱敏版-2023q3” “商业数据包-深蓝系列-最新” 第三条。 路容的鼠标悬停在第三条记录上。她能感觉到自己的手心在出汗,握住鼠标的指尖微微发粘。她点击那条记录。 详情页面加载出来。 背景还是那片暗红色,但中央区域显示出了更详细的信息。标题下方有一行小字:“卖家:深蓝之影”。旁边是卖家的信誉评分——五颗星,满分。交易历史显示,这个卖家在过去六个月内完成了四十七笔交易,总成交额超过1200比特币。 路容滚动页面。 下面是交易详情。商品描述:“高质量商业数据包,来源可靠,包含用户画像、行为模式、消费偏好等多维度数据。已做基础脱敏处理,但保留原始数据结构。适用于ai模型训练、精准营销、风险控制等场景。” 数据包大小:128kbx1500 加密方式:aes-256+自定义封装(标识0xfe) 传输记录:分批次出售,最近一次交易时间:2023年9月12日 买家反馈:全部五星好评,匿名评价“数据质量极高”“物超所值” 路容继续往下翻。 页面底部有一个“历史交易记录”的折叠区域。她点击展开。 列表弹出来,密密麻麻,足足有几十行。每一行都是一个时间戳、一个数据包编号、一个成交价格。路容快速浏览,发现这些交易从今年三月开始,几乎每周都有。价格从最初的每个数据包0.05比特币,逐渐涨到现在的0.08比特币。按照这个价格计算,光是这几个月,李剑——或者说“深蓝之影”——就已经通过这个平台非法获利超过900比特币。 (本章未完,请点击下一页继续阅读)第30章:黑市入口(第2/2页) 按当前币价,那是将近三千万美元。 路容感到一阵眩晕。 不是因为这数字有多大,而是因为这意味着什么。这意味着在过去半年里,星耀集团数以百万计的用户数据,被系统性地、持续性地盗取和出售。这意味着李剑不仅三年前毁了她的人生,现在还在毁掉更多人的生活。 她需要更多证据。 光有交易记录还不够。她需要看到具体的交易详情,需要获取数据包的元数据哈希,需要确认这些数据确实来自星耀,需要建立无法辩驳的证据链。 路容移动鼠标,点击最近的那条交易记录——2023年9月12日的那一笔。 页面开始加载。 进度条缓慢移动。屏幕中央显示着提示文字:“正在从分布式存储节点获取交易详情……请稍候。” 路容盯着进度条。 她能听见自己的心跳声,咚咚,咚咚,在寂静的房间里异常清晰。窗外的雨已经完全停了,但风还在吹,窗玻璃上凝结的水珠缓缓滑落,留下一道道蜿蜒的痕迹。台灯的光照在屏幕上,反射出她自己的脸——苍白的,紧绷的,眼睛里有一种近乎偏执的专注。 进度条走到70%。 突然,屏幕闪烁了一下。 不是正常的闪烁,而是一种刺眼的、不稳定的抖动,像信号受到干扰。路容皱起眉头,身体前倾。她看到进度条卡在了85%,不动了。 然后,屏幕中央弹出一个窗口。 不是交易详情页面。 是一个警告窗口。 背景是刺眼的血红色,边框是跳动的黑色锯齿。窗口中央用粗大的白色字体显示着一行字: “检测到异常访问模式,您的会话已被标记。” 字体的下方,还有一个不断倒计时的数字:10、9、8…… 路容的呼吸停滞了。 她的手指僵在鼠标上,指尖冰凉。她能感觉到血液从脸上褪去,能感觉到后背瞬间冒出的冷汗浸湿了衬衫。她盯着那个倒计时,大脑在疯狂运转。 被标记了。 怎么被发现的?是搜索模式太规律?是访问频率异常?还是伪装层有漏洞? 倒计时:5、4、3…… 没有时间思考了。 路容猛地移动鼠标,点击警告窗口的关闭按钮——没用。她又尝试按键盘上的esc键——还是没用。警告窗口顽固地停留在屏幕中央,倒计时数字无情地跳动:2、1…… 归零的瞬间,屏幕再次闪烁。 这一次,整个界面都变了。 暗红色的背景消失,取而代之的是一片冰冷的、毫无特征的深灰色。交易列表、聊天窗口、所有功能按钮全部消失。屏幕中央只剩下一个简单的命令行界面,黑色的背景,绿色的光标在闪烁。 然后,文字开始自动弹出。 “开始安全扫描……” “检测到伪装ip链:节点1(荷兰)-节点2(新加坡)-节点3(巴西)-节点4(日本)” “正在尝试反向追踪……” “节点1已屏蔽,连接丢失。” “节点2已屏蔽,连接丢失。” 路容的心脏狂跳。 她能听见电脑风扇的转速达到了极限,发出尖锐的嗡鸣。屏幕右下角,网络监控图标开始疯狂闪烁,状态栏连续弹出警报: “检测到端口扫描:22,80,443,3389……” “检测到syn洪水攻击尝试……” “伪装ip链节点3已丢失……” “节点4遭受ddos攻击,带宽占用98%……” 攻击。 密集的、专业的、毫不留情的攻击。 路容的手在颤抖。她强迫自己冷静,快速操作。她先切断了虚拟机的网络连接——但攻击没有停止,反而更加猛烈。显然,对方已经锁定了她的真实ip,或者至少锁定了她所在的ip段。 她必须断线。 彻底断线。 路容伸手按下笔记本电脑的电源键,长按。屏幕暗了下去,风扇的嗡鸣声逐渐减弱,最终消失。房间里陷入一片死寂,只有她自己的呼吸声,急促而粗重。 她坐在黑暗中,盯着那台已经关机的电脑。 窗外的风还在吹,远处传来救护车的鸣笛声,由远及近,又由远及去。墙壁上的挂钟滴答作响,指针指向凌晨一点零九分。 路容缓缓吐出一口气。 她站起来,走到窗边,拉开窗帘。深港市的夜景展现在眼前——无数高楼亮着灯,街道上车流稀疏,霓虹招牌在潮湿的空气里晕开一片片模糊的光晕。这座城市看起来如此平静,如此正常。 但就在刚才,就在这间小小的出租屋里,她刚刚从一场数字世界的追杀中逃脱。 不,不是逃脱。 是被发现了。 路容转过身,背靠着冰凉的窗玻璃。她能感觉到玻璃上传来的寒意,能感觉到自己后背的衬衫已经被冷汗完全浸湿,紧贴在皮肤上,又冷又黏。 她看向书桌上那台关机的笔记本电脑。 黑色的外壳,沉默的屏幕,像一具尸体。 她知道,暗网调查这条路,暂时走不通了。对方的安全机制比她预想的更严密,反应速度比她预想的更快。她不仅没有拿到交易详情的证据,反而暴露了自己——或者至少,暴露了“某个试图调查深蓝之影的人”。 接下来会发生什么? 李剑的团队会收到警报吗?他们会开始内部排查吗?他们会怀疑到谁身上?周哲?还是其他可能知情的人? 路容闭上眼睛。 脑海里浮现出周哲站在天台上的背影,衬衫被风吹得紧贴在身上,孤独得像一座即将被黑暗吞噬的灯塔。还有他说的那句话:“我不知道该怎么办,但我觉得应该留下证据。” 证据。 她已经有了一部分证据——周哲给的u盘。但那只是内部证据,只能证明有异常数据流,不能直接指向李剑,更不能证明这些数据被非法出售。 她还需要外部证据。 暗网枢纽的交易记录,就是最直接的外部证据。但现在,这条路被堵死了。 除非…… 路容睁开眼睛。 她走到书桌前,重新坐下。没有开灯,只有窗外透进来的城市夜光,把房间照成一片朦胧的蓝灰色。她盯着那台关机的笔记本电脑,手指无意识地在桌面上敲击。 哒,哒,哒。 缓慢而规律。 一个想法在她脑海里逐渐成形。 一个危险的想法。 一个可能需要她付出更大代价的想法。 但也许,是唯一能同时保护周哲、又能拿到证据的办法。 路容伸手,拿起桌上那个黑色的加密u盘。金属外壳在昏暗的光线里反射着微弱的冷光。她握紧它,棱角硌得掌心生疼。 然后她站起来,走到房间角落,蹲下身,撬开一块松动的地板砖。 下面是一个小小的隐藏空间。 里面放着几样东西:一个备用的预付费手机,几张不记名的交通卡,一小叠现金,还有——一个更小的、用防水袋密封的u盘。 那是三年前,她从天启科技带出来的东西。 里面是她私下备份的、能证明自己清白和李剑可疑操作的部分原始数据碎片。这是她复仇火种的唯一来源,是她三年来从未向任何人展示过的最后底牌。 路容拿出那个u盘。 防水袋在手里发出细微的塑料摩擦声。她盯着它,看了很久。然后,她把它和那个黑色加密u盘放在一起。 两个u盘。 两个秘密。 两个……她原本打算永远分开保存的东西。 但现在,也许需要让它们见面了。 路容把两个u盘都放回隐藏空间,盖好地板砖。她站起来,走到窗边,再次看向窗外的城市。 雨已经完全停了。 云层散开了一些,露出几颗稀疏的星星,在深港市严重的光污染中,显得黯淡而勉强。远处,一栋高楼的楼顶,红色的航空障碍灯在缓慢闪烁,一下,一下,像某种心跳。 路容知道,她需要帮助。 一个人的力量,已经不够了。 她需要有人能帮她分析这些证据,需要有人能帮她制定下一步计划,需要有人能……在她可能失败的时候,继续这件事。 她拿起那个备用的预付费手机,开机。 屏幕亮起,显示着空白的通讯录。她输入一个号码——那是沈薇给她的紧急联络方式,一个只能使用一次、用完即焚的加密通信通道。 她开始编辑信息。 手指在冰冷的塑料键盘上移动,敲出一个一个的字。每敲一个字,她都能感觉到自己的决心在变得更加坚定,也能感觉到某种东西在离她远去——也许是最后一点侥幸,也许是最后一点对“全身而退”的幻想。 信息编辑完成。 她检查了一遍,确认没有暴露任何关键信息,没有提到任何具体人名,只是用约定的暗语表达了“需要见面,紧急,涉及核心证据”的意思。 然后,她按下发送键。 屏幕显示“发送成功”,然后自动开始删除程序。三秒钟后,手机自动关机,再也无法启动。路容把它拆开,取出sim卡,折断,扔进马桶冲走。手机本体被她用锤子砸碎,碎片分装进几个垃圾袋,准备明天分散扔到不同的公共垃圾桶。 做完这一切,她回到窗边。 天边开始泛起一丝极淡的灰白色,像稀释过的牛奶。凌晨三点四十七分,夜晚最深的时刻已经过去,黎明正在逼近。 路容靠在窗框上,闭上眼睛。 她能感觉到疲惫像潮水一样涌上来,淹没了她的四肢,她的脊椎,她的大脑。但她不能睡。她需要等沈薇的回复,需要思考下一步,需要在李剑可能已经察觉的阴影下,找到新的突破口。 风从窗缝里钻进来,带着凌晨特有的、清冽的寒意。 路容打了个寒颤。 她睁开眼睛,看向书桌上那台关机的笔记本电脑。黑色的屏幕像一面镜子,倒映出她自己的脸——苍白,疲惫,但眼睛里有一种她熟悉的东西。 那是三年前,她从废墟里爬出来时,眼睛里就有的东西。 那是火。 从未熄灭的火。 第31章:追猎与反击 第31章:追猎与反击(第1/2页) 路容盯着手机屏幕上那条没有主题的会议通知,指尖在冰凉的玻璃屏幕上停留了整整三秒。 窗外的路灯在潮湿的石板路上投下昏黄的光晕,那些光晕被雨水打散,像融化的黄油。巷子深处传来几声野猫的嘶叫,尖锐而短暂,随即被雨声吞没。路容把手机屏幕按灭,黑色的镜面倒映出她自己的脸——苍白,紧绷,眼睛里有一种她熟悉的东西正在重新凝聚。 那不是恐惧。 那是三年前,她从“天启科技”那间会议室里走出来时,眼睛里就有的东西。 那是火。 她站起身,咖啡杯里的残渣已经凝固成深褐色的泥状物。金属勺还躺在烟灰缸边缘,反射着咖啡馆里昏暗的灯光。路容拿起包,没有再看窗外一眼,转身走向后门。 按照约定,她应该从前门离开。 但她改了主意。 后门通向一条更窄的巷子,两侧是堆积的杂物和散发着霉味的垃圾桶。雨水顺着屋檐滴落,在积水中砸出一个个细小的漩涡。路容把外套的帽子拉起来,遮住大半张脸,快步穿过巷子。她的脚步声在湿滑的石板路上发出轻微的啪嗒声,与雨声混在一起。 十五分钟后,她回到出租屋。 楼道里的声控灯坏了,她摸黑爬上三楼,钥匙插进锁孔时,金属摩擦的声音在寂静中显得格外刺耳。门开了,一股熟悉的、混合着灰尘和旧纸张的气味扑面而来。路容没有开大灯,只按亮了书桌上的台灯。 昏黄的光圈照亮了桌面。 两台笔记本电脑并排放着。左边那台私人电脑的屏幕暗着,右边那台虚拟机环境的电脑还保持着关机状态。路容盯着它们,呼吸在不知不觉中变得缓慢而沉重。 她坐下来。 手指放在虚拟机电脑的电源键上,停顿。 窗外的雨声似乎变大了,密集的雨点敲打着玻璃,发出噼里啪啦的声响。路容能感觉到自己的心跳,一下,一下,沉重地撞击着胸腔。她闭上眼睛,深吸一口气,然后按下电源键。 电脑启动的嗡鸣声在寂静的房间里响起。 屏幕亮起,显示着虚拟机系统的登录界面。路容输入密码,进入桌面。她先检查网络连接状态——所有连接都已切断,这是她昨晚紧急断线时做的第一件事。然后她打开系统日志查看器。 手指在触摸板上滑动。 屏幕上的日志文件一行一行地滚动。路容的目光像扫描仪一样扫过那些代码和时间戳,寻找异常记录。她的呼吸越来越慢,几乎要停止。 找到了。 凌晨两点十七分,系统记录到一次来自外部ip的异常连接尝试。两点十九分,第二次。两点二十一分,第三次。每一次尝试都伴随着密集的端口扫描和暴力破解攻击。攻击频率高得惊人,手法专业,目标明确——就是要突破伪装系统,定位到真实设备。 路容的指尖开始发凉。 她继续往下翻。日志显示,攻击持续了整整七分钟,直到她切断所有网络连接。在这七分钟里,系统记录了超过三百次攻击尝试,来自十七个不同的ip地址。 她打开ip追踪工具,输入那些攻击源的地址。 工具开始运行,屏幕上的进度条缓慢移动。路容盯着它,能听到自己血液在耳膜里流动的声音,像潮水,一波一波。窗外的雨声似乎远了,房间里只剩下电脑风扇的嗡鸣和她的呼吸。 进度条走到尽头。 结果弹出来。 路容的目光落在屏幕上,瞳孔在那一瞬间收缩。 十七个攻击源ip中,有五个来自深港市本地的ip段。她太熟悉这些ip段了——星耀集团的企业内网使用的就是这几个段。不仅如此,其中两个ip的归属地显示为“星耀科技大厦数据中心”,还有一个显示为“星耀集团网络安全部备用服务器”。 她的手指无意识地收紧,指甲陷进掌心。 疼痛让她清醒。 这不是巧合。这不可能是巧合。攻击源与星耀集团的网络段重叠,甚至直接指向集团内部的服务器。这意味着什么? 意味着李剑的团队,不仅在进行非法数据交易,还在监控甚至参与黑市交易平台的安全防护。 意味着“暗网枢纽”那个平台,很可能有星耀内部的人在做安全维护。 意味着她昨晚的探查,触发的不仅是平台的安全警报,还有李剑团队自己的监控系统。 路容靠在椅背上,闭上眼睛。 房间里很冷。老旧的空调早就坏了,窗缝里钻进来的风带着雨水的湿气,贴在她的皮肤上,像一层冰冷的薄膜。她能闻到空气中弥漫的灰尘味,能听到雨水顺着外墙管道流淌的哗啦声,能感觉到心脏在胸腔里沉重地跳动,每一次跳动都带着某种钝痛。 她睁开眼睛,看向书桌角落。 那里放着一部老式的功能手机,屏幕很小,键盘是实体按键。那是老吴给她的备用通讯设备,只能通过加密短信联系,每次使用后必须更换sim卡。 路容拿起手机,开机。 屏幕亮起蓝光,在昏暗的房间里显得刺眼。她输入老吴给的号码,开始编辑短信。手指在小小的按键上移动,每按一下都发出清脆的咔嗒声。 “遭遇攻击。攻击源ip与星耀内网段重叠。需要确认。” 她按下发送键。 屏幕显示“发送成功”。路容立刻关机,取出sim卡,折断,扔进桌上的烟灰缸里。然后她从抽屉里拿出打火机,按下开关。 火苗窜起来,橙黄色的光在昏暗的房间里跳动。 她把折断的sim卡碎片放在火苗上。塑料燃烧的气味瞬间弥漫开来,刺鼻,带着化学品的酸味。碎片在火焰中蜷缩,变黑,最后化成一撮灰烬。 路容吹灭火苗。 房间里重新陷入昏暗,只有台灯的光圈还亮着。她盯着烟灰缸里的灰烬,看了很久。然后她重新拿出一张新的sim卡,装进手机,开机。 等待。 时间一分一秒地过去。窗外的雨声渐渐小了,变成细密的淅沥声。远处传来汽车驶过积水路面的哗啦声,由远及近,又由远及去。路容坐在椅子上,一动不动,像一尊雕塑。 手机震动了一下。 屏幕亮起,显示一条新短信。路容点开。 “收到。正在分析。三分钟后回复。” 她盯着那行字,呼吸变得平稳了一些。老吴还在线。这意味着至少到目前为止,老吴还没有暴露,或者说,还没有被牵连。 三分钟。 路容站起来,走到窗边。雨已经停了,云层散开了一些,露出深港市夜晚特有的、被光污染染成暗红色的天空。街道上的积水反射着路灯的光,像一面面破碎的镜子。远处,星耀科技大厦的楼顶依然亮着灯,那栋玻璃幕墙的建筑在夜色中像一把插入地面的银色利剑。 她看着那栋楼。 三年前,她曾经在那栋楼里拥有自己的办公室,靠窗的位置,能看到整个深港市的夜景。那时候她以为,那就是她人生的顶峰。那时候她不知道,顶峰之后就是悬崖。 手机又震动了一下。 路容转身,快步走回书桌前。屏幕上的短信只有一行字: “攻击模式确认。包含星耀内部安全团队惯用的三种端口扫描组合和两种暴力破解算法变体。其中一种算法变体是李剑团队去年自主研发的,未公开。建议:立即停止所有与‘若溪’身份相关的网络操作。你的伪装系统可能已被标记。重复:可能已被标记。” 路容盯着屏幕,呼吸在那一瞬间停滞。 房间里的空气似乎变得更冷了。她能感觉到寒意从脚底升起,顺着脊椎爬上来,一直爬到后颈。窗外的风声变得清晰,穿过窗缝时发出细微的呜咽。 (本章未完,请点击下一页继续阅读)第31章:追猎与反击(第2/2页) 她打字回复: “标记意味着什么?” 发送,关机,换卡,销毁。 等待。 这次等待的时间更长。路容能听到自己的心跳,在寂静中像鼓点一样清晰。她看向书桌上的两台电脑,看向那个黑色加密u盘,看向地板砖下隐藏的空间。所有这些东西,所有她积累的证据,所有她计划的未来,现在都可能因为一次探查而暴露。 手机震动。 新短信: “标记意味着你的设备特征码可能已被记录。下次使用相同或类似特征的环境登录任何受监控的平台,都可能触发二次警报。更严重的是,如果对方有足够的资源,他们可能尝试反向追踪到你的物理位置。虽然我提供的伪装系统有多层防护,但无法保证绝对安全。建议:暂停所有外部调查。至少两周。” 路容的手指在手机键盘上停顿。 两周。 她等不了两周。李剑的非法交易每天都在进行,更多的用户数据在被贩卖,更多的钱在流入那个“深蓝之影”的账户。而且,周哲还在星耀内部,每天面对着李剑和王总监,每天处于危险之中。两周时间,足够发生太多变故。 她打字: “有没有其他路径?” 发送,关机,换卡,销毁。 等待。 窗外的天色开始泛白。凌晨四点三十七分,夜晚最深沉的时刻已经过去,黎明正在逼近。路容能听到远处传来早班公交车启动的引擎声,能听到楼下早点铺拉卷帘门的哗啦声。城市正在醒来,而她还坐在这个昏暗的房间里,等待一个可能决定她命运的回答。 手机震动。 最后一条短信: “外部路径暂时封死。内部路径风险更高,但如果你有可靠的内应,或许可以尝试从数据泄露的源头入手。但警告:这需要极高的权限和极强的隐蔽性。一旦暴露,后果不堪设想。另外,我这边可能也需要暂时低调。李剑团队如果发现攻击来自深港本地,可能会启动内部排查。我是it部门的老人,但也不是绝对安全。保重。” 短信结束。 路容盯着屏幕,看了整整十秒。然后她关机,取出sim卡,折断,扔进烟灰缸。这次她没有烧掉,而是倒了一点水,看着塑料碎片在水里慢慢沉底。 她靠在椅背上,闭上眼睛。 老吴的警告在脑海里回响:外部路径暂时封死。内部路径风险更高。一旦暴露,后果不堪设想。 后果。 路容知道那是什么后果。三年前她已经经历过一次——身败名裂,众叛亲离,从行业新贵沦为无人问津的“职场幽灵”。如果这次再暴露,如果李剑发现“若溪”就是路容,发现她在调查他…… 那就不只是身败名裂了。 那可能是牢狱之灾。可能是真正的、彻底的毁灭。 窗外的天色越来越亮。灰白色的光从窗帘缝隙里钻进来,在书桌上投下一道细长的光带。光带里,灰尘在缓慢地漂浮、旋转,像微观世界里的星系。 路容睁开眼睛。 她的目光落在书桌上,落在那个黑色加密u盘上。周哲托付给她的证据。完整的异常数据流记录。那些时间戳,那些目标ip,那些加密特征指纹。 然后她的目光移向地板。 那块松动的地板砖下,藏着另一个u盘。三年前她备份的原始数据碎片。那些能证明她清白、也能证明李剑可疑操作的碎片。 两个u盘。 两个秘密。 她原本打算,等拿到暗网交易记录的确凿证据后,再把这两个u盘的数据整合起来,形成完整的证据链。但现在,暗网路径被封死了。 她需要新的计划。 路容站起来,走到窗边。天已经完全亮了,深港市在晨光中苏醒。街道上开始出现行人,早点铺冒出白色的蒸汽,公交车载着睡眼惺忪的上班族驶过积水未干的路面。 她看着这一切,目光平静。 一个计划在她心中慢慢成形。 痛苦,但可能更有效。 如果无法从外部获取交易记录,那就从内部制造证据。如果无法直接扳倒李剑,那就先制造混乱,制造怀疑,制造让李剑不得不自乱阵脚的局势。 而要做到这一点,她需要周哲的帮助。 不是像之前那样,只是接收周哲被动提供的证据。而是主动地、有计划地引导周哲,让他成为计划的一部分。让他整理证据,让他分析数据,让他……在不知不觉中,成为刺向李剑的刀。 路容知道这很残忍。 周哲信任她。周哲把职业生涯和人身安全都托付给了她。而现在,她要把周哲更深地拖进这个漩涡,让他承担更大的风险。 但她没有选择。 时间不等人。李剑的警惕性已经提高,内部排查可能已经开始。她必须行动,必须在他反应过来之前,打出下一张牌。 路容转身,走回书桌前。 她打开左边那台私人电脑,新建一个文档。手指在键盘上移动,开始编写一个故事。一个关于“若溪”因为向行业媒体提供建议而被公司误会、被严密监控、害怕被报复的故事。一个需要周哲帮助、需要更确凿证据来保护自己的故事。 她写得很慢,每一个字都仔细斟酌。 她要让这个故事听起来真实,让周哲相信。她要让周哲的正义感和保护欲被激发,让他主动提出帮忙。她要让周哲觉得,他是在拯救一个无辜的、脆弱的同事。 而不是在参与一场复仇。 路容写完最后一个字,保存文档。 屏幕上的文字在晨光中显得清晰而冰冷。她看着那些字,能感觉到某种东西在胸腔里碎裂,发出细微的、只有她能听到的声响。 那是愧疚。 但她把愧疚压下去,压到心底最深处。现在不是愧疚的时候。现在是战斗的时候。 她关掉电脑,站起来。 窗外的阳光已经完全照进房间,把整个书桌都笼罩在明亮的光线里。灰尘在光柱中飞舞,像一场无声的狂欢。路容走到镜子前,看着镜子里的人。 苍白,疲惫,但眼睛里的火还在燃烧。 她整理了一下头发,整理了一下衣领。然后她拿起包,走向门口。 手放在门把手上时,她停顿了一下。 回头看了一眼这个房间。昏暗,杂乱,充满灰尘和旧纸张的气味。这是她潜伏的巢穴,是她计划的起点,也可能……是她失败的终点。 但她没有再多想。 她拉开门,走了出去。 楼道里的声控灯依然坏着,她摸黑下楼。走出楼门时,清晨的阳光刺得她眯起眼睛。街道上已经热闹起来,早点铺的香味飘过来,混合着雨后清新的空气。 路容深吸一口气,走向公交站。 她要去公司。要去参加那个没有主题的部门会议。要去面对王总监,面对李剑可能已经启动的排查。要去……执行她的新计划。 公交车来了,她上车,投币,找了一个靠窗的位置坐下。 车子启动,驶向星耀科技大厦。 路容看着窗外飞速后退的街景,手指无意识地收紧。她能感觉到心跳在加速,能感觉到血液在沸腾。但她的脸上没有任何表情,只有平静。 绝对的平静。 因为猎人,已经准备好了下一次出击。 第32章:主动的“求助” 第32章:主动的“求助”(第1/2页) 公交车在星耀科技大厦前的站台停下。路容随着人流下车,清晨的阳光照在集团高耸的玻璃幕墙上,反射出刺眼的白光。她抬头看向那栋建筑,十七楼数据分析部的窗户在阳光下像一排排沉默的眼睛。大厦入口处,穿着制服的保安正在检查员工的工牌,动作比往常更慢,更仔细。路容握紧手中的工牌,塑料边缘硌着掌心。她能感觉到某种东西在空气中弥漫——不是雨后的清新,而是一种紧绷的、沉默的警惕。她深吸一口气,迈步走向旋转门。玻璃门映出她的身影,苍白,平静,眼睛里燃烧着冰冷的火焰。 电梯里挤满了人。 西装革履的男人,妆容精致的女人,空气中混合着咖啡、香水、以及某种难以形容的焦虑气味。路容站在角落,背靠着冰冷的金属壁,能感觉到周围人的呼吸声——急促的,压抑的,带着早晨的疲惫。电梯数字一层层跳动,十七楼到了。门开时,一股更浓郁的咖啡香扑面而来。 数据分析部的办公区已经亮起了大半的灯。 路容走向自己的工位,脚步很轻。她能听到键盘敲击声,比平时更密集,更用力。几个同事聚在茶水间门口低声交谈,声音压得很低,像怕惊动什么。她经过时,那些声音突然停了。几道目光落在她身上,短暂,锐利,然后迅速移开。 “若溪,早啊。” 林晓从旁边工位探出头,脸上挂着笑容,但眼睛里没有笑意。她的手指无意识地敲着桌面,发出轻微的哒哒声。 “早。”路容回以微笑,声音平静。 她放下包,打开电脑。屏幕亮起,显示着登录界面。她输入密码,手指在键盘上移动时,能感觉到指尖的微颤。她强迫自己稳住呼吸,按下回车键。 桌面加载出来。 一切看起来都很正常。邮件图标在闪烁,日程表提醒着九点的部门会议。路容点开邮件,一封封浏览——都是常规的工作通知,没有异常。但她知道,有些东西不会在邮件里显示。 她打开系统日志查看器。 手指在触摸板上滑动,屏幕上的代码一行行滚动。路容的目光像扫描仪一样扫过那些记录,寻找任何异常。她的呼吸越来越慢,几乎要停止。 找到了。 凌晨三点四十二分,系统记录到一次来自内网管理端的远程访问。访问时长十七秒,没有操作记录,只有连接和断开。路容盯着那行记录,能感觉到后背渗出细密的冷汗。 这是排查开始的信号。 她关掉日志查看器,打开工作文档。手指放在键盘上,却一个字也打不出来。她能感觉到某种目光——不是来自某个具体的人,而是来自这个空间本身。来自天花板角落的摄像头,来自网络流量的监控节点,来自那些沉默的、正在观察的眼睛。 九点整,王总监从办公室走出来。 高跟鞋敲击地面的声音清脆而规律,像某种倒计时。办公区里所有的键盘声都停了,所有人都抬起头。王总监走到办公区中央,双手抱胸,目光扫过每一个人。 “所有人,会议室,现在。” 她的声音不高,但每个字都像冰锥。 路容站起身,跟着人群走向会议室。她能感觉到周哲走在她斜后方,距离很近,能听到他轻微的呼吸声。她没有回头,只是把背挺得更直。 会议室里已经坐满了人。 长条桌两侧,二十多张面孔在日光灯下显得苍白而紧绷。空调的冷风从头顶吹下来,带着轻微的嗡鸣声。路容找了个靠墙的位置坐下,周哲在她旁边落座。她能闻到他身上淡淡的洗衣液香味,混合着会议室里陈旧的纸张气味。 王总监走到会议桌前,没有坐下。 她双手撑在桌面上,身体前倾,目光像探照灯一样扫过每个人的脸。 “今天开会,只有一个主题。” 她的声音在寂静的会议室里回荡。 “数据安全。” 路容感觉到自己的手指在桌下收紧。指甲陷进掌心,带来细微的刺痛感。她保持着脸部的平静,目光直视前方,像所有认真听讲的员工一样。 “最近,公司监测到一些异常的网络访问行为。”王总监继续说,语速很慢,每个字都像在斟酌,“来自外部,也来自内部。” 她停顿了一下。 空调的嗡鸣声突然变得格外清晰。 “李总亲自指示,要全面排查。”王总监的目光在会议室里缓缓移动,“所有员工,所有设备,所有数据访问记录,都要重新审查。这不是针对某个人,这是为了公司的安全。” 她顿了顿,声音压低。 “但如果有人……做了不该做的事。” 她的目光在路容脸上停留了半秒。 “现在自首,还能争取宽大处理。” 会议室里一片死寂。 路容能听到自己的心跳声,沉重,缓慢,像某种古老的鼓点。她能感觉到旁边周哲的身体微微绷紧,呼吸声变得急促。她强迫自己放松肩膀,保持自然的坐姿。 “从今天开始,所有对外数据传输都需要三级审批。”王总监直起身,双手抱胸,“所有员工的电脑,会分批安装新的安全监控软件。这不是不信任大家,这是必要的防护措施。” 她看向技术组的负责人。 “老吴,你们it部配合。” 坐在角落的老吴点了点头,脸上没有任何表情。他的手指在桌面上轻轻敲了两下,节奏很轻,但路容注意到了。那是摩斯电码——一个简单的“c”,代表“小心”。 会议持续了四十分钟。 王总监详细说明了新的安全规定,每一条都像枷锁,一层层套在每个人身上。路容认真听着,偶尔在笔记本上记录,像所有尽职的员工一样。但她的大脑在高速运转,分析每一条规定背后的意图,评估自己计划的可行性。 会议结束时,已经是九点四十分。 人群陆续离开会议室,脚步声凌乱而匆忙。路容收拾好笔记本,站起身。她能感觉到王总监的目光还停留在她背上,像某种无形的重量。 “若溪。” 周哲的声音在身后响起,很轻。 路容转过身。周哲站在她面前,脸色有些苍白,眼睛里带着明显的担忧。他的手指无意识地摩挲着笔记本的边缘,纸张发出细微的沙沙声。 “你……没事吧?”他问,声音压得很低。 路容看着他,突然意识到,这是一个机会。 她垂下眼睛,让睫毛在脸颊上投下浅浅的阴影。她的肩膀微微塌下去,整个人看起来比平时小了一圈。 “我……”她开口,声音里带着一丝颤抖,“周哲,我……可能遇到大麻烦了。” 周哲的瞳孔微微收缩。 “什么麻烦?” 路容抬起头,眼睛里已经蒙上了一层水雾。她咬住下唇,像在努力控制情绪。 “下班后……能找个地方聊聊吗?”她的声音很轻,几乎要被走廊里的脚步声淹没,“就我们两个。” 周哲盯着她看了几秒,然后点头。 “好。老地方?” “老地方。” *** 下午六点十分,公司附近的“时光咖啡馆”。 路容推开门,门铃发出清脆的叮当声。咖啡馆里弥漫着浓郁的咖啡豆香气,混合着烤面包的甜味和旧木头的陈腐气息。角落里有人在低声交谈,声音模糊得像背景噪音。路容走向靠窗的位置——那是她和周哲之前常坐的地方。 周哲已经到了。 他坐在窗边,面前放着一杯已经凉了的拿铁。窗外的夕阳透过玻璃照进来,在他脸上投下斑驳的光影。他低着头,手指无意识地转动着咖啡杯的把手,陶瓷与桌面摩擦发出细微的吱呀声。 路容走过去,在他对面坐下。 木椅发出轻微的嘎吱声。周哲抬起头,看到她时,眼睛里闪过一丝复杂的情绪——担忧,关切,还有某种……她不敢深究的东西。 “你来了。”他说,声音有些干涩。 路容点点头,把包放在旁边的椅子上。服务生走过来,她点了一杯热美式。等服务生离开后,她才重新看向周哲。 夕阳的光线正好照在她脸上。 她让自己看起来尽可能脆弱——眼睛微微发红,嘴唇没有血色,手指在桌面上轻轻颤抖。这不是完全伪装,她确实很累,压力很大,但此刻,她把这些情绪放大了十倍。 “周哲,”她开口,声音里带着明显的哽咽,“我……我不知道该怎么办了。” 周哲的身体前倾,手肘撑在桌面上。 “到底发生了什么?” 路容深吸一口气,像在积蓄勇气。她的手指在桌面上蜷缩起来,指甲抵着掌心。 “你还记得……之前那篇关于‘深蓝计划’的行业报道吗?”她问,声音很轻,“沈薇写的那篇。” 周哲点头。 “记得。那篇文章揭露了‘深蓝计划’数据采集流程的问题,还提到了可能的伦理风险。” (本章未完,请点击下一页继续阅读)第32章:主动的“求助”(第2/2页) “那篇文章……有一部分灵感,是我提供的。”路容说,声音越来越小,“匿名提供的。” 周哲愣住了。 他的眼睛睁大,嘴唇微微张开。咖啡馆里的音乐正好换了一首,轻柔的钢琴曲流淌在空气中,与咖啡机的蒸汽声混在一起。 “你……为什么?”他问,声音里带着困惑。 路容垂下头,让长发遮住半边脸。 “我当时……只是觉得,那些流程有问题。”她的声音颤抖着,“数据采集的边界模糊,用户知情权被忽视,我觉得……应该有人知道。所以我匿名联系了沈薇,提供了一些优化建议的思路。我以为……这不会有什么问题。” 她抬起头,眼睛里已经蓄满了泪水。 “但现在,公司开始排查了。”她的声音里带着真实的恐惧,“王总监在会议上说的那些话……我感觉,他们可能怀疑我了。我感觉……我被监控了。” 她从包里拿出自己的笔记本电脑,打开。 屏幕亮起,她调出一个系统日志文件,推到周哲面前。 “你看这个。” 周哲接过电脑,目光落在屏幕上。他的眉头渐渐皱紧,手指在触摸板上滑动,浏览着那些记录。 “这是……”他低声说。 “远程访问记录。”路容的声音在颤抖,“凌晨三点多,来自内网管理端。还有这些……”她指向另一处,“这些是网络流量监控节点的标记。我的电脑……被安装了新的监控软件。” 周哲盯着屏幕,脸色越来越难看。 他的手指在键盘上敲击了几下,调出更详细的系统信息。他的呼吸变得急促,眼睛里闪过愤怒的光芒。 “这是违规的。”他咬着牙说,“没有通知,没有授权,这是非法监控。” “我知道。”路容的声音里带着哭腔,“但我能怎么办?去质问王总监?去投诉?周哲,我只是个新人,我……我害怕。” 她伸出手,抓住周哲的手腕。 她的手指冰凉,颤抖得厉害。周哲能感觉到她掌心的冷汗,能感觉到她身体的战栗。这不是伪装,这是真实的恐惧——对暴露的恐惧,对失败的恐惧,对失去一切的恐惧。 “我害怕他们会像三年前那样……”路容的声音破碎了,“构陷我,毁掉我。我害怕……我会变成第二个路容。” 周哲的身体猛地一震。 他盯着她,眼睛里闪过震惊、痛苦,还有某种她无法解读的情绪。他的手指收紧,反手握住了她的手。他的掌心很暖,带着薄茧,粗糙而真实。 “不会的。”他的声音很低,但很坚定,“我不会让那种事发生。” 路容的眼泪终于掉下来。 一滴,两滴,落在桌面上,晕开深色的水渍。她低下头,肩膀微微颤抖,像一只受伤的小动物。夕阳的光线照在她身上,把她整个人笼罩在一种脆弱的光晕里。 “可是……我该怎么办?”她哽咽着问,“如果他们已经怀疑我了,如果他们已经准备好证据了……我该怎么办?” 周哲沉默了很久。 咖啡馆里的音乐还在继续,钢琴曲轻柔而悲伤。窗外的天色渐渐暗下来,街灯一盏盏亮起,在玻璃上投下昏黄的光斑。服务生送来路容的美式咖啡,热气升腾,带着苦涩的香气。 等服务生离开后,周哲才开口。 他的声音很轻,但每个字都像经过深思熟虑。 “若溪,你听我说。”他松开她的手,身体前倾,压低声音,“如果你真的被怀疑了,如果你真的面临被构陷的风险……那么,你需要反击。” 路容抬起头,泪眼朦胧地看着他。 “反击?” “对。”周哲的眼神变得锐利,“你不能被动等待。你需要……更强大的武器。” 他顿了顿,像在权衡什么。 “我之前给你的那些证据,只是碎片。”他继续说,“它们能证明‘深蓝计划’有问题,能证明数据在非法外流,但它们……还不够致命。它们可以被解释,可以被掩盖,可以被推给‘技术故障’或者‘个别员工的违规操作’。” 路容的心脏开始狂跳。 她强迫自己保持平静,只是用那双含泪的眼睛看着他。 “那……什么才是致命的证据?” 周哲深吸一口气。 “完整的证据链。”他说,“从数据采集,到非法处理,到境外传输,到最终交易。每一个环节,都要有无法抵赖的记录。时间戳,ip地址,数据包内容,交易记录……所有这些,要能串联起来,指向一个明确的、无法推卸的责任人。” 他的声音越来越低,几乎变成耳语。 “我……我备份了一些东西。比之前给你的更多,更详细。但我需要时间,把它们整理出来,梳理成逻辑严密的报告。我需要……让任何人都无法否认,这是系统性的、有组织的非法行为。” 路容感觉到自己的呼吸在颤抖。 这不是表演,这是真实的激动——她的计划,成功了。 “你……愿意帮我?”她问,声音里带着难以置信的期待。 周哲看着她,看了很久。 夕阳的最后一点余晖照在他脸上,把他眼睛里的挣扎照得清清楚楚。路容能看到他在权衡——正义感,保护欲,对公司的忠诚,对自身安危的担忧……所有这些,在他心里激烈地交战。 然后,他点了点头。 “我愿意。”他的声音很轻,但很坚定,“但我需要时间。一周,也许更久。而且……这件事,只有我们两个人知道。绝对不能告诉第三个人,明白吗?” 路容用力点头。 眼泪又掉下来,但这次,是混合着愧疚和感激的泪水。她抓住周哲的手,握得很紧。 “谢谢你。”她的声音哽咽,“周哲,真的……谢谢你。” 周哲反握住她的手,掌心温暖而有力。 “别怕。”他说,“我会保护你。” 路容低下头,不敢看他的眼睛。 她能感觉到胸腔里有什么东西在碎裂,发出细微的、只有她能听到的声响。那是愧疚,是自我厌恶,是某种她不敢承认的疼痛。但她把所有这些都压下去,压到心底最深处。 现在不是愧疚的时候。 现在是战斗的时候。 她抬起头,擦掉眼泪,露出一个脆弱的微笑。 “那我们……接下来该怎么做?” 周哲松开她的手,从口袋里拿出手机。 “我先送你回家。”他说,“然后,我会开始整理那些东西。你什么都不要做,保持正常的工作状态,不要引起任何怀疑。等我准备好,我会联系你。” 路容点头。 “好。” 他们离开咖啡馆时,天已经完全黑了。 街道上灯火通明,车流穿梭,鸣笛声此起彼伏。晚风带着凉意吹过来,路容裹紧了外套。周哲走在她身边,距离很近,近到能闻到他身上淡淡的咖啡香。 “若溪。”他突然开口。 路容转过头。 周哲看着她,眼睛里有一种她从未见过的认真。 “不管发生什么,”他说,“我都会站在你这边。” 路容感觉到喉咙发紧。 她想说些什么,但所有的话都卡在喉咙里,变成无声的哽咽。她只能点头,用力地点头。 周哲送她到地铁站入口。 “路上小心。”他说。 “你也是。” 路容转身走进地铁站,没有回头。她能感觉到周哲的目光还停留在她背上,温暖,沉重,像某种她无法承受的馈赠。 她走下楼梯,汇入拥挤的人流。 地铁站里弥漫着汗味、香水味、还有地下空间特有的潮湿气味。广播在播报列车到站信息,声音在空旷的站厅里回荡。路容走到站台边缘,看着隧道深处逐渐亮起的车灯。 列车进站,带起一阵风。 她的长发被吹起,遮住了半边脸。在发丝的缝隙里,她看到玻璃窗上自己的倒影——苍白,疲惫,眼睛里燃烧着冰冷的火焰。 车门打开,她走进去。 车厢里挤满了人,她找了个角落站着,背靠着冰冷的金属壁。列车启动,加速,隧道墙壁上的灯光飞速后退,在车窗上拉出一道道流动的光带。 路容闭上眼睛。 她能感觉到列车在轨道上行驶的震动,能听到周围人低声交谈的声音,能闻到空气中混合的各种气味。但所有这些,都像隔着一层玻璃,遥远而不真实。 只有周哲那句话,在她脑海里反复回响。 “不管发生什么,我都会站在你这边。” 她睁开眼睛,看着车窗上自己的倒影。 倒影里的女人也在看着她,眼睛里有一种她不敢承认的疼痛。 第33章:证据链的锻造 第33章:证据链的锻造(第1/2页) 路容回到出租屋时已是晚上八点。她没有开灯,在黑暗中走到窗边。楼下街道车流如织,尾灯拉出一道道红色的光带。她想起周哲说“我会保护你”时的眼神,那么认真,那么温暖。她把手放在玻璃上,掌心感受到夜晚的凉意。手机在口袋里震动,是周哲发来的消息:“已开始整理。一切小心。”路容盯着那行字,指尖在冰凉的屏幕上停留了很久,最终没有回复。她转身走向书桌,在黑暗中打开电脑。屏幕的光照亮了她的脸,苍白,平静,眼睛里有一种她不敢承认的疼痛。 三天后。 晚上九点十七分,周哲的公寓。 书房里只开着一盏台灯,暖黄色的光在书桌上投下一个椭圆的光圈。两台笔记本电脑并排打开,屏幕上的代码和数据流分析界面在黑暗中发出幽蓝的光。窗外是深港市的夜景,霓虹灯光在高楼间流动,在玻璃窗上投下模糊的、不断变幻的光斑。 周哲坐在书桌前,手指在键盘上快速敲击。 他的眼镜镜片上反射着屏幕的光,额前的碎发有些凌乱。书桌上散落着几张打印出来的网络拓扑图,上面用红笔标注着复杂的箭头和注释。空气里弥漫着咖啡的苦香——桌角放着一个空了的马克杯,杯底残留着深褐色的痕迹。 路容坐在他旁边的椅子上。 她穿着简单的灰色针织衫和牛仔裤,头发松松地扎在脑后,几缕碎发垂在脸颊旁。她的膝盖上放着自己的笔记本电脑,屏幕上显示着星耀集团公开的数据产品目录。她看起来像个认真学习的实习生,眼睛里带着恰到好处的好奇和专注。 但她的心跳很快。 她能听到自己血液流动的声音,在耳膜里形成低沉的轰鸣。她能闻到空气中除了咖啡香之外的另一种气味——纸张的油墨味,电子设备发热时散发的塑料味,还有周哲身上淡淡的洗衣液清香。她的指尖在触摸板上轻轻滑动,屏幕上的页面一页页翻过。 “这是上周三凌晨的数据包抓取记录。” 周哲的声音打破了沉默。他的手指在触摸板上滑动,调出一个复杂的日志文件界面。屏幕上密密麻麻地排列着时间戳、源ip、目标ip、数据包大小等信息,绿色的字符在黑色背景上流动,像某种神秘的咒语。 路容凑近了一些。 她的肩膀几乎碰到周哲的手臂,能感觉到他衬衫布料下传来的体温。她强迫自己把注意力集中在屏幕上。 “你看这里。”周哲用鼠标指针圈出一行记录,“凌晨两点十四分,内网服务器172.16.8.203向境外ip198.51.100.23发送了三个数据包,每个包大小都在50mb左右。发送完成后,连接立即断开。” 路容盯着那行记录。 她的呼吸变得很轻,很慢。她能感觉到后颈的汗毛竖了起来。 “这有什么问题吗?”她问,声音里带着恰到好处的困惑。 “问题很大。”周哲推了推眼镜,手指在键盘上敲了几下,调出另一个窗口,“首先,172.16.8.203是数据分析部的测试服务器,按理说不会在凌晨两点有生产数据传输。其次,这个境外ip——” 他顿了顿,手指在触摸板上滑动,打开了一个ip查询网站。 页面加载出来,显示出一串信息。 “——注册地在开曼群岛,属于一家叫‘星辰数据’的空壳公司。我查了这家公司的公开记录,注册资本只有一万美金,没有实际办公地址,没有员工信息,只有一个虚拟的注册代理。” 路容感觉到喉咙发干。 她拿起桌上的一瓶矿泉水,拧开瓶盖喝了一口。冰凉的液体滑过喉咙,稍微缓解了那种干燥感。她能听到瓶盖拧紧时塑料摩擦的细微声响。 “所以……这是非法数据传输?”她问,声音放得很轻。 “至少是高度可疑的。”周哲说,他的眉头皱了起来,“而且这不是孤例。我回溯了过去三个月的日志,发现了十七次类似的传输记录。时间都在凌晨一点到四点之间,目标ip每次都不同,但都指向境外,而且都是这种空壳公司。” 他调出另一个文件。 屏幕上出现了一个表格,列出了十七次传输的时间、源ip、目标ip、数据包大小。周哲用红色高亮标注了其中几次。 “更可疑的是,”他的声音压低了一些,“这十七次传输中,有九次的数据包大小,和我们部门当月发布的某个数据产品的样本量高度吻合。” 路容的心脏猛地一跳。 她强迫自己保持平静,手指在膝盖上轻轻敲击,模仿着思考时的无意识动作。 “你是说……有人把公司的数据产品,偷偷卖给了境外的空壳公司?” “这是最合理的解释。”周哲说,他的声音里有一种压抑的愤怒,“而且操作者很专业。他们用了跳板服务器,数据包经过多层加密,传输完成后会立即清除日志记录。如果不是我上个月在做性能测试时偶然抓取到原始流量,根本发现不了。” 路容沉默了几秒。 窗外的城市灯光在玻璃上流动,远处传来隐约的警笛声,像某种不祥的背景音。她能听到空调出风口吹出的暖风,发出低沉的嗡嗡声。 “那……我们能做什么?”她问,声音里带着恰到好处的无助。 周哲转过头看着她。 台灯的光照在他的侧脸上,勾勒出清晰的轮廓。他的眼睛里有一种复杂的情绪——愤怒,决心,还有一丝不易察觉的恐惧。 “我需要整理一份完整的分析报告。”他说,“不只是这些日志记录,我还要尝试追踪这些境外ip的真实归属,分析数据包的内容特征,建立完整的证据链。如果这真的是非法数据交易,我们必须把它曝光。” 路容感觉到胸腔里有什么东西在收紧。 她看着周哲的眼睛,那双眼睛里燃烧着正义感的火焰。那么纯粹,那么炽热。而她知道自己即将做的事情——引导他,利用他,把他推向更危险的境地。 愧疚像冰冷的潮水一样涌上来。 但她把它压下去了。用力地,残忍地压下去了。 “我能帮忙吗?”她问,声音很轻,“我……我想学习。我想知道该怎么分析这些数据。” 周哲愣了一下,然后笑了。 那是一个很温暖的笑容,眼睛里闪烁着欣慰的光。 “当然可以。”他说,“其实我正需要帮手。这些数据量太大了,我一个人处理可能需要好几周。如果你愿意帮忙整理基础资料,进度会快很多。” 路容点头,脸上露出一个感激的微笑。 “谢谢你,周哲。” “该说谢谢的是我。”周哲说,他的声音变得柔和,“谢谢你愿意相信我,愿意站出来。” 路容低下头,假装在整理自己的电脑。 她不敢看他的眼睛。 接下来的两个小时,两人陷入了紧张的工作。 周哲负责技术难度较高的部分——他尝试对捕获的数据包进行解密分析,虽然大部分内容都被高级加密算法保护,但他还是从一些协议头信息中提取出了关键特征。路容则负责整理和归类——她把周哲之前备份的所有日志文件按照时间顺序排列,标注出每一次可疑传输的关键参数,制作成清晰的表格。 书房里只剩下键盘敲击声和鼠标点击声。 偶尔会有周哲低声解释技术细节的声音,或者路容提出问题的轻柔询问。台灯的光在书桌上形成一个温暖的光圈,把两人笼罩在其中。窗外的城市渐渐安静下来,霓虹灯光依旧闪烁,但车流声变得稀疏。 路容的指尖在键盘上快速移动。 她打开一个加密文件夹,里面存放着她从“破晓”联盟报告和“鼹鼠”信息中提取的关键参数。这些参数经过了她的精心处理——抹去了来源痕迹,调整了格式,看起来就像是从公开数据中分析得出的结论。 “周哲,”她轻声开口,“我刚刚在整理这些境外ip的时候,发现了一个规律。” 周哲转过头。 “什么规律?” 路容把电脑屏幕转向他。屏幕上显示着一个表格,列出了九个境外ip的注册信息、活跃时间、以及接收数据包的特征。 “你看,”她的手指在屏幕上滑动,“这九个ip虽然注册地不同,但它们的活跃时间有很强的相关性。每次星耀集团发布新的数据产品后一周内,这些ip中至少有一个会接收到大量数据包。而且接收时间都在产品发布的第三天或第四天。” 周哲凑近屏幕,眼镜几乎贴到显示屏上。 他的呼吸变得急促。 “等等……你是对的。”他的手指在触摸板上快速滑动,调出星耀集团过去半年的产品发布记录,“三月十五日发布‘城市交通流量预测模型v3.0’,三月十九日凌晨,ip203.0.113.45接收到三个数据包,每个包大小正好是模型样本量的三分之一。” 他的声音里充满了震惊。 路容继续引导。 “还有这个,”她打开另一个文件,里面是她整理的数据包特征分析,“我对比了这些数据包的协议头信息,发现它们都使用了同一种非标准的加密协议。这种协议的特征是——在tcp握手阶段会发送一个特殊的32位标识符,标识符的前八位总是0xde,0xad,0xbe,0xef。” 周哲猛地抬起头。 他的眼睛里闪烁着锐利的光。 “这是‘暗网枢纽’上高级数据交易常用的标识符。”他的声音压得很低,几乎像耳语,“我在一些安全论坛上看到过分析报告。这种标识符是‘深蓝之影’——那个黑市上最有名的数据贩子——常用的签名。” 空气突然变得沉重。 路容能感觉到自己的心跳在加速,血液冲上耳膜,形成低沉的轰鸣。她能闻到空气中弥漫的紧张气味——像金属,像电流,像暴风雨来临前的臭氧。 (本章未完,请点击下一页继续阅读)第33章:证据链的锻造(第2/2页) “深蓝之影?”她重复道,声音里带着恰到好处的困惑和恐惧。 周哲深吸一口气,手指在键盘上敲击,打开了一个加密的浏览器窗口。 屏幕跳转到一个暗网论坛的存档页面。 页面上显示着一篇技术分析文章,标题是《深蓝之影交易特征深度剖析》。文章里详细描述了“深蓝之影”的操作模式——他只在“暗网枢纽”最隐秘的子论坛活动,交易时使用特定的加密协议,每次交易完成后会留下一个数字签名,签名的特征就是那个0xdeadbeef的标识符。 “这篇文章是三个月前发布的,”周哲说,他的声音很严肃,“作者是一个匿名的白帽黑客。他说自己追踪‘深蓝之影’已经一年多了,但始终无法确定对方的真实身份。只知道‘深蓝之影’专门贩卖大型企业的核心数据,要价极高,客户都是境外的情报机构或商业竞争对手。” 路容感觉到后背渗出冷汗。 她的手指无意识地握紧了矿泉水瓶,塑料瓶身发出轻微的嘎吱声。 “所以……我们公司里,有人是‘深蓝之影’?” “或者至少是‘深蓝之影’的供应商。”周哲说,他关掉了暗网页面,重新调出日志文件,“如果这些数据传输真的指向‘深蓝之影’,那问题就严重了。这不再是简单的内部违规,而是有组织的商业间谍活动,涉及国家安全。” 他的声音在颤抖。 不是恐惧的颤抖,而是愤怒的颤抖。 路容看着他,看着这个坐在暖黄色台灯光圈里的男人。他的侧脸线条紧绷,嘴唇抿成一条直线,眼睛里燃烧着冰冷的火焰。那么正直,那么勇敢。那么容易被利用。 愧疚再次涌上来。 这次更强烈,更尖锐,像一把刀在胸腔里搅动。 但她还是把它压下去了。 “那我们……该怎么办?”她问,声音里带着真实的颤抖——这次不是伪装的。 周哲沉默了几秒。 他的手指在键盘上无意识地敲击,发出清脆的哒哒声。窗外的城市已经完全安静下来,只有远处偶尔传来的汽车引擎声,像某种遥远的叹息。 “继续整理证据。”他终于开口,声音坚定,“我需要把所有这些线索串联起来——可疑的传输记录,境外空壳公司,数据包与产品样本量的吻合,还有‘深蓝之影’的交易特征。我要做一份完整的分析报告,技术逻辑必须严密到无可辩驳。” 他转过头看着路容。 “若溪,你愿意继续帮我吗?这可能会很危险。如果被那些人发现我们在调查……” “我愿意。”路容打断他,声音很轻,但很坚定,“我已经在这里了。” 周哲看着她,眼睛里闪过一丝复杂的光。 有感激,有担忧,还有一种路容不敢深究的温柔。 “好。”他说,“那我们继续。” 接下来的四天,两人几乎每天晚上都在周哲的公寓工作。 路容以“学习数据分析”为名,每天下班后和周哲一起离开公司。他们会先去附近的快餐店随便吃点东西,然后回到公寓,关上门,拉上窗帘,在书房里一坐就是四五个小时。 工作进展很快。 在路容的“无意”引导下,周哲的追踪方向越来越明确。他成功破解了部分数据包的加密层,提取出了几个关键字段——这些字段的格式和星耀集团内部数据库的标识符完全一致。他还追踪到了那些境外ip的真实跳板服务器,发现其中几个服务器曾经出现在“暗网枢纽”的交易记录中。 证据链逐渐成形。 周哲开始撰写分析报告。 第四个晚上的十一点,书房里。 报告已经写到了最后一章。 周哲的电脑屏幕上显示着一个复杂的图表——时间轴、数据流、ip关联、特征匹配,所有的线索像蜘蛛网一样连接在一起,最终指向一个清晰的结论:星耀集团内部存在系统性的数据非法外流,操作者手法专业,与黑市数据贩子“深蓝之影”有高度关联,涉及公司核心数据资产,预估造成的商业损失超过八位数。 路容坐在旁边,看着屏幕上的报告。 她的心跳很平静,平静得可怕。 这份报告比她预期的更完整,更致命。周哲的技术能力超出了她的预估——他不仅整理了所有证据,还做了详细的技术分析,建立了完整的逻辑链。这份报告一旦提交,李剑绝对无法抵赖。 但她也知道,这份报告一旦提交,周哲就彻底暴露了。 他会成为李剑的眼中钉。 他会面临无法想象的危险。 “还差最后一部分。”周哲说,他的声音有些沙哑,带着连续熬夜的疲惫,“风险评估和后续建议。我在想……我们应该建议公司立即启动内部调查,封存所有相关服务器,同时报警处理。” 他的手指在键盘上停顿了一下。 “但问题是……该把这份报告交给谁?” 路容没有回答。 她看着周哲的侧脸。台灯的光照在他的脸上,勾勒出眼下的阴影——那是连续熬夜留下的痕迹。他的衬衫领口有些皱,袖口卷到手肘,露出结实的小臂。书桌上散落着空了的咖啡胶囊,空气里弥漫着浓郁的***气味。 “周哲。”她突然开口。 “嗯?” “你……后悔吗?”路容问,声音很轻,“后悔卷入这件事。” 周哲转过头看着她。 他的眼镜镜片上反射着屏幕的光,看不清眼睛里的情绪。 “不后悔。”他说,声音很坚定,“如果这是真的,就必须有人站出来。数据安全不是小事,这关系到公司的未来,也关系到……很多人的信任。” 他顿了顿,声音变得柔和。 “而且,我不想看到你被冤枉。如果那些人真的在搞非法交易,他们一定会想办法除掉所有知情者。你已经被盯上了,若溪。我不能让他们得逞。” 路容感觉到喉咙发紧。 她想说些什么,但所有的话都卡在喉咙里,变成无声的哽咽。她能听到自己血液流动的声音,在耳膜里形成低沉的轰鸣。她能闻到空气中弥漫的咖啡苦香,纸张的油墨味,还有周哲身上淡淡的汗味——那是连续工作留下的痕迹。 “报告快完成了。”周哲说,他转回头看着屏幕,手指在触摸板上滑动,“最多再需要两个小时,我就能把最后的部分写完。然后……” 他停了下来。 手指悬在键盘上方,没有落下。 书房里突然变得很安静。窗外的城市已经完全沉睡,连远处的车流声都消失了。只有空调出风口吹出的暖风,发出低沉的嗡嗡声。台灯的光在书桌上投下温暖的光圈,把两人笼罩在其中,像一个小小的、与世隔绝的孤岛。 周哲突然开口。 他的声音很轻,轻得几乎像耳语。 “若溪。” “嗯?” “如果我们把这份东西交出去,”他说,没有转头,依旧盯着屏幕,“会怎么样?” 路容感觉到心脏猛地一缩。 “什么……什么意思?” 周哲终于转过头看着她。 他的眼睛里没有了之前的坚定和愤怒,取而代之的是一种真实的、无法掩饰的忧虑。那种忧虑很深,很重,像某种沉甸甸的石头,压在他的瞳孔深处。 “我的意思是,”他的声音在颤抖,“我们……会不会有危险?” 他顿了顿,吞咽了一下,喉结上下滚动。 “我查过‘深蓝之影’的案例。三年前,天启科技也发生过类似的数据泄露事件,当时负责调查的一个技术主管……后来出了车祸。警方说是意外,但论坛上有人说,那是灭口。” 路容的呼吸停止了。 她能感觉到自己的手指在颤抖,冰冷的颤抖。她能听到血液冲上耳膜的声音,像潮水一样汹涌。她能闻到空气中弥漫的恐惧气味——像铁锈,像血腥,像死亡。 周哲看着她,眼睛里的忧虑越来越深。 “如果我们把这份报告交出去,”他继续说,声音越来越轻,“那些人一定会知道是谁在调查。他们不会坐以待毙。我……我不怕危险,但我担心你。” 他的手指无意识地握紧了鼠标,塑料外壳发出轻微的嘎吱声。 “若溪,如果我们真的这么做,你可能需要暂时离开深港市。去别的城市躲一段时间,等事情平息了再回来。我可以帮你安排,我有个朋友在杭州……” 他没有说完。 因为路容没有说话。 她只是看着他,看着这个坐在暖黄色灯光里的男人。他的眼睛里充满了真实的担忧,真实的恐惧,真实的想要保护她的欲望。那么纯粹,那么炽热。 而她知道自己即将做的事情。 她会利用这份报告,她会扳倒李剑,她会夺回一切。 但周哲会付出代价。 他可能会失去工作,可能会面临威胁,可能会……像三年前那个技术主管一样,遭遇“意外”。 愧疚像海啸一样涌上来。 这次她压不住了。 它冲垮了所有的防线,冲垮了所有的理智,冲垮了所有她用来欺骗自己的借口。它像冰冷的潮水一样淹没她,让她窒息,让她疼痛,让她想要尖叫。 她想说“为了正义”。 她想说“我们必须这么做”。 她想说“别怕,我会保护你”。 但所有的话都卡在喉咙里。 变成了沉默。 漫长的,沉重的,令人窒息的沉默。 台灯的光在书桌上投下温暖的光圈。 窗外的城市在黑暗中沉睡。 第34章:“V”的邀约 第34章:“v”的邀约(第1/2页) 周哲看着她长久的沉默,眼中的忧虑逐渐被某种理解取代。他没有再追问,只是轻轻叹了口气,转回身面对屏幕。光标在文档末尾闪烁,最后一部分建议还空着。他抬起手,手指悬在键盘上方,却没有落下。窗外的城市灯光在玻璃上投下模糊的光斑,像无数只沉默的眼睛。雨滴开始敲打窗户,发出细密的、令人不安的声响。路容盯着他僵硬的背影,能听到自己心脏在胸腔里沉重地跳动,每一次搏动都带着疼痛的共鸣。 “给我一点时间。”她的声音很轻,轻得几乎被雨声淹没。 周哲没有回头,只是点了点头。 路容站起身,膝盖有些发软。她拿起自己的背包,手指触碰到冰冷的拉链金属扣。书房里的空气变得粘稠,咖啡的苦香混合着纸张的油墨味,还有某种说不清的、令人窒息的沉重。她走到门口,手放在门把手上,冰凉的金属触感让她清醒了一些。 “明天见。”她说。 “明天见。”周哲的声音从身后传来,依旧没有回头。 路容推开门,走进黑暗的走廊。公寓的门在她身后轻轻关上,发出沉闷的咔哒声。她站在楼道里,感应灯没有亮,只有安全出口标志在远处投下幽幽的绿光。她靠在墙上,闭上眼睛,深深地吸气,再缓缓吐出。胸腔里的疼痛没有减轻,反而更加清晰。 她必须做出决定。 那份报告就在周哲的电脑里,只要点击发送,就能送到商业调查科的加密邮箱。但周哲的眼睛,他声音里的颤抖,他说的“我担心你”——这些画面像钉子一样钉在她的脑海里,每一次呼吸都牵扯着疼痛。 路容睁开眼睛,走下楼梯。 雨下得更大了。 她撑开伞,走进雨中。雨水打在伞面上发出密集的噼啪声,街道上的积水反射着霓虹灯光,破碎成无数晃动的光斑。空气里弥漫着潮湿的泥土味和汽车尾气的刺鼻气味。她走过一个十字路口,红灯在雨中晕开成一片模糊的红雾。她停下脚步,看着车流在眼前穿梭,尾灯拉出一道道红色的轨迹,像某种警告的信号。 回到出租屋时,她的裤脚已经湿透。 她没有开灯,在黑暗中脱掉湿透的外套,挂在门后的挂钩上。水滴落在地板上,发出轻微的滴答声。她走到窗边,拉开窗帘。雨还在下,玻璃上爬满蜿蜒的水痕,窗外的城市在雨幕中变得模糊而遥远,像一幅被水浸湿的油画。 路容在黑暗中站了很久。 然后她转身,走到书桌前,打开电脑。 屏幕的光在黑暗中亮起,照亮了她的脸。她的眼睛下方有淡淡的阴影,嘴唇紧抿成一条直线。她打开加密邮箱——那个她用来联系“鼹鼠”的、经过多重跳转和加密的匿名信箱。收件箱里只有几封垃圾邮件,她正准备关闭,手指却突然僵住了。 一封新邮件。 发件人id:v。 发送时间:23:47。 路容盯着那个简单的字母,心脏猛地收紧。她移动鼠标,点击邮件。页面加载,屏幕上出现了一行字: “想看清‘深蓝之影’的真面目吗?真正的交易,在更深的水下。” 下面是一个加密链接,十六进制字符组成的字符串,像某种神秘的咒语。 没有正文,没有署名,没有其他任何信息。 路容的手指悬在触摸板上,指尖冰凉。她能听到自己的呼吸声,在寂静的房间里显得格外清晰。雨还在敲打窗户,声音密集而规律,像某种倒计时。她盯着那行字,盯着那个链接,大脑在飞速运转。 “v”是谁? “更深的水下”是什么意思? 这是陷阱吗?还是机会? 她想起周哲整理的报告中那些指向“深蓝之影”的间接证据——ip地址、数据包特征、时间规律。它们足够致命,但还不够直接。它们需要解释,需要推理,需要技术分析。而李剑的律师可以轻易地辩称那些只是巧合,是系统漏洞,是外部攻击。 她需要更直接的证据。 李剑的数字签名。星耀内部系统的标识。原始的、未经加密的交易对话记录。 路容深吸一口气。 她关闭了所有不必要的程序,打开虚拟机,启动经过特殊配置的隔离环境。屏幕上的界面变得简洁而陌生,所有的网络连接都经过多重代理和加密。她检查了防火墙设置,确认所有的日志记录功能都已关闭。然后,她复制了那个加密链接。 手指在回车键上停留了三秒钟。 她按了下去。 屏幕暗了一瞬,然后跳转到一个纯黑色的页面。页面中央出现了一个输入框,光标在闪烁,等待输入邀请码。路容皱起眉头——她没有邀请码。但就在她准备关闭页面时,输入框下方突然浮现出一行小字: “验证通过。欢迎,访客。” 页面再次跳转。 这次出现在屏幕上的,是一个论坛的界面。 但和“暗网枢纽”那种粗糙、混乱的界面不同,这个论坛的设计简洁而优雅。黑色的背景,深灰色的文字,字体是经过精心选择的等宽字体。页面左侧是分类列表,只有寥寥几个标签:“交易区”、“情报区”、“技术区”、“仲裁区”。右侧是最近活跃的帖子列表,每个帖子的标题都经过加密,显示为一串随机的字符。 论坛的在线人数显示:17。 路容盯着那个数字,心脏跳得更快了。 “暗网枢纽”的在线人数通常是几百甚至上千。而这个论坛,只有十七个人在线。这意味着什么?更小的圈子,更严格的准入,更隐秘的交易。 她移动鼠标,点击“交易区”。 页面刷新,出现了一个帖子列表。每个帖子都没有标题,只有发帖时间、发帖人id和最后回复时间。发帖人id大多是单字母或简单的数字组合:k、7、x23、omega。路容滚动页面,目光扫过那些神秘的id,试图从中找到规律。 就在这时,屏幕右下角弹出了一个私信窗口。 发信人:v。 “访客,你在找什么?” 路容的手指悬在键盘上方。她需要谨慎,每一个字都可能暴露身份。她思考了几秒钟,然后敲下回复: “信息。” “关于什么的信息?” “深蓝之影。” 私信窗口沉默了大约十秒钟。 然后,“v”回复了: “有趣。你知道这个名字,说明你已经摸到了水面。但你想看清水下的东西,需要付出代价。” “什么代价?” “钱。加密货币。比特币,门罗币,以太坊。不接受其他支付方式。” 路容盯着屏幕,手指在键盘上轻轻敲击: “你有什么?” “v”的回复很快: “三年前到今年六月的交易记录。包括对话截图、财务流水、数字签名验证文件。深蓝之影和七个不同买家的完整交易链。其中三笔交易涉及星耀集团内部数据,有系统日志截图和内部邮件片段。” 路容的呼吸停住了。 她能感觉到血液冲上太阳穴,耳膜里嗡嗡作响。她强迫自己冷静,敲下回复: “证明。” “v”发来一个文件。 很小的文件,只有几十kb。路容下载,在隔离环境中打开。是一个经过加密的文本文件,需要密码才能查看。她回到私信窗口: “密码?” “先付0.01比特币,作为诚意金。收到后给你密码,可以查看样本。如果满意,我们再谈完整交易的价格。” 路容计算了一下。0.01比特币,按照当前汇率,大约三千人民币。她手头的加密货币储备只有0.0375比特币,这是她三年来一点点积攒的,原本打算作为最后的逃亡资金。 她犹豫了。 这可能是陷阱。对方可能只是骗子,拿到诚意金后就消失。或者更糟——这可能就是李剑设下的圈套,为了找出正在调查他的人。 但“v”提到的那些东西…… 数字签名。系统日志。内部邮件。 如果这些都是真的,那就是铁证。不需要技术分析,不需要复杂推理,任何人看到那些文件都会明白发生了什么。李剑将无处可逃。 路容闭上眼睛。 她想起三年前的那个下午,李剑把那份伪造的泄密文件扔在她面前,眼睛里带着冰冷的笑意。她想起自己站在会议室里,面对所有同事怀疑的目光,喉咙像被什么东西堵住,发不出任何声音。她想起离开天启科技大楼时,雨水打湿了她的肩膀,而她没有伞。 (本章未完,请点击下一页继续阅读)第34章:“v”的邀约(第2/2页) 她睁开眼睛。 手指在键盘上敲击: “交易地址。” “v”发来一个比特币地址。 路容打开自己的加密货币钱包,输入地址,输入金额:0.01btc。确认页面弹出,她再次核对地址,确认无误。她的手指在鼠标上停留了很久,指尖能感觉到塑料外壳的冰凉触感。屏幕上的确认按钮在黑暗中发出幽蓝的光。 她点击了确认。 交易提交,需要等待区块链确认。路容盯着屏幕上的进度条,能听到自己心跳的声音,在寂静的房间里像鼓点一样清晰。雨还在下,但声音似乎变小了,变成了遥远的背景噪音。她的全部注意力都集中在屏幕上,集中在那个缓慢前进的进度条上。 十分钟后,交易确认。 “v”发来密码:shadow_2021_#7。 路容复制密码,打开那个加密的文本文件。文件解压,里面是一个pdf文档。她双击打开。 第一页是一张截图。 看起来像是某个加密聊天软件的对话界面,背景是深灰色,字体是白色。对话双方的头像都是默认的灰色轮廓。其中一方的id是“deepblue_shadow”,另一方的id被涂黑。 对话内容: deepblue_shadow:“第一批数据已打包,包含用户行为分析模型和三个月原始日志。价格按约定。” 涂黑id:“收到。验证通过后付款。需要提供来源证明。” deepblue_shadow:“附件是星耀内部系统截图,包含数据导出时间和服务器标识。数字签名已附加。” 截图下方,确实附着一张图片。 路容放大图片。 那是星耀集团内部数据管理系统的界面截图,右上角有清晰的时间戳:2021年4月17日,02:14。页面中央显示着一个数据导出任务,任务id、服务器ip、导出文件大小都清晰可见。最下方,有一个数字签名区域,签名字符串经过部分涂黑,但开头的几个字符还能辨认:lj_…… 李剑的姓名缩写。 路容的手指开始颤抖。 她滚动页面。 第二页是财务流水截图。看起来像是某个境外支付平台的交易记录,收款方账户被涂黑,付款方账户显示为“dbsholdingsltd.”——一个在开曼群岛注册的空壳公司。交易金额:$120,000。交易时间:2021年4月20日。备注栏写着:“数据服务费-批次1”。 第三页是另一段对话截图。 时间:2021年8月。 deepblue_shadow:“第二批数据风险较高,包含部分内部通讯记录。价格需要上浮30%。” 涂黑id:“可以。需要保证数据完整性。” deepblue_shadow:“附件是内部邮件系统截图,证明数据来源。老规矩,数字签名附加。” 下面又是一张截图。 星耀集团内部邮件系统的界面,一封邮件的预览页面。发件人:李剑。收件人:技术部。邮件主题:关于数据备份策略的调整。邮件正文部分被涂黑,但邮件头信息完整,包括邮件id、发送时间、服务器路径。 而在这张截图的右下角,有一个小小的、几乎被忽略的水印。 水印的内容是:星耀集团内部系统-审计日志标识-20210811。 路容盯着那个水印,呼吸变得急促。 这不是伪造的。 伪造者可能会伪造对话截图,可能会伪造数字签名,但不会想到在截图上添加这种几乎看不见的、系统自动生成的水印。这是只有真正从内部系统截图中才会带有的痕迹。 “v”说的是真的。 他真的掌握了“深蓝之影”的交易记录。 路容回到私信窗口,手指在键盘上快速敲击: “样本已验证。完整资料的价格?” “v”的回复几乎立刻到达: “完整包包含三年来所有交易记录,共计47次交易,涉及12个不同买家。包括对话记录、财务流水、数字签名文件、系统截图、邮件片段。打包价:5比特币。” 路容盯着那个数字,感觉心脏沉了下去。 5比特币。 按照当前汇率,超过一百万人民币。 她手头只有0.0275比特币了——支付诚意金后剩下的。连零头都不够。 “价格太高。”她回复。 “v”:“这是独家资料。深蓝之影很谨慎,所有交易记录都经过加密存储,只有早期合作时我保留了未加密版本。现在他已经更换了所有加密协议,这些资料是唯一能直接指证他的东西。5比特币,不还价。” 路容咬住下唇。 她能闻到空气中弥漫的灰尘味,能听到电脑风扇运转时低沉的嗡嗡声,能感觉到指尖因为长时间敲击键盘而微微发麻。屏幕上的字符在黑暗中发出冷光,那些数字像某种嘲讽,提醒着她现实的残酷。 她没有钱。 但她需要那些资料。 没有那些资料,周哲整理的报告可能不够。李剑的律师可能找到漏洞。董事会可能选择掩盖。而她,可能再次失败,再次失去一切,还连累周哲陷入危险。 “我需要时间筹钱。”她敲下回复。 “v”:“给你七天。七天后,如果你没有支付,我会寻找其他买家。提醒你,对这些资料感兴趣的不止你一个人。” “其他买家是谁?” “v”:“你觉得我会告诉你吗?交易规则第一条:不透露客户信息。你只需要知道,如果你动作太慢,这些资料可能会落到某些希望深蓝之影继续存在的人手里。到时候,你想扳倒他,就再也没有机会了。” 路容的手指僵在键盘上。 屏幕上的字符在视线里变得模糊。她闭上眼睛,深深地吸气,再缓缓吐出。胸腔里有什么东西在翻涌,像冰冷的潮水,一波一波地冲击着她最后的防线。 七天。 一百万。 她要去哪里弄这么多钱? 私信窗口又弹出一条消息: “v”:“还有一件事。如果你决定交易,不要试图追踪我。所有通讯都经过多重加密和跳转,你找不到我。如果你尝试,交易自动取消,资料销毁。明白吗?” 路容盯着那行字,很久很久。 然后她敲下回复: “明白。” “v”:“很好。七天后,同一时间,同一地点。带上5比特币,你会得到完整资料。记住,只接受加密货币。线下交易,现金,银行转账,都不接受。这是唯一的方式。” 私信窗口关闭了。 “v”的头像变成了灰色,显示离线。 路容坐在黑暗中,盯着屏幕上那个已经关闭的私信窗口。论坛的界面还在,黑色的背景,深灰色的文字,十七个在线用户。她移动鼠标,点击右上角的退出按钮。页面刷新,回到了最初的黑色页面,中央只有一个简单的提示:“会话已结束。所有记录已清除。” 她关闭了浏览器。 关闭了虚拟机。 电脑屏幕暗了下去,房间里只剩下窗外透进来的、被雨水模糊的微光。路容靠在椅背上,仰起头,看着天花板上黑暗的轮廓。雨还在下,声音绵密而持续,像某种永无止境的背景音。 她的手机在桌上震动。 她拿起手机,屏幕亮起,是周哲发来的消息: “睡了吗?雨很大,注意关窗。” 路容盯着那行字,眼睛突然有些发酸。她想起周哲坐在暖黄色灯光里的背影,想起他声音里的颤抖,想起他说“我担心你”。那么真实,那么温暖。 而她刚刚承诺了一笔她根本付不起的交易。 她放下手机,没有回复。 窗外,雨越下越大。 第35章:铤而走险 第35章:铤而走险(第1/2页) 路容放下手机,屏幕暗了下去。她走到窗边,雨已经停了,玻璃上残留着蜿蜒的水痕,窗外的城市在凌晨的微光中显露出模糊的轮廓。街道上空荡荡的,只有几盏路灯在湿漉漉的地面上投下昏黄的光圈。她把手贴在冰凉的玻璃上,掌心能感受到夜晚残留的寒意。七天,一百万。这两个数字在脑海里反复回响,像某种无法摆脱的咒语。她闭上眼睛,深吸了一口雨后清冷的空气,再缓缓吐出。当她再次睁开眼睛时,瞳孔深处有一种近乎绝望的坚定。她转身走回书桌前,打开台灯,从抽屉里拿出一张空白纸,拿起笔,在纸的顶端写下两个字:筹款。 笔尖在纸上沙沙作响。 第一行:个人储蓄——8万。 第二行:加密货币——0.0275btc,约合5500元。 第三行:可快速变现资产——无。 她盯着那几行字,笔尖悬在纸面上方,墨迹在灯光下泛着暗沉的光。窗外的天色开始泛白,深蓝色的夜幕边缘透出灰白的微光,像某种缓慢的侵蚀。远处传来第一辆早班公交车的引擎声,沉闷而遥远。路容放下笔,双手交握抵在额前,指节因为用力而泛白。她需要钱,需要很多钱,需要快。 手机屏幕在桌上亮起,显示时间:清晨5点47分。 她拿起手机,打开加密通讯软件。联系人列表里只有三个名字,其中一个头像是一朵简笔画的蔷薇——沈薇。路容的手指悬在那个名字上方,指尖微微颤抖。她想起三年前,沈薇是唯一一个在公司门口拦住她、说“我信你”的人;想起这三年来,沈薇每隔几个月就会发来消息,问她过得好不好,需不需要帮助;想起沈薇在科技媒体做调查记者,工资不高,还要养在老家生病的母亲。 路容闭上眼睛,深吸一口气,然后按下了通话请求。 加密通讯需要双方同时在线才能建立连接。她等了三十秒,四十秒,就在她以为沈薇不会接听时,通话接通了。 “路容?”沈薇的声音带着刚睡醒的沙哑,但立刻清醒了,“出什么事了?这个时间——” “薇薇。”路容开口,发现自己的声音干涩得厉害,“我需要钱。” 电话那头沉默了两秒。 “多少?”沈薇问,没有任何犹豫。 “很多。”路容说,喉咙发紧,“一百万。” 更长的沉默。路容能听到电话那头传来细微的呼吸声,还有远处隐约的汽车鸣笛。窗外的天色又亮了一些,灰白变成了鱼肚白,城市轮廓在晨光中逐渐清晰。书桌上的台灯在渐亮的天光里显得黯淡,灯泡发出轻微的嗡鸣。 “路容,”沈薇终于开口,声音很轻,“你在做什么?” “我在接近真相。”路容说,手指无意识地摩挲着桌沿,木质的纹理在指尖留下粗糙的触感,“李剑的证据,能让他彻底完蛋的证据。有人手上有,但开价很高。” “谁?” “我不能说。” “路容,”沈薇的声音严肃起来,“你确定这不是陷阱?三年前你就是这样——” “我知道。”路容打断她,声音里有一种压抑的颤抖,“我知道这可能是陷阱。但我验证过样本,薇薇,是真的。李剑的数字签名,星耀的内部标识符,交易时间戳……都是真的。这是我能找到的最接近核心的证据。” 沈薇叹了口气,那叹息声通过加密信道传来,带着电流的细微杂音,却依然能听出其中的担忧。 “一百万,”沈薇重复这个数字,“我手头有……大概十五万。是我妈下个季度的医药费,但我可以先挪给你。剩下的,我想办法。” “薇薇——” “别说了。”沈薇的声音变得坚定,“三年前我没能帮你,这次我不会再站在旁边看着。但是路容,你听好:第一,我要知道你的计划,至少大概。第二,如果情况不对,你必须立刻撤。第三,”她停顿了一下,“如果这是陷阱,如果李剑已经发现你了,你要答应我,先保命。” 路容的喉咙哽住了。她看着窗外逐渐亮起的天空,晨光透过玻璃在地板上投下长方形的光斑,灰尘在光柱里缓慢浮动。她能闻到清晨空气里淡淡的潮湿气味,还有从楼下早餐店飘上来的、若有若无的油条香气。 “好。”她说,声音很轻。 “我下午去银行转账。”沈薇说,“加密币对吧?给我地址。” 路容报出一串字符。 “收到。”沈薇记下,“还有,路容……小心点。李剑不是傻子,他能爬到今天的位置,手段比你想象的狠。” 通话结束。 路容放下手机,掌心全是冷汗。她在纸上写下第四行:沈薇——15万。墨迹在纸上晕开一小片,像某种污渍。她盯着那行字,胸口闷得发慌。沈薇母亲的医药费,那是救命钱。而她,路容,一个背负着污名、躲在假身份后面的幽灵,正在拿走那笔钱。 她站起身,走到窗边,推开窗户。清晨的空气涌入房间,带着凉意和城市苏醒的喧嚣。楼下街道上,早餐摊主正在摆弄炉灶,蒸笼冒出白色的蒸汽,在晨光里袅袅升起。几个早起上班的人匆匆走过,手里拎着公文包,脸上带着睡眠不足的疲惫。 路容看着他们,突然想起三年前的自己——也是那样匆匆走在上班路上,手里拿着咖啡,脑子里想着当天的数据分析方案。那时候她以为世界是讲道理的,以为才华和努力就够。多么天真。 她关上车窗,回到书桌前。 下一个名字:秦风。 她需要换一个身份。 路容打开另一台笔记本电脑——那台从未连接过星耀网络、从未登录过“若溪”相关账户的设备。她启动虚拟机,加载经过多重加密的操作系统,登录一个完全匿名的网络节点。屏幕亮起,显示的是另一个世界:干净的界面,陌生的ip地址,以及一个代号——“溪流”。 这是她在技术圈的小号,一个偶尔在专业论坛发表洞见的匿名账号。半年前,她在一次关于数据伦理的线上讨论中与秦风有过交流。秦风欣赏“溪流”的观点,曾私下发来邀请,希望“溪流”能加入“破晓”联盟的顾问团。 路容点开加密聊天软件,找到秦风的头像——一张日出的剪影照片。她盯着那个头像看了很久,手指在键盘上悬停。窗外的天色已经完全亮了,阳光透过玻璃斜进来,在地板上投下明亮的光斑。书桌上的台灯已经关掉,但灯泡的金属底座还残留着些许余温。 她开始打字。 “秦先生,我是溪流。有紧急事宜需要商议。” 消息发送出去,显示已读。 三分钟后,回复来了。 “溪流?没想到你会主动联系。什么事?” 路容深吸一口气,手指在键盘上快速敲击。 “我在调查一桩涉及星耀集团高层的重大数据犯罪。目前已掌握关键证据线索,但需要资金购买完整证据包。证据一旦获取,可彻底揭露黑幕,对推动行业数据安全与伦理有重大价值。” 她停顿了一下,继续打字。 “我承诺,证据获取后,将与你及‘破晓’联盟共享。这不仅是一桩犯罪调查,更可能成为推动行业变革的契机。但我需要资金支持——大约八十万缺口。” 发送。 等待。 窗外的街道变得嘈杂起来。汽车喇叭声,电动车驶过的声音,行人交谈的片段,这些声音透过玻璃传来,模糊而遥远。路容盯着屏幕,看着那个日出的头像,看着“正在输入”的提示闪烁又消失,消失又闪烁。她能听到自己心跳的声音,在安静的房间里显得格外清晰。 五分钟。 十分钟。 回复终于来了。 “溪流,我相信你的判断。半年前那篇关于数据所有权边界的文章,让我确信你是有远见的人。但八十万不是小数目,我需要更多信息。” 路容的手指在键盘上停顿。 “证据涉及星耀集团副总裁李剑的非法数据交易,包括内部系统记录、加密通讯和财务流水。我已验证过样本,真实性可确认。交易方要求加密货币支付,时限七天。” “为什么找你?”秦风问。 “因为我在暗网深处找到了线索。”路容打字,“也因为,我和李剑有私人恩怨。” 这句话发出去后,她闭上眼睛。这是冒险——透露私人恩怨可能让秦风怀疑她的动机。但她需要真诚,至少是部分的真诚。阳光照在她的眼皮上,能感觉到温暖的光感和眼皮下血管的细微跳动。 秦风的回复很快。 “私人恩怨不影响证据价值。但溪流,我需要你保证两件事:第一,证据必须真实且可验证;第二,你必须保证自身安全。‘破晓’联盟的宗旨是建设,不是牺牲。” 路容睁开眼睛,屏幕上的字在视线里清晰起来。 “我保证。” “好。”秦风回复,“‘破晓’可以以‘投资未来数据安全研究项目’的名义提供五十万资金。这是联盟目前能调动的最大额度,需要理事会快速表决,但我有把握通过。剩下的三十万,你需要自己解决。” 五十万。 路容的心脏重重地跳了一下。 “交易需要加密货币。”她提醒。 “明白。给我收款地址,二十四小时内到账。”秦风打字,“另外,溪流——拿到证据后,我需要你亲自来‘破晓’一趟。有些事,面对面谈更合适。” 路容盯着最后那句话,手指微微收紧。亲自见面,意味着暴露风险。但秦风的声音——通过文字传递出来的那种沉稳、坚定、带着理想主义温度的声音——让她感到一种久违的信任。 “好。”她回复,“证据到手后,我会联系你。” “保持安全。”秦风说,“还有,记住:你调查的事情很危险。李剑在行业里根基很深,如果他发现你在查他,不会手软。” 聊天结束。 路容退出虚拟机,关闭电脑。房间里只剩下窗外传来的城市白噪音,还有她自己有些急促的呼吸声。她在纸上写下第五行:秦风/破晓联盟——50万。加上沈薇的15万,自己的8.55万,总计73.55万。还差26.45万。 二十六万。 她盯着那个数字,笔尖在纸上无意识地划着圈,墨水晕开,形成一个又一个黑色的漩涡。阳光已经完全照进房间,空气中的灰尘在光柱里飞舞,像无数微小的生命。楼下早餐店的香气更浓了,油条的焦香混合着豆浆的甜味,透过窗户缝隙飘进来。 (本章未完,请点击下一页继续阅读)第35章:铤而走险(第2/2页) 路容站起身,走到房间角落,蹲下身,拉开地板上一块松动的木板。下面是一个小小的隐藏空间,放着一个防水防火的金属盒。她取出盒子,打开,里面是另一个u盘——三年前她偷偷备份的、能证明自己清白和李剑可疑操作的部分原始数据碎片。 这是她最后的底牌。 也是她复仇火种的唯一来源。 她握着那个u盘,金属外壳在掌心留下冰凉的触感。u盘很轻,但握在手里却感觉沉重。这里面是她三年前职业生涯的碎片,是她清白的证据,也是她过去的一部分。如果用它作为抵押,向黑市借贷…… 路容闭上眼睛。 她想起三年前的那个下午,李剑走进她的办公室,关上门,脸上带着那种虚伪的笑容。他说:“路容,你很优秀,但在这个行业,优秀不够。你需要懂得规则。”她拒绝后,他的笑容消失了,眼神变得冰冷。三天后,泄密案爆发。一周后,她被行业封杀。 u盘在掌心渐渐被捂热。 路容睁开眼睛,把u盘放回金属盒,盖好,放回隐藏空间,推回木板。地板恢复原状,看不出任何痕迹。她站起身,走到窗边,看着楼下熙熙攘攘的街道。上班族们匆匆走过,学生们背着书包,老人牵着狗——一个普通的、忙碌的早晨。 而她,站在这个狭小的出租屋里,计算着如何凑齐一百万的赎金,去购买能摧毁一个人的证据。 手机震动。 她拿起手机,是加密邮箱的提示——“v”发来了新消息。 路容点开。 “v”:“提醒:还剩六天。样本的进一步验证数据已发送至你的加密存储空间。你可以用任何技术手段检验,但记住——不要试图反向追踪。一旦检测到追踪行为,交易终止。” 附件是一个加密文件。 路容将文件下载到隔离环境的设备中,用多重验证工具打开。里面是更详细的样本数据:李剑的数字签名完整验算过程,星耀内部标识符的生成日志,交易时间戳与星耀服务器日志的交叉比对结果。每一项都经过严格的加密签名,可验证不可篡改。 她花了三个小时,用自己能想到的所有技术手段进行验证。 数字签名匹配——李剑的私钥特征完全吻合。 标识符真实——与星耀公开的系统架构文档中的生成规则一致。 时间戳可追溯——与三年前那段时间星耀服务器的公开故障记录存在关联。 每一项验证都通过。 路容靠在椅背上,盯着屏幕上那些绿色的“验证通过”提示。阳光已经移到房间另一侧,在地板上投下窗框的长长影子。她的眼睛因为长时间盯着屏幕而干涩发疼,胃里空荡荡的,却没有任何食欲。 验证通过了。 证据是真的。 那么,“v”是谁?为什么会有这些资料?为什么愿意卖给她?这些问题像毒蛇一样缠绕在脑海里,但她没有答案。她只知道,这是机会,可能是唯一的机会。 手机再次震动。 沈薇发来消息:“十五万已转,加密币地址:xxxx,交易哈希:xxxx,确认需要时间,预计下午到账。” 秦风的消息也来了:“理事会表决通过,五十万已安排,加密币地址:xxxx,六小时内到账。” 路容看着那两条消息,胸口涌起一种复杂的情绪——感激,愧疚,压力,还有某种冰冷的决心。她在纸上更新数字:沈薇15万(已确认),秦风50万(已确认),个人8.55万,总计73.55万。还差26.45万。 二十六万。 她拿起手机,打开一个她从未想过会主动联系的加密通讯频道。那是她在暗网深处搜集信息时,偶然接触到的地下借贷网络。利率高得离谱,抵押品要求苛刻,但放款快,不问用途,不查身份。 她输入信息:“需要26.45万,七天期,抵押品为加密数据包(商业价值待估),利率?” 回复在三十秒内到来:“日利率5%,七日复利,逾期日利率升至10%。抵押品需经我方技术验证,评估价值不足则需补足抵押或担保。” 路容盯着那个利率数字——日利率5%,七天复利,意味着如果七天后还款,她需要支付约37.5万的利息。加上本金,总计约63.95万。如果她不能在七天内还清…… 但她没有选择。 “接受。”她回复,“抵押品技术验证方式?” “发送样本哈希值及部分非核心元数据。我方验证后,若认可价值,即刻放款。” 路容从金属盒里取出那个u盘,连接到隔离设备,提取了数据包的哈希值和部分不涉及核心内容的元数据——文件结构、创建时间、部分脱敏的字段名称。她将这些信息加密发送。 等待。 窗外的阳光开始西斜,房间里的光线变得柔和,阴影拉长。路容坐在椅子上,一动不动,看着屏幕上那个等待的图标旋转。她能听到自己的心跳,平稳而沉重,像某种倒计时的鼓点。 二十分钟后,回复来了。 “抵押品评估价值:30万。可放款26.45万,七日期,利率条件如前。确认?” 路容的手指在键盘上悬停。 u盘里的数据,她三年前清白的证据,她过去的一部分,被评估为30万。多么讽刺的价格。 “确认。”她打字。 “加密币地址:xxxx。款项将在十分钟内到账。七日后同一时间,还款地址:xxxx。逾期后果自负。” 交易完成。 路容关掉那个借贷频道,清空所有记录。她靠在椅背上,闭上眼睛。房间里很安静,只有电脑风扇轻微的嗡鸣。窗外的街道传来傍晚时分的嘈杂——下班的人群,放学的孩子,晚高峰的汽车喇叭声。空气里飘来隔壁做饭的香气,炒菜的油烟味混合着米饭的蒸汽。 她睁开眼睛,看着天花板。白色的天花板上有几道细微的裂缝,像地图上的河流。灯光还没开,房间沉浸在黄昏的昏暗里,所有物体的轮廓都变得模糊。 手机震动。 加密钱包提示:三笔款项全部到账。沈薇的15万,秦风的50万,地下借贷的26.45万,总计91.45万。加上她原有的0.0275btc,现在她拥有5.002btc——刚好超过“v”要求的5btc。 她凑齐了。 路容坐直身体,打开加密邮箱,给“v”发送消息: “款项已备齐。如何交易?” 回复在五分钟内到来。 “v”:“很好。但交易方式有变:线上支付2btc作为定金,我将发送完整证据包的加密容器。你验证内容后,线下支付剩余3btc,获取解密密钥和物理存储设备。” 路容皱眉。 “为什么需要线下?” “v”:“因为物理存储设备里有无法数字化的东西——纸质文件照片,手写笔记,录音磁带。这些东西,李剑以为已经销毁了。我需要确保它们安全交付。” “线下地点?” “v”:“深港市码头区,旧港三号仓库。明晚十一点。独自前来,不要带任何电子设备,不要通知任何人。我会检查。” 路容盯着那个地址——码头区,旧港,废弃仓库。那是城市边缘的荒凉地带,夜晚几乎没有灯光,监控稀少,是进行非法交易的典型场所。危险,但合理。 “我需要先验证线上部分的证据。”她回复。 “v”:“当然。支付2btc定金,你会收到加密容器。验证通过后,我们再谈线下交易细节。” 路容调出加密钱包界面,输入“v”提供的地址,转账2btc。交易确认需要时间,她看着屏幕上那个旋转的等待图标,手指无意识地敲击桌面。黄昏的最后一丝光线从窗外消失,房间彻底暗下来。她没有开灯,任由黑暗包裹自己。 十分钟后,交易确认。 “v”发来一个加密文件,体积很大。 路容将文件下载到隔离设备,用“v”提供的临时密钥打开。里面是一个虚拟容器,装载着数百个文件:李剑与不明身份的加密聊天记录(提及数据交易分账比例),带有星耀内部水印的财务表格截图,服务器访问日志的异常片段,甚至还有几张模糊的监控截图——李剑在深夜进入某个数据中心的照片。 她随机抽取了几个文件,用技术手段验证。 聊天记录的时间戳与李剑公开行程吻合。 财务表格的水印特征与星耀内部文档一致。 服务器日志的格式完全匹配。 监控截图的背景建筑,经比对,确实是星耀在深港市郊区的备用数据中心。 每一项都通过验证。 路容靠在椅背上,在黑暗中长长地吐出一口气。证据是真的,比她想象的更完整,更致命。这些资料一旦公开,李剑不仅会身败名裂,还可能面临刑事指控。星耀集团也会被卷入巨大的丑闻。 手机震动。 “v”:“验证通过了?” “通过了。”路容回复。 “v”:“那么,明晚十一点,旧港三号仓库。带上剩余3btc的离线钱包。记住:独自一人,不要耍花样。我会在仓库里等你。” “如何确认是你?”路容问。 “v”:“我会戴一顶深蓝色的帽子。你会看到的。” 聊天结束。 路容放下手机,在黑暗中静静地坐着。房间里只有电脑屏幕发出的微光,照亮她半张脸,另一半隐没在阴影里。窗外的城市亮起万家灯火,霓虹灯光在远处闪烁,像一片虚假的星空。她能听到远处传来的轮船汽笛声,低沉而悠长,从码头方向飘来。 明晚十一点。 旧港三号仓库。 她将独自前往,用3btc换取能摧毁李剑的证据。 路容站起身,走到窗边,看着窗外灯火通明的城市。玻璃上倒映出她的脸——苍白,疲惫,眼神里有一种近乎冰冷的平静。她把手贴在玻璃上,掌心感受到夜晚的凉意。 然后她转身,开始准备。 第36章:仓库交易 第36章:仓库交易(第1/2页) 夜晚十点四十分,深港市码头区。 路容在距离旧港三号仓库两公里处下了出租车。司机是个中年男人,从后视镜里瞥了她一眼——深灰色运动服,黑色棒球帽压得很低,口罩遮住了大半张脸,背着一个普通的黑色双肩包。这种打扮在码头区并不少见,这里鱼龙混杂,夜晚总有些不想被人认出来的人。 “姑娘,这地方晚上不太平。”司机收了钱,还是忍不住说了一句。 路容点点头,没有说话,推开车门走进夜色。 出租车调头离开,尾灯的红光在湿漉漉的路面上拖出两道长长的光带,很快消失在拐角。路容站在原地,感受着夜晚的凉风从海面吹来,带着浓重的咸腥味和铁锈的气息。远处,集装箱堆场零星亮着几盏高杆灯,在黑暗中切割出几何形的光域。更远的地方,灯塔的旋转光束每隔三十秒扫过海面,在云层上投下模糊的光晕。 她拉了拉背包肩带,调整呼吸,开始步行。 脚下的路面坑洼不平,积水在凹陷处反射着远处微弱的光。路两旁是废弃的仓库和厂房,墙皮剥落,窗户破碎,黑洞洞的窗口像一只只失明的眼睛。杂草从水泥裂缝里钻出来,在夜风中簌簌作响。偶尔有野猫从阴影里窜过,发出窸窣的声响。路容的脚步声在空旷的街道上回响,每一步都踩得很轻,但在这寂静的夜里依然清晰。 她按照手机里保存的离线地图前进,同时不断观察四周。左边五十米处有一盏路灯还亮着,灯泡发出滋滋的电流声,光线昏黄,吸引着飞蛾扑撞。右边是一排生锈的铁皮棚,风吹过时发出哐啷哐啷的响声。她经过一个废弃的岗亭,玻璃全碎了,里面堆满垃圾,散发出一股霉味和尿骚味混合的气味。 背包里,离线加密货币钱包、小型战术手电筒、防狼喷雾、还有一部专门用于这次交易的隔离手机,每样东西都放在固定的夹层。她的手指无意识地摩挲着背包侧面的织带,掌心微微出汗。 二十分钟后,旧港三号仓库出现在视野里。 那是一座巨大的混凝土建筑,外墙斑驳,部分墙皮已经脱落,露出里面锈蚀的钢筋。仓库大门是两扇对开的铁门,其中一扇歪斜着,露出半米宽的缝隙。屋顶有几个破洞,月光从那里漏进去,在内部地面上投下惨白的光斑。周围一片死寂,只有远处海浪拍打堤岸的声音,沉闷而有节奏。 路容在距离仓库一百米处停下,躲在一堆废弃的集装箱后面。她蹲下身,从背包里取出小型望远镜——这也是沈薇坚持让她带上的。透过镜片,她仔细扫描仓库周围的环境。 正门前的空地上散落着碎石和垃圾。左侧有一排低矮的附属建筑,可能是以前的办公室或工具间,窗户全碎了。右侧堆着一些生锈的金属桶,桶身上有模糊的化学标识。仓库后面是一片荒草地,再往后就是防波堤和海面。 没有看到人影。 没有车辆。 没有异常的光源。 路容看了眼手表:十点五十五分。距离约定的十一点还有五分钟。她收起望远镜,从背包侧袋取出隔离手机,屏幕亮起,显示着“v”最后发来的消息:“我会戴一顶深蓝色的帽子。你会看到的。” 她关掉手机,塞回背包。然后从另一个夹层取出防狼喷雾,握在右手,用袖子遮住。左手则握着战术手电筒——这东西不仅可以照明,必要时也能当钝器使用。 十点五十八分。 路容站起身,深吸一口气,海风的咸腥味灌满胸腔。她迈步走向仓库。 脚下的碎石在鞋底发出细碎的声响。越靠近仓库,那股混凝土和铁锈混合的气味就越浓,还夹杂着一股若有若无的腐臭味——可能是死老鼠,或者别的什么。月光把她的影子拉得很长,在坑洼的地面上扭曲变形。 她走到仓库大门前,从那扇歪斜的铁门缝隙里侧身钻了进去。 内部空间比从外面看起来更大。月光从屋顶的破洞倾泻而下,形成几道光柱,光柱里尘埃飞舞。其余部分则沉浸在深沉的黑暗里,只能勉强辨认出一些堆叠的货箱和废弃机械的轮廓。空气潮湿阴冷,带着一股陈年的灰尘味。远处传来滴水的声音,滴答,滴答,节奏缓慢。 路容站在门口,让眼睛适应黑暗。她的心跳在胸腔里平稳地跳动,但每一下都沉重有力。她扫视四周,没有看到人影,也没有看到深蓝色的帽子。 十一点整。 “准时。” 声音从右侧的阴影里传来,低沉,略带沙哑。 路容猛地转头,右手握紧了防狼喷雾。一个人影从一堆货箱后面走出来,步伐很轻,几乎没有声音。月光只照亮了他的下半身——深色工装裤,黑色运动鞋。上半身隐没在阴影里,但路容看到了那顶帽子。 深蓝色,棒球帽款式,帽檐压得很低。 “v。”路容开口,声音经过口罩的过滤,显得有些闷。 对方没有回应,只是走到距离她五米左右的地方停下。这个距离很微妙——既在对话的范围内,又足够安全,一旦有变故可以迅速反应。路容借着月光仔细打量,但对方穿着深色连帽衫,帽子拉起来罩在棒球帽外面,脸上还戴着黑色口罩,只露出一双眼睛。那双眼睛在阴影里看不真切,但路容能感觉到视线落在自己身上,带着审视的意味。 “钱。”对方言简意赅。 路容从背包里取出离线钱包——一个巴掌大的黑色设备,屏幕亮着,显示着加密货币钱包的界面。她向前走了两步,停在距离对方三米处,蹲下身,把设备放在地上,然后退回到原来的位置。 “v”走上前,捡起设备,手指在屏幕上快速操作。几秒钟后,他抬起头:“3btc,确认到账。” 路容点点头。 “v”从怀里掏出一个东西,同样放在地上——那是一个黑色的移动硬盘,比普通硬盘稍厚,外壳是金属材质,在月光下泛着冷光。硬盘侧面有一个小小的指纹锁指示灯,此刻亮着红光。 “所有原始记录都在里面。”“v”说,“聊天记录、财务表格、服务器日志、监控截图、邮件备份——按时间线整理,附带元数据验证链。” 路容没有立刻去拿硬盘。她盯着对方:“我需要抽查。” 短暂的沉默。海风从仓库的破洞灌进来,发出呜呜的声响,像某种哀鸣。远处滴水的声音还在继续,滴答,滴答。 “可以。”“v”终于说,“但只能抽查三个文件。” 路容从背包里取出另一台设备——那是一个经过特殊改造的平板电脑,完全离线,运行着定制化的安全系统。她走到硬盘旁边蹲下,但没有碰硬盘,而是从背包侧袋取出一根数据线,一端连接平板,另一端递给“v”。 “你操作。”她说。 “v”接过数据线,插进硬盘的接口。硬盘侧面的指示灯从红色变成绿色,发出轻微的嗡鸣声。他在平板屏幕上操作了几下,调出文件列表。密密麻麻的文件夹和文件名称在屏幕上滚动,每一个都标注着日期和类型。 “选吧。”“v”把平板递给她。 路容接过平板,手指在屏幕上滑动。她的心跳微微加速,但手指很稳。她快速浏览着列表,大脑飞速运转——不能选太靠前的,那可能是诱饵;也不能选太靠后的,那可能还没准备好。她需要选中间段,有代表性,但又不会暴露核心证据。 她的手指停在一个文件夹上:“2021年7月-9月,加密聊天记录备份。” “v”在平板上操作,打开文件夹,里面是几十个加密文件。他随机点开其中一个,文件在隔离环境中解密,显示出一段聊天记录。 路容凑近屏幕。 那是李剑的账号——虽然用了加密通讯软件,但账号id的特征码与路容三年前掌握的信息完全吻合。对话对象是一个代号“深蓝之影”的用户。时间戳:2021年8月17日,晚上十一点二十三分。 李剑:“上次那批数据,买家反馈质量不错。尾款已经到账。” 深蓝之影:“分账比例按老规矩?” 李剑:“你三我七。风险我担得多。” 深蓝之影:“成交。下一批什么时候?” 李剑:“月底。老地方,老方式。记得清理痕迹。” 深蓝之影:“明白。” 聊天记录到此为止。路容盯着屏幕,呼吸微微急促。这是确凿的证据——李剑在进行非法数据交易,而且有明确的利益分配。她强迫自己冷静下来,手指继续滑动:“第二个,2022年3月的财务表格。” “v”打开另一个文件。 那是一张excel表格的截图,左上角有星耀集团的内部水印——一个变形的“s”字母,周围环绕着齿轮图案,这是星耀内部文件的标准标识。表格列着几十行数据,项目名称都是代码,但金额栏的数字清晰可见:单笔交易金额从五十万到两百万不等,总计超过两千万。收款方账户被模糊处理,但备注栏里写着“技术服务费”“数据咨询费”等字样。 路容仔细查看水印的细节——颜色渐变、边缘锯齿、背景纹理。和她记忆中星耀内部文档的水印特征完全一致。这不是伪造的,至少水印不是。 “第三个,”她说,“2021年11月15日的服务器访问日志。” “v”打开第三个文件。 那是服务器日志的片段,显示在特定时间点有异常的数据访问记录。源ip地址被隐藏,但访问的目标数据库编号清晰可见——那是星耀核心客户数据仓库的编号。访问时间持续了四十七分钟,数据流出量达到3.2tb。日志末尾有一条手动添加的备注:“已处理,无异常告警。” 路容盯着那条备注,手指微微收紧。她知道这意味着什么——有人故意关闭了安全告警系统,让这次大规模数据泄露没有被记录在案。 三个文件抽查完毕。 每一个都通过了她的验证。聊天记录的时间戳与李剑公开行程吻合;财务表格的水印特征完全正确;服务器日志的格式和星耀内部系统一致。更重要的是,这些文件之间存在着内在的逻辑关联——聊天记录提到交易,财务表格记录资金流动,服务器日志显示数据泄露。 证据链是完整的。 路容缓缓吐出一口气,在口罩里形成一小团白雾。她关掉平板,拔下数据线,把设备收回背包。然后她蹲下身,伸手去拿地上的硬盘。 金属外壳触手冰凉,沉甸甸的。她握紧硬盘,感受着那份重量——这里面装着的,是她三年来的执念,是她洗刷冤屈的唯一希望,也是她向李剑复仇的致命武器。 她站起身,把硬盘塞进背包最内侧的夹层,拉上拉链。 “交易完成。”“v”说,声音依然平静,“硬盘的指纹锁密码是你的交易id后六位。三次错误输入会触发自毁程序。” (本章未完,请点击下一页继续阅读)第36章:仓库交易(第2/2页) 路容点点头,转身准备离开。 就在她迈出第一步时—— 仓库外传来汽车引擎的轰鸣。 不是一辆,是至少两辆,由远及近,速度很快。轮胎碾过碎石的声音刺耳而急促,在寂静的夜里格外清晰。紧接着是刹车声,尖锐的摩擦声划破夜空。 路容猛地停住脚步。 “v”的反应更快。他几乎在引擎声传来的瞬间就动了,身体像猎豹一样弓起,转头看向仓库大门的方向。月光照亮了他帽檐下骤然收缩的瞳孔。 杂乱的脚步声响起,不止一个人,从不同方向包抄过来。靴子踩在碎石上的声音,金属碰撞的轻微声响,还有压低了的说话声——听不清内容,但语气急促。 “有尾巴!”“v”低骂一声,声音里第一次出现了情绪的波动,那是愤怒和警惕混合的嘶哑。 他没有任何犹豫,转身就朝仓库深处跑去,身影迅速没入黑暗。路容听到他撞开什么东西的声音,然后是远处一扇小门被推开的吱呀声——那是仓库的侧门,通往后面的荒草地。 路容的心跳骤然加速,血液冲上头顶。她强迫自己冷静,大脑飞速运转:外面的人是谁?李剑的手下?黑吃黑?还是警方?不管是谁,被堵在仓库里就是死路一条。 她转身朝相反方向跑——不是大门,也不是“v”逃离的侧门,而是仓库左侧那片堆满废弃机械的区域。她在来之前研究过卫星地图,记得那里有一排生锈的管道和通风设备,后面可能还有出口。 脚步声越来越近。 强光手电筒的光束从仓库大门的缝隙里照进来,在黑暗中扫射,像探照灯一样。光束扫过堆叠的货箱,扫过斑驳的墙壁,扫过满是灰尘的地面。光柱里尘埃狂舞。 “里面有人!”外面传来喊声,是个男人的声音,粗哑,“别让她跑了!” 路容压低身体,在废弃机械的阴影里穿行。她的运动鞋踩在满是油污的地面上,发出轻微的黏腻声响。空气中弥漫着铁锈和机油的气味,混合着灰尘的呛人味道。她绕过一台生锈的冲压机,机器表面凝结着黑色的油垢,在月光下泛着诡异的光泽。 手电筒的光束扫过她刚才站立的位置。 “在那边!”另一个声音喊道。 路容咬紧牙关,加快速度。她的背包随着奔跑的动作拍打着后背,里面的硬盘发出轻微的碰撞声。她不能丢下硬盘,那是她用全部身家换来的,是她复仇的唯一希望。 前方出现一排管道,直径半米左右,横七竖八地堆在一起,形成一道屏障。管道表面覆盖着厚厚的铁锈,摸上去粗糙扎手。路容侧身挤进管道之间的缝隙,铁锈蹭在衣服上,留下暗红色的痕迹。 她听到身后传来脚步声,已经进了仓库。靴子踩在水泥地上的声音,在空旷的空间里回响。手电筒的光束在四处扫射,偶尔照到管道上,形成晃动的光斑。 “分头找!”那个粗哑的声音命令道,“李总说了,东西和人都要!” 李总。 李剑。 果然是他的人。 路容的心脏像被一只冰冷的手攥紧。李剑知道了,或者说,他至少察觉到了异常。也许他一直在监控“v”,也许“v”的行踪早就暴露了,也许这次交易从一开始就是个陷阱—— 不,不能这么想。现在最重要的是脱身。 路容从管道的另一头钻出来,眼前是一片相对开阔的区域。月光从屋顶的破洞照下来,在地面上形成一个明亮的光斑。她不能穿过光斑,那会立刻暴露。她贴着墙壁,在阴影里移动,眼睛快速扫视四周。 左侧是墙壁,没有出口。 右侧堆着一些木箱,箱子已经腐烂,散发出一股霉味。 正前方—— 路容的眼睛亮了。那里有一扇门,不是侧门,而是一扇小铁门,门板已经锈蚀,但门把手还在。她记得卫星地图上标注过,旧港三号仓库除了正门和侧门,还有一个紧急出口,在仓库的西北角。 就是那里。 她压低身体,朝那扇门冲去。 脚步声从身后逼近。 “在那边!”有人喊道。 手电筒的光束扫过来,路容猛地扑倒在地,光束从她头顶掠过,照在墙壁上。她顾不上疼痛,爬起来继续跑。背包的带子勒进肩膀,但她感觉不到,所有的注意力都集中在十米外的那扇门上。 五米。 三米。 她伸手抓住门把手——冰冷,粗糙,上面覆盖着厚厚的铁锈。她用力一拧,把手转动了,但门没有开。锁住了?还是锈死了? 路容的心沉了下去。 她听到身后的脚步声越来越近,靴子踩在地上的声音沉重而急促。手电筒的光束再次扫过来,这次照在了她的背上。她能感觉到那束光的温度,灼热,刺眼。 “站住!”粗哑的声音吼道。 路容咬紧牙关,用尽全身力气撞向铁门。 砰! 门板震动,灰尘簌簌落下。但门没有开。 她又撞了一次。 砰! 这次,门板发出不堪重负的**,门框周围的混凝土碎屑剥落。但门依然紧闭。 脚步声已经到了身后。 路容猛地转身,背靠铁门,右手从袖子里滑出防狼喷雾,左手握紧战术手电筒。手电筒的光束照在她脸上,刺得她睁不开眼。她眯起眼睛,看到三个***在五米外,都穿着深色衣服,手里拿着强光手电筒,其中一个人手里还握着一根短棍。 月光和手电筒的光混合在一起,在仓库里形成诡异的光影。路容能看清他们的脸——都是陌生面孔,但眼神凶狠,带着职业打手特有的冷漠。 “把东西交出来。”中间那个男人开口,就是那个粗哑的声音。他大概四十岁,平头,脸上有一道疤,从眉骨延伸到嘴角。 路容没有说话,只是握紧了手里的喷雾。 “别敬酒不吃吃罚酒。”疤脸男人向前走了一步,“李总要的是硬盘,不是你。把硬盘交出来,我们可以让你走。” 路容的呼吸急促,口罩下的嘴唇抿成一条直线。她知道这是谎言。李剑不会让她走,一旦交出硬盘,她就没有任何价值了,下场只会更惨。 “我数三声。”疤脸男人说,“一——” 路容的大脑飞速运转。硬拼不可能,对方有三个人,而且很可能有武器。逃跑的路被堵死了。呼救?这里荒无人烟,喊破喉咙也不会有人来。 “二——” 她的手指摸到背包侧面的一个小口袋,里面装着沈薇给她的那个小东西——一个微型信号发射器,按下按钮会向预设的紧急联系人发送定位和求救信号。但沈薇在市区,赶过来至少要四十分钟。来不及。 “三!” 疤脸男人猛地冲过来。 路容按下信号发射器的按钮,然后举起防狼喷雾,对准冲过来的男人按下喷头。 嗤—— 白色的喷雾在空气中扩散,带着刺鼻的气味。疤脸男人猝不及防,被喷了个正着,惨叫一声捂住眼睛。但另外两个人已经绕到侧面,其中一个挥起短棍朝路容砸来。 路容侧身躲开,短棍砸在铁门上,发出哐当一声巨响。她趁机抬起战术手电筒,按下强光爆闪模式,刺眼的白光瞬间照亮整个区域。另外两个人下意识地闭上眼睛。 就是现在。 路容转身,用尽全身力气再次撞向铁门。 砰! 这一次,门板终于松动了。门框周围的混凝土彻底崩裂,铁门向内打开一条缝隙。路容挤进缝隙,肩膀撞在门框上,一阵剧痛传来,但她顾不上,拼命往外挤。 “抓住她!”身后传来怒吼。 一只手抓住了她的背包带子。路容猛地向前一挣,带子断裂,背包被拽了回去。但她手里还紧紧握着那个硬盘——在撞门的瞬间,她已经把硬盘从背包里掏了出来,握在手里。 她冲出铁门,外面是仓库后面的荒草地。夜风扑面而来,带着海水的咸腥和杂草的清香。月光洒在草地上,一片银白。 路容没有回头,拼命向前跑。她的运动鞋踩在湿软的草地上,发出噗嗤噗嗤的声音。身后传来追赶的脚步声,还有咒骂声。 她冲过荒草地,翻过一道低矮的铁丝网,铁丝划破了她的手臂,火辣辣地疼。她跌跌撞撞地跑上防波堤,下面是漆黑的海面,海浪拍打着水泥堤岸,发出哗啦哗啦的声响。 左边是码头区的主干道,有路灯,但也会有车。右边是更荒凉的海岸线,堆满了废弃的建材和垃圾。 路容选择了右边。 她沿着防波堤奔跑,心脏在胸腔里狂跳,呼吸急促得像破风箱。手臂上的伤口在流血,温热的液体顺着小臂流下来,滴在草地上。但她感觉不到疼痛,所有的感官都集中在身后——追赶的脚步声还在,而且越来越近。 前方出现一堆废弃的水泥管,直径一米左右,横七竖八地堆在一起。路容没有任何犹豫,矮身钻进了水泥管之间的缝隙。里面狭窄黑暗,弥漫着一股海藻腐烂的腥臭味。她蜷缩在角落里,屏住呼吸。 脚步声在水泥管外停下。 “妈的,跑哪儿去了?”一个声音说。 “分头找。”另一个声音,“她受伤了,跑不远。” 脚步声分散开来,逐渐远去。 路容蜷缩在黑暗里,紧紧握着那个金属硬盘。硬盘外壳冰凉,但被她握得温热。她的身体在颤抖,不是因为恐惧,而是因为肾上腺素退去后的虚脱。手臂上的伤口还在流血,她能感觉到血液浸湿了袖口,黏糊糊的。 她等了五分钟,十分钟。 外面再没有声音。 她小心翼翼地探出头,月光照在废弃的水泥管上,在草地上投下扭曲的影子。远处,码头区的灯光在夜色中闪烁,像一片遥远的星河。海风呼啸而过,吹得她浑身发冷。 路容从水泥管里爬出来,踉跄着站起身。她检查了一下硬盘——完好无损,指纹锁的指示灯依然亮着红光。她把硬盘塞进衣服内侧的口袋,拉上拉链。 然后她转身,朝着与码头区相反的方向走去。那里有一条小路,通往附近的城中村,那里鱼龙混杂,没有监控,是她预先勘察好的撤退路线。 她的脚步很慢,每一步都踩得很稳。手臂上的伤口还在疼,但她的眼神很平静,平静得近乎冷酷。 背包丢了,里面有她的离线钱包、隔离手机、还有沈薇给她的那些小工具。但硬盘还在。 证据还在。 这就够了。 路容走进小路,身影逐渐没入黑暗。身后,旧港三号仓库在月光下沉默矗立,像一座巨大的墓碑。 第37章:惊险脱身 第37章:惊险脱身(第1/2页) 强光刺进眼睛的瞬间,路容本能地侧过头去。 那束光来自仓库门口,白得发青,像手术台上的无影灯,把她整个人钉在原地。光线里飞舞着无数细小的尘埃,像被惊扰的幽灵。她眯起眼睛,瞳孔急剧收缩,视网膜上留下灼烧般的残影。 “别让她跑了!” 男人的吼声在空旷的仓库里炸开,带着金属质感的回音。声音粗粝,像砂纸摩擦铁皮。 “李总说了,东西和人都要!” 李总。 这两个字像冰锥扎进路容的脊椎。她的身体僵了一瞬,然后所有的感官在瞬间被激活——肾上腺素像开闸的洪水涌向四肢百骸,心跳在耳膜里擂鼓,呼吸变得急促而浅薄。 她强迫自己睁开眼睛,适应强光。 门口站着三个人影,背光,看不清脸,但轮廓高大,堵住了唯一的出口。其中一人手里拿着强光手电,光束直射她的脸。另外两人手里似乎拿着什么——短棍,或者甩棍。 路容的大脑在千分之一秒内开始运转。 卫星地图。她三天前用加密网络下载了这片区域的卫星图像,放大到能看清仓库外墙的每一块砖。旧港三号仓库,建于上世纪八十年代,曾经是国营外贸公司的中转仓库,2008年废弃。主体结构混凝土,内部有钢架支撑,东西长六十二米,南北宽三十八米。正门朝南,北侧有卸货平台,西侧有附属的维修车间和工具房。 她记得那张地图上的每一个细节。 仓库内部此刻在她脑海里展开成三维模型——她现在的位置距离正门约十五米,左侧是堆积如山的废弃木质货箱,那些箱子已经腐朽,堆叠得摇摇欲坠。右侧是几排生锈的金属货架,上面空无一物。正前方二十米处,有一根粗大的混凝土立柱,立柱后面—— 水管。 通风管道。 维修通道的入口。 路容动了。 她没有冲向门口,没有试图从三个成年男性之间挤过去——那是自杀。她猛地向左转身,用尽全身力气撞向那堆木质货箱。 撞击的瞬间,她听到了木头碎裂的声音。 沉闷,干涩,像骨头折断。 货箱堆摇晃起来,最上层的几个箱子失去平衡,轰然倒塌。腐朽的木板、断裂的木条、还有不知名的金属零件像瀑布一样倾泻而下,砸在地面上,扬起漫天灰尘。灰尘钻进鼻腔,带着霉味和铁锈味,呛得她咳嗽起来。 强光手电的光束在灰尘中变得浑浊,像探照灯穿过浓雾。 “操!” “小心!” 门口传来咒骂和惊呼。那三个人显然没料到她会这么做——不逃,反而制造混乱。 路容在撞向货箱的同一秒,右手已经从背包侧袋里掏出了那个加密硬盘。金属外壳冰凉,指纹锁的红色指示灯在灰尘中微弱闪烁。她的手指触碰到硬盘底部——那里有一个不起眼的凹槽,是之前“v”展示时她注意到的设计细节。 她冲向那根混凝土立柱,在靠近立柱基座的位置,地面有一道裂缝。裂缝不宽,约两厘米,但很深。裂缝边缘长着几簇枯黄的杂草。 路容蹲下身,把硬盘塞进裂缝。 金属外壳与混凝土摩擦,发出细微的刮擦声。硬盘卡在裂缝中间,红色的指示灯朝下,从外面几乎看不见。她抓起一把灰尘和碎石,撒在裂缝周围,掩盖痕迹。 整个过程不超过三秒。 然后她起身,朝着立柱后方狂奔。 她的运动鞋踩在满是灰尘的水泥地上,发出急促的啪啪声。肺部像要炸开,每一次呼吸都带着灰尘的颗粒感。手臂上的伤口——之前翻铁丝网时划破的——开始剧烈疼痛,温热的血液顺着小臂流下来,滴在地上。 但她不能停。 立柱后面,正如卫星地图显示的那样,有一排粗大的水管沿着墙壁铺设。水管是铸铁的,表面布满红褐色的锈迹,直径约三十厘米。水管上方是通风管道,方形,铁皮已经锈穿,露出里面发黑的保温棉。 水管和墙壁之间,有一个狭窄的缝隙。 缝隙宽度不到四十厘米。 路容侧身挤进去。 铁锈蹭在她的衣服上,留下暗红色的污迹。通风管道垂下来的保温棉碎屑落在她的头发和肩膀上,像灰色的雪花。缝隙里弥漫着一股潮湿的霉味,混合着铁锈和某种化学品的刺鼻气味。 她挤过五米长的缝隙,眼前出现了一个低矮的洞口。 维修通道的入口。 洞口约六十厘米见方,边缘是不规则的混凝土,像是当年施工时留下的检修口。洞口里面一片漆黑,深不见底。洞口上方用红色油漆刷着几个已经褪色的字:“严禁入内”。 路容没有任何犹豫,弯腰钻了进去。 洞口比她想象的更窄,她必须匍匐前进。通道地面是粗糙的水泥,硌得膝盖生疼。通道里漆黑一片,只有从入口透进来的微弱光线,勉强能看清前方一两米。空气浑浊,带着浓重的尘土味和老鼠粪便的腥臊。 她听到身后传来追赶的脚步声。 “那边!” “钻进去了!” “妈的,这洞这么小——” 声音被通道的墙壁阻隔,变得模糊不清。路容加快速度,手掌和膝盖在粗糙的水泥地上摩擦,火辣辣地疼。她能感觉到灰尘钻进指甲缝,钻进衣服的每一个纤维缝隙。 通道向前延伸,似乎没有尽头。 黑暗像浓稠的墨汁包裹着她。她的呼吸在狭窄的空间里回响,急促而沉重。汗水从额头滴下来,流进眼睛,刺痛。手臂上的伤口在爬行时不断摩擦地面,疼痛一阵阵袭来,像有烧红的铁丝在皮肤里搅动。 但她不敢停。 通道开始向下倾斜。 坡度不大,但足以让她控制不住速度。她用手肘撑住两侧墙壁,减缓下滑的趋势。墙壁湿漉漉的,摸上去滑腻,像是长满了苔藓。苔藓的触感冰凉而柔软,带着腐烂植物的腥气。 前方出现一点微光。 路容精神一振,加快速度。 光点越来越大,逐渐变成一个圆形的出口。月光从出口照进来,在通道地面上投下一个模糊的光斑。出口外面传来风吹过草地的沙沙声,还有远处海浪的轰鸣。 她爬到出口边缘,探头向外看。 外面是仓库后面的荒草地。 月光很亮,银白色的光辉洒在及膝高的杂草上,草叶上挂着露珠,反射着细碎的光。草地一直延伸到远处的防波堤,堤岸那边是漆黑的海面。空气中弥漫着海水的咸腥和青草的清香,夜风拂过脸颊,带着凉意。 路容深吸一口气,爬出通道。 她的衣服已经脏得不成样子——深灰色运动服沾满了灰尘、铁锈、苔藓的绿色污迹,还有手臂伤口渗出的暗红色血迹。膝盖处的布料磨破了,露出里面擦伤的皮肤。手掌也破了,火辣辣地疼。 但她顾不上这些。 她站起身,环顾四周。 仓库巨大的混凝土墙体在她身后耸立,像一座沉默的黑色山峦。维修通道的出口隐藏在墙根的一丛茂密杂草后面,从外面很难发现。正门方向传来叫骂声和脚步声,那三个人显然还在仓库里寻找。 路容转身就跑。 她冲进荒草地,杂草刮过小腿,发出唰唰的声响。露水打湿了她的裤脚,冰凉的感觉顺着皮肤蔓延。月光把她的影子拉得很长,在草地上扭曲变形。 她跑向预先勘察好的小路。 那条小路在荒草地东侧,沿着一条废弃的排水沟延伸。排水沟里没有水,只有干涸的淤泥和垃圾。小路很窄,只容一人通过,两旁长满了带刺的灌木。灌木的枝条勾住她的衣服,她用力扯开,布料撕裂的声音在寂静的夜里格外清晰。 身后传来引擎的轰鸣。 汽车发动的声音。 路容的心跳漏了一拍。她回头瞥了一眼——仓库正门方向,两束车灯亮起,刺破黑暗。那是一辆黑色的suv,车型很大,正在调头。 他们开车追来了。 路容咬紧牙关,加快速度。 她的肺像要炸开,每一次呼吸都带着血腥味。小腿肌肉开始抽搐,每一步都像踩在刀尖上。手臂的伤口还在流血,温热的液体顺着指尖滴落,在月光下呈现暗红色。 但她不能停。 小路在前方拐弯,拐进一片更茂密的灌木丛。灌木丛后面是城中村的边缘——低矮的自建房挤在一起,窗户里透出零星的灯光。空气中开始出现油烟味、垃圾发酵的酸臭味、还有劣质香皂的气息。 路容冲进城中村的小巷。 巷子很窄,两侧是斑驳的砖墙,墙根堆着垃圾袋和废弃的家具。地面湿漉漉的,不知道是污水还是露水。一只野猫从垃圾桶旁窜过,发出尖锐的叫声。 她在一栋三层小楼前停下。 抬头,二楼最右侧的窗户——窗帘紧闭,没有光亮。 安全屋。 路容靠在墙上,大口喘气。汗水浸透了衣服,黏糊糊地贴在身上。手臂的伤口疼痛加剧,她能感觉到血液已经浸透了整只袖子。肺部火辣辣地疼,喉咙干得像要冒烟。 她休息了十秒钟。 然后掏出钥匙——一把普通的铜钥匙,插进锈迹斑斑的铁门锁孔。锁芯转动的声音在寂静的巷子里格外响亮。她推开门,闪身进去,反手锁上。 楼梯间里,声控灯应声亮起。 昏黄的光线照亮了狭窄的楼梯——水泥台阶已经磨损,边缘露出里面的石子。墙上贴满了小广告,层层叠叠,像某种皮肤病。空气里弥漫着一股灰尘和霉味,混合着楼下某户人家传来的炖肉香气。 路容走上二楼。 在房门前停下,侧耳倾听。 里面没有任何声音。 她插入钥匙,转动,门开了。 一股更浓的灰尘和霉味扑面而来,钻进鼻腔,让她想打喷嚏。她忍住,闪身进去,反锁房门,靠在门板上。 黑暗。 绝对的黑暗。 窗帘拉得很严实,一丝光都透不进来。房间里安静得能听到自己的心跳声,还有血液在耳膜里流动的嗡嗡声。 路容在黑暗中站了半分钟。 让眼睛适应黑暗,也让紧绷的神经稍微放松。肾上腺素开始退去,虚脱感像潮水一样涌上来。她的腿发软,几乎站不住。手臂的伤口疼痛变得清晰而尖锐,每一次心跳都带动着伤处的抽痛。 (本章未完,请点击下一页继续阅读)第37章:惊险脱身(第2/2页) 她摸黑走到窗边。 掀起窗帘一角,看向外面的巷子。 空无一人。 只有那只野猫又回来了,在垃圾桶旁翻找着什么。远处传来电视的声音,还有小孩的哭闹。城中村的夜晚就是这样,嘈杂而真实,充满了生活的烟火气。 路容放下窗帘。 她打开手机,屏幕的光照亮了房间——也照亮了她苍白汗湿的脸。 房间很小,不到十平米。一张单人床,床垫上铺着廉价的蓝色格子床单。一张旧书桌,桌面上落满灰尘。一把塑料椅子。墙角堆着几个纸箱,里面是她搬进来时放的一些杂物——换洗衣服、洗漱用品、还有那台经过老吴改造的笔记本电脑。 简陋,但隐蔽。 路容走到书桌前,拉开抽屉,拿出一个小型急救包。这是沈薇坚持让她准备的,里面有一些基础药品和包扎用品。 她坐下来,用手机屏幕的光照明,开始处理伤口。 手臂上的伤口比想象中深——铁丝划出了一道约五厘米长的口子,边缘不规则,皮肉外翻。血已经凝固了一部分,但还有新鲜的血液渗出来。伤口里嵌着一些细小的沙粒和铁锈。 路容用酒精棉球消毒。 酒精触碰到伤口的瞬间,剧烈的刺痛让她倒吸一口凉气。她的手指颤抖,几乎握不住棉球。但她咬着牙,一点一点清理伤口。沙粒被挑出来,铁锈的痕迹擦不掉,已经渗进了皮肤。 清理完毕,她涂上消炎药膏,用纱布包扎。 整个过程她做得很慢,但很仔细。包扎完毕,她活动了一下手臂——疼痛还在,但至少血止住了。 然后她拿起手机。 屏幕还亮着,显示着时间:凌晨一点十七分。 她在加密通讯软件里找到老吴的头像——一个黑色的猫影,那是老吴自己设计的加密标识。她点开对话框,输入信息。 手指在屏幕上敲击,每一个字都打得很稳。 “老吴,紧急。我需要你立刻检查我的所有设备。另外,我拿到了一个加密硬盘,需要安全读取的方案。现在。” 发送。 消息显示“已送达”,但老吴没有立刻回复。这个时间,他可能睡了,也可能还在线上——老吴的作息向来不规律。 路容放下手机,靠在椅背上。 疲惫像山一样压下来。她的眼皮沉重,几乎要合上。但她强迫自己保持清醒,从背包里——不,背包丢了。她想起那个黑色的双肩包,里面有离线钱包、隔离手机、战术手电筒、防狼喷雾,还有沈薇给她的那些小工具。 全丢了。 在仓库里,她撞向货箱的时候,背包从肩上滑落。她当时没有时间去捡——也没有必要去捡。硬盘已经藏好,背包里的东西虽然重要,但比起硬盘,都是可以舍弃的代价。 只是代价有点大。 离线钱包里有她的加密货币资产——虽然大部分已经转给了“v”,但还有一些零散的余额。隔离手机是专门用于这次交易的,里面没有个人信息,但设备本身有序列号,如果被李剑的人拿到,可能会通过技术手段追踪到购买渠道。 还有沈薇给她的那些工具。 路容闭上眼睛。 沈薇。 她想起几个小时前,在码头区,她按下那个紧急求救按钮。沈薇现在应该已经赶到了旧港三号仓库,看到了她丢弃的背包,还有那些打斗的痕迹。沈薇会担心,会害怕,会一遍又一遍打她的电话。 路容拿起手机,点开另一个加密通讯软件。 果然,有十七条未读消息,全部来自沈薇。 “容容,你在哪?” “我到了码头区,看到你的背包了。” “地上有血,你受伤了?” “回我消息!” “求你了,回我一句。” “我已经报警了,但警察说失踪不到二十四小时不能立案。” “容容,别吓我...” 最后一条消息是十分钟前发的:“我还在码头区找你。如果你看到消息,告诉我你还活着。” 路容的手指悬在屏幕上。 她应该回消息,报平安。但她不知道该说什么——说她还活着,但受伤了?说她拿到了硬盘,但背包丢了?说她现在在一个安全屋,但不知道能安全多久? 最终,她输入了三个字:“我还好。” 发送。 几乎立刻,沈薇回复了:“你在哪?我去找你。” “不能见面。”路容打字,“有人追查。我暂时安全。” “你受伤了?地上的血——” “皮外伤,处理过了。” “硬盘呢?” “拿到了,但暂时不能取回。仓库被盯上了。” “李剑的人?” “嗯。” 对话框显示“对方正在输入...”,持续了很长时间。最终,沈薇发来一段话:“容容,我知道你不想让我涉险。但如果你需要帮助,任何帮助,告诉我。我永远站在你这边。” 路容看着那段话,眼眶发热。 她深吸一口气,回复:“我知道。谢谢你,薇薇。但现在,你什么都不要做。回家,睡觉。如果我需要你,我会联系你。” “你保证?” “我保证。” 对话结束。 路容放下手机,靠在椅背上。房间里一片寂静,只有远处城中村传来的零星声响。她看着天花板——天花板上有一片水渍,形状像地图上的某个岛屿。 她的思绪回到那个硬盘。 加密硬盘,指纹锁,交易id后六位密码。 硬盘现在藏在仓库立柱基座的裂缝里。那个位置隐蔽,但并非绝对安全——如果李剑的人仔细搜查仓库,可能会发现。而且,硬盘本身可能有问题。 “v”的身份太神秘,动机不明。他为什么会有李剑非法数据交易的完整证据?为什么选择她交易?为什么在交易完成后立刻逃离,像是早就知道会有追兵? 还有追兵出现的时间点——太巧了。 就像...就像这一切都是设计好的。 路容的背脊发凉。 如果这是一个局呢? 如果“v”和李剑是一伙的,硬盘是诱饵,就等她去取,然后人赃并获? 或者,硬盘本身有追踪装置,或者病毒,一旦连接电脑,就会暴露她的位置,或者销毁她电脑里的所有数据? 各种可能性在她脑海里翻腾,像一锅煮沸的毒药。 手机震动。 老吴回复了。 “设备检查需要物理连接。你在哪?我可以远程指导你操作,但最好把设备带过来。硬盘读取更复杂——指纹锁的加密级别很高,暴力破解需要时间。而且,如果硬盘有物理自毁机制或者追踪芯片,贸然连接会触发。” 路容打字:“设备检查可以远程指导。硬盘...仓库那个硬盘,还能不能安全取回?” 老吴的回复很快:“风险极高。如果对方设局,硬盘周围可能有监控,或者硬盘本身有定位。我建议先按兵不动,从其他渠道验证‘v’提供的样本文件的真实性。如果样本文件是真的,硬盘大概率也是真的。如果样本文件有问题...” 他没有说完。 但路容明白他的意思。 如果样本文件是伪造的,那硬盘就是彻头彻尾的陷阱。 她回复:“样本文件我已经分析过,数据结构和时间戳都没有问题。但元数据被清理得很干净,找不到来源。” “交给我。”老吴说,“我通过一些...非正规渠道,做更深的逆向分析。给我三天时间。” “好。” “现在,设备检查。你的电脑在身边吗?” “在。” “开机,不要连接网络。我一步步教你。” 路容打开那台经过改造的笔记本电脑。屏幕亮起,幽蓝的光照亮了她的脸。她按照老吴的指示,进入bios界面,检查启动项;运行离线杀毒软件,扫描系统文件;检查网络适配器的mac地址是否被篡改;查看系统日志,寻找异常登录记录。 每一个步骤她都做得很仔细。 汗水从额头滴下来,落在键盘上。手臂的伤口在操作时不断被牵动,纱布下面传来阵阵刺痛。但她没有停,手指在键盘上快速敲击,执行着老吴发来的每一条指令。 时间一分一秒过去。 窗外的天色开始泛白。 凌晨四点二十分,检查完毕。 “没有发现追踪程序。”老吴最后总结,“你的设备是干净的。但我不确定对方是否通过其他方式定位你——手机基站三角定位,或者车牌识别。你回来的路上,有没有被跟踪?” 路容回想。 从仓库到城中村,她走的是预先勘察好的路线,避开了主要道路和监控。但城中村入口有几个治安摄像头,她当时太匆忙,没有注意是否被拍到。 “不确定。”她如实回答。 “那就假设有。”老吴说,“安全屋不能长待。最多两天,你必须换地方。” “明白。” “硬盘的事,等我消息。” “好。” 对话结束。 路容合上笔记本电脑。 房间里重新陷入黑暗——但已经不是纯粹的黑。窗帘边缘透进一丝灰白的光,那是黎明的前兆。远处传来鸡鸣声,还有早起的摊贩推车经过的声音。 新的一天开始了。 而她,握着一个可能改变一切、也可能毁灭一切的秘密,躲在城市的角落里,像一只受伤的野兽。 路容躺到床上。 床垫很硬,弹簧硌着后背。廉价的床单有股消毒水的味道。但她太累了,累到顾不上这些。 她闭上眼睛。 脑海里浮现出那个加密硬盘——金属外壳,红色指示灯,藏在混凝土裂缝里,像一颗埋进地下的炸弹。 她能安全取回它吗? 取回之后,里面的证据真的能扳倒李剑吗? 还是说,这一切从一开始,就是通往另一个深渊的陷阱? 没有答案。 只有窗外渐渐亮起的天光,还有手臂伤口传来的、持续不断的、真实的疼痛。 第38章:硬盘疑云 第38章:硬盘疑云(第1/2页) 路容盯着手机屏幕上老吴的消息,心脏在胸腔里重重地跳了一下。 “样本文件分析有重大发现。上线。” 短短十二个字,每个字都像带着重量。她深吸一口气,清晨的空气里混杂着城中村特有的气味——隔夜的油烟、潮湿的水泥、还有远处垃圾堆传来的酸腐味。手臂的伤口在纱布下隐隐作痛,像某种持续不断的提醒。 她坐起身,床板发出吱呀的**。 笔记本电脑放在床边的小桌上,黑色的外壳在昏暗的光线里泛着冷光。她掀开盖子,按下电源键,等待系统启动的几秒钟里,她看向窗帘缝隙——那道锐利的光痕已经移动了位置,变得更宽,更亮。楼下早点摊的吆喝声此起彼伏,油条下锅的滋啦声、豆浆机嗡嗡的转动声、还有食客模糊的交谈声,这些声音构成了一种奇异的日常背景音,与她此刻的处境形成荒诞的对比。 系统启动完毕。 路容连接上加密vpn,打开那个只有三个联系人的通讯软件。老吴的头像已经亮着——那是一张像素很低的风景照,模糊的山峦轮廓,像是二十年前的旧照片。 她敲击键盘。 “我来了。” 消息发送出去的瞬间,老吴的回复就跳了出来,快得像是早已准备好。 “设备检查结果出来了。你的电脑、手机、变声器,所有随身设备都没有被植入追踪程序。对方要么没来得及,要么根本没打算用这种方式。” 路容盯着屏幕,手指悬在键盘上方。 这应该是好消息。 但她心里却涌起一股更深的寒意。 “为什么?”她打字问。 “两种可能。”老吴的回复很冷静,带着技术人员的客观,“第一,他们没料到你会逃掉,所以没做后手。第二,他们有更简单有效的方法——比如,在硬盘本身做手脚。” 路容的手指收紧。 “硬盘?” “对。”老吴说,“我查了旧港三号仓库的产权记录。那片区域三个月前被一家空壳公司收购,公司注册地在开曼群岛,层层穿透之后,最终受益人模糊。但收购时间点,正好是‘v’第一次在暗网论坛发布出售信息的同一周。” 路容感到喉咙发干。 她端起桌上的水杯,喝了一口。水是昨晚烧的,已经凉透,带着一股塑料水壶特有的味道。 “你是说,仓库可能是他们准备好的场地?” “可能性很大。”老吴说,“如果我是设局者,我会在硬盘里植入定位芯片,或者更简单——在仓库里安装隐蔽摄像头和运动传感器。等你回去取硬盘的时候,人赃并获。” 路容闭上眼睛。 脑海里重现昨晚的场景——仓库里堆积如山的废弃货箱、生锈的金属货架、混凝土立柱、还有那个裂缝。她把硬盘塞进去的时候,手指触碰到的混凝土表面粗糙冰冷,裂缝边缘有细小的碎屑剥落。 当时她太匆忙,太紧张,根本没有仔细检查周围环境。 现在回想起来,每一个细节都变得可疑。 “v的突然逃跑,追兵的出现,时间掐得太准了。”老吴继续说,“就像排练好的剧本。你拿到硬盘,他逃跑,追兵出现,你被迫藏匿硬盘逃命——整个过程,硬盘始终没有离开仓库。而你知道硬盘在哪里,一定会回去取。” 路容睁开眼睛。 屏幕的光刺得她眼睛发酸。 “所以硬盘是诱饵。” “大概率是。”老吴说,“但也不排除另一种可能——v是真的想交易,但被李剑的人发现了,仓促逃跑。硬盘里的证据是真的,只是现在取回的风险极高。” 路容沉默了几秒。 窗外的吆喝声突然变得清晰起来,一个男人用浓重的方言喊着“豆浆油条热乎的”,声音洪亮,穿透力极强。这声音让她想起三年前,她还在天启科技的时候,每天早上公司楼下也有类似的早点摊。那时候她总是匆匆买一杯咖啡,然后挤进电梯,脑子里想的全是当天的数据分析方案。 那时候的她,以为世界是透明的,规则是清晰的。 多么天真。 “我需要判断。”她打字,“判断硬盘的真伪,判断v的身份和动机。” “样本文件。”老吴说,“你之前从v那里拿到的样本文件,还有备份吗?” “有。”路容说,“我上传到加密云盘了。” “发给我。我做一个深度逆向分析——不只是看数据结构和时间戳,我要挖到元数据最底层,看文件创建历史、编辑痕迹、甚至可能残留的设备信息。” “需要多久?” “三天。”老吴说,“这需要动用一些非常规手段,还要绕过一些安全协议。三天是最快速度。” 路容没有犹豫。 “好。” 她登录加密云盘,找到那个命名为“样本_验证_0723”的文件夹。里面有三个文件:一份财务报表的加密片段、一份内部会议纪要的扫描件、还有一份数据流向图的截图。这些都是v为了证明自己手中有真货而提供的“样品”。 路容选中文件夹,加密压缩,通过软件的安全传输通道发送给老吴。 文件传输进度条开始缓慢移动。 1%...5%...12%... 她盯着那个蓝色的进度条,突然想起什么。 “老吴。” “?” “如果硬盘是陷阱,李剑为什么要这么大费周章?他可以直接派人抓我,或者用其他方式让我消失。” 屏幕那头沉默了几秒。 然后老吴的回复跳出来,字数比之前多。 “因为要坐实罪名。” 路容的手指停在键盘上。 “商业间谍罪,需要证据。如果你只是‘若溪’,一个普通员工,他可以用任何理由开除你。但如果你被当场抓住窃取公司核心数据——而且是物理载体,人赃并获——那就不只是开除的问题了。那是刑事犯罪,可以判刑的。” “而且,”老吴继续打字,速度很快,“如果你在取硬盘的时候‘拒捕’、‘袭警’、甚至‘意外死亡’,整个故事就圆满了。一个试图窃取公司机密的商业间谍,在交易现场与同伙发生冲突,被警方或安保人员制止时暴力反抗,最终……” 老吴没有打完这句话。 但路容已经明白了。 她的后背渗出冷汗。 空调早就坏了,房间里闷热潮湿,汗水浸湿了她身上那件廉价的t恤,布料黏在皮肤上,很不舒服。手臂伤口的纱布边缘又开始发痒,那是伤口在愈合的征兆,也可能是感染的开始。 “所以我现在不能动。”她打字,手指有些僵硬,“不能回仓库。” “至少在我分析出结果之前,不能。”老吴说,“这三天,你待在安全屋,尽量不要外出。如果必须出去,避开所有监控,换装,注意反跟踪。你的背包丢了,里面有什么?” 路容的心沉下去。 “离线钱包、备用手机、战术笔、防狼喷雾、还有……”她停顿了一下,“我的身份证复印件。” 老吴发来一个省略号。 然后是:“问题不大。复印件没有芯片,无法直接定位。但如果你用那个身份住过酒店、坐过高铁,李剑可以通过关系网查到记录。安全屋的地址,你用真实身份登记过吗?” “没有。”路容说,“我用的是假身份,现金支付。” “那就好。”老吴说,“保持警惕。三天后,我给你结果。” “谢谢。” “不用谢我。我只是不喜欢看好人被欺负。” 说完这句话,老吴的头像暗了下去。 路容盯着屏幕,直到那个灰色的头像彻底静止。 房间里只剩下电脑风扇低沉的嗡嗡声,还有窗外越来越嘈杂的市井声。阳光已经完全照进房间,在地板上投出一片明亮的光斑,光斑里飞舞着细小的尘埃,像微观世界里的星云。 她关掉电脑,靠在椅背上。 疲惫像潮水一样涌上来。 不是身体上的疲惫——虽然手臂的伤口还在疼,虽然昨晚只睡了不到四个小时。而是一种更深层的、精神上的消耗。每做一个决定,都要权衡无数种可能;每走一步,都要设想十种后果。这种持续的高压状态,像一根绷紧到极限的弦,随时可能断裂。 她想起三年前。 被李剑构陷的那天,也是这样的早晨。她走进办公室,发现所有人的目光都变得奇怪,然后保安过来,说请她去会议室“谈谈”。会议室里坐着李剑、人事总监、还有法务部的人。李剑脸上挂着那种虚伪的关切表情,说“小路啊,我们接到举报,怀疑你泄露了‘深蓝计划’的核心数据”。 她当时是什么反应? 震惊。愤怒。然后是不敢置信。 她试图解释,拿出自己的工作记录、邮件往来、数据备份。但李剑只是摇头,说“这些都可以伪造”。法务部的人递过来一份文件,上面有她的“认罪书”——笔迹模仿得很像,但仔细看能看出破绽。可当时没有人给她“仔细看”的机会。 她被保安“护送”出大楼。 那天下午,行业内部论坛就出现了关于“天启科技前员工路容因商业间谍被开除”的帖子。帖子写得很有技巧,没有直接定罪,但用各种暗示和“据知情人士透露”的句式,把她的名声彻底毁掉。 她记得自己站在公司楼下,看着那栋玻璃幕墙大厦在夕阳下反射着金光。 那时候她在想什么? 好像什么都没想。 大脑一片空白。 (本章未完,请点击下一页继续阅读)第38章:硬盘疑云(第2/2页) 然后就是长达三年的沉寂——不,不是沉寂,是缓慢的窒息。她投出去的简历石沉大海,偶尔有面试,对方一听到她的名字就会露出微妙的表情。曾经的同事和朋友,有的相信她,但不敢公开支持;有的直接拉黑了她;还有的,像王总监那样,落井下石,抢走了她所有的项目成果。 路容睁开眼睛。 窗外的阳光刺得她流眼泪。 她抬手擦掉,动作牵动了手臂的伤口,一阵尖锐的疼痛让她倒吸一口冷气。 疼痛是好的。 疼痛让她清醒,让她记住自己为什么在这里,为什么要做这一切。 她站起身,走到窗边,掀起窗帘的一角。 楼下是一条狭窄的巷子,两侧是密密麻麻的自建房,外墙贴着各种颜色的瓷砖,有些已经剥落,露出灰色的水泥。巷子里人来人往——提着菜篮子的老人、赶着上班的年轻人、追逐打闹的孩子。一辆电动车按着喇叭挤过人群,车篮里装着满满的外卖箱。 这是一个完全不同的世界。 光鲜亮丽的深港市背面,还有无数个这样的城中村,像城市的褶皱,藏着不被看见的生活。 路容放下窗帘。 她需要食物,需要水,还需要换药。 但老吴的警告在耳边回响:尽量不要外出。 她走到房间角落,那里堆着几个塑料袋——是她昨天匆忙采购的物资。她翻出一袋面包,包装已经有些压扁,面包边缘发硬。还有一瓶矿泉水,一瓶碘伏,一包棉签,几卷新纱布。 她坐回床边,小心地拆开手臂上的旧纱布。 伤口露在空气中——一道大约五厘米长的划伤,边缘红肿,中间结了一层薄薄的血痂。还好,没有化脓的迹象。她用棉签蘸取碘伏,轻轻擦拭伤口。碘伏接触皮肤的瞬间,传来一阵冰凉的刺痛,接着是灼烧感。 她咬住下唇,没有发出声音。 换好药,重新包扎,她撕开面包包装,就着矿泉水慢慢吃。面包很干,咽下去的时候刮着喉咙。但她强迫自己吃完——身体需要能量,无论多难吃。 吃完东西,她躺回床上。 时间才上午八点半。 接下来的三天,她要在这个不到十平米的房间里度过,等待老吴的分析结果。不能出门,不能联系外界,只能像困兽一样等待。 她闭上眼睛,试图睡觉。 但大脑不肯休息。 画面不断闪现——仓库的强光手电、v逃跑的背影、混凝土裂缝里的红色指示灯、李剑那张虚伪的脸、还有周哲…… 周哲。 路容的心抽紧了一下。 她已经三天没有联系他了。上次对话,还是她以“若溪”的身份,说家里有事要请假几天。周哲回复说“好的,注意安全”,后面还加了一个微笑的表情。 那个微笑表情,现在想起来,像一种无声的嘲讽。 她骗了他。 从名字到声音到身份,全是假的。她接近他,最初是为了获取情报,是为了利用他对李剑的不满。但不知不觉中,事情变得复杂了——他会在她加班时悄悄点一份外卖放在她桌上,会在开会时帮她挡掉王总监的刁难,会在深夜的技术讨论中,用那种专注而欣赏的眼神看着她。 那种眼神,让她想起很久以前的自己。 那个还相信努力就有回报、才华会被看见的自己。 路容翻了个身,床板又发出吱呀声。 她不能再想周哲。 现在不是时候。 她需要集中精力,思考硬盘的问题,思考v的身份,思考李剑的下一步。 如果硬盘是陷阱,李剑会等多久? 三天?五天?一周? 他一定有耐心。他是个优秀的猎人,懂得等待猎物自己走进陷阱。但如果猎物迟迟不动,他可能会改变策略——比如,放出新的诱饵,或者直接收紧包围圈。 路容想起自己丢失的背包。 如果李剑的人捡到了,他们会发现什么? 离线钱包——里面有三枚比特币,那是她准备支付给v的尾款。钱包本身是加密的,但设备序列号可能被追踪。 备用手机——那是一部经过改装的手机,安装了反监控软件,但sim卡是匿名购买的,应该查不到她。 战术笔和防狼喷雾——普通物品,没有指向性。 身份证复印件——这是最麻烦的。虽然只是复印件,但上面的照片、姓名、身份证号都是真实的。李剑可以通过关系网,在公安系统里查她的住宿记录、出行记录、甚至银行流水。 路容坐起身。 她需要做最坏的打算。 如果李剑已经通过复印件查到了她的一些信息,他可能会派人来城中村摸排。虽然这里人口密集、流动性大,但如果有心搜查,还是有可能找到线索的。 她必须提前准备。 路容下床,走到门边,透过猫眼看向外面。 走廊空荡荡的,只有一盏声控灯在昏暗地亮着。对面的房门紧闭,门把手上挂着一个“请勿打扰”的牌子。这层楼一共六个房间,她住的是最里面的一间,隔壁房间似乎一直空着。 暂时安全。 但她不能掉以轻心。 接下来的三天,她需要制定一个应急计划——如果安全屋暴露,她该如何撤离?撤离路线是什么?备用藏身点在哪里? 还有钱的问题。 她支付给v三枚比特币,那是她大部分积蓄。剩下的现金不多,还要支付安全屋的租金、购买食物和药品。如果情况恶化,她可能需要动用最后的底牌——那个藏在别处的u盘,里面有三年前她备份的部分原始数据碎片。 那是她复仇火种的唯一来源。 也是她最后的筹码。 路容走回床边,从枕头下面摸出那个u盘。银色的金属外壳,没有任何标识,轻得几乎没有重量。她握在手里,感受着金属的冰凉。 三年前,她被赶出天启科技的那天晚上,回到出租屋,打开电脑,发现所有工作文件都被远程清空了。邮箱被注销,云盘账号被封,连手机里的聊天记录都被人为删除。 但李剑漏掉了一点——她习惯在本地硬盘做一个加密备份,每周更新一次。那个备份文件藏在系统深处,用她自己编写的算法加密。被开除的那天早上,她预感不妙,趁午休时间把最新备份拷贝到了这个u盘里。 然后她删除了电脑里的所有痕迹。 这个u盘,她藏了三年。 里面的数据碎片不完整,不足以直接证明她的清白。但有一些关键的时间戳、操作日志、还有李剑当时让她“临时处理”的一些可疑文件的片段。这些碎片,像拼图的一角,指向一个更大的真相。 路容把u盘放回枕头下面。 她需要它,但现在还不是时候。 要扳倒李剑,需要更确凿、更完整的证据——比如硬盘里可能存在的交易记录、资金流向、还有他与数据黑市往来的通信记录。 前提是,硬盘是真的。 时间缓慢流逝。 窗外的光线从明亮变得柔和,又从柔和变成昏黄。城中村的声音也在变化——上午的喧嚣逐渐平息,午后的寂静被偶尔的电视声打破,傍晚时分,炒菜的油烟味从各家各户的窗户飘出来,混合成一种复杂的、充满生活气息的味道。 路容大部分时间躺在床上,保存体力。 她强迫自己睡觉,哪怕只是浅眠。她吃完了所有面包,喝光了那瓶水。手臂的伤口在第二天开始发痒,这是愈合的迹象,她小心地不去抓挠。 第三天下午,她终于忍不住,用备用手机给沈薇发了一条加密消息。 “安全。勿念。” 沈薇的回复很快:“你在哪?需要什么?” “不用。等我消息。” “路容,别硬撑。” “我知道。” 对话结束。 路容关掉手机,拔出sim卡。她不能冒险,即使对方是沈薇。 第三天晚上,夜色降临。 路容坐在黑暗中,没有开灯。窗外的霓虹灯透过窗帘缝隙,在墙上投下变幻的光影。远处传来卡拉ok的歌声,跑调严重,但唱得很投入。 她在等。 等老吴的消息。 等那个可能改变一切、也可能毁灭一切的分析结果。 晚上九点十七分,笔记本电脑的指示灯突然闪烁。 路容立刻起身,打开电脑,登录通讯软件。 老吴的头像亮着。 但没有消息。 她等了五分钟,十分钟。 就在她开始怀疑是不是网络问题时,消息跳了出来。 不是老吴。 是秦风。 “破晓”联盟的创始人,那个在线上论坛里欣赏她才华的年轻创业者。他们之前有过几次技术讨论,秦风知道她的代号是“溪流”,但不知道她的真实身份。 秦风的消息很简单,但每个字都像炸弹。 “溪流,我们对样本文件做了深度分析,发现了一些隐藏的元数据,指向一个你可能认识的人——星耀集团法务部的赵律师。这些文件,很可能来自他的某台备用设备。” 路容盯着屏幕。 房间里突然变得很安静,安静到她能听见自己血液流动的声音。 赵律师。 李剑的“白手套”。 那个负责为李剑所有非法行为披上合法外衣的人。 样本文件……来自他的设备? 第39章:内鬼“V”? 第39章:内鬼“v”?(第1/2页) 路容的手指停在键盘上方,指尖冰凉。 屏幕的光映在她脸上,照亮了她瞳孔里骤缩的震惊。赵律师。李剑最信任的“白手套”,负责处理所有见不得光的法律擦边球。如果样本文件真的来自他的设备,那意味着什么?是赵律师背叛了李剑,主动出卖证据?还是李剑和赵律师联手,用赵律师的设备伪造了样本,设下这个天衣无缝的局? 窗外的霓虹灯还在闪烁,卡拉ok的歌声飘进房间,但路容的世界突然安静得只剩下自己沉重的心跳声。 她盯着秦风发来的那句话,每个字都像烧红的针,刺进她的视网膜。 “星耀集团法务部的赵律师。” “备用设备。” 路容闭上眼睛,深呼吸。 空气里有灰尘的味道、旧床单的霉味、还有她自己三天没洗澡的淡淡汗味。这些气味混合在一起,像一层黏腻的膜,包裹着她的皮肤。手臂伤口愈合的痒意变得尖锐,她用力按住纱布,用疼痛让自己保持清醒。 冷静。 必须冷静。 她重新睁开眼睛,手指在键盘上敲击。 “秦风,我需要更详细的报告。元数据的具体内容、指向赵律师设备的证据链、文件创建和修改的时间戳。一切细节。” 消息发送出去。 等待回复的间隙,路容站起身,在狭小的房间里踱步。地板是老旧的水泥地,踩上去发出轻微的摩擦声。她走到窗边,掀起窗帘一角,向外望去。 夜色中的城中村像一座迷宫。密密麻麻的握手楼挤在一起,窗户里透出各种颜色的光——惨白的日光灯、昏黄的白炽灯、还有电视机闪烁的蓝光。晾衣杆从窗户伸出来,挂着五颜六色的衣服,在夜风里微微晃动。楼下巷子里,几个年轻人蹲在路边抽烟,红色的烟头在黑暗里明灭。 一切看似平静。 但路容知道,平静只是表象。 她放下窗帘,回到电脑前。 秦风的消息还没来。 路容打开一个空白文档,开始梳理所有线索。 第一,“v”在暗网论坛发布出售信息的时间,是三个月前。 第二,旧港三号仓库被空壳公司收购的时间,也是三个月前。 第三,样本文件的分析结果显示,这些文件来自赵律师的备用设备。 第四,赵律师是李剑的“白手套”,负责处理所有非法交易的“合法化”包装。 路容在文档里敲下这些点,然后用线条连接。 如果“v”就是赵律师—— 为什么? 她盯着屏幕,脑海里飞速运转。 动机。 任何行为的背后都有动机。赵律师出卖李剑的动机是什么? 钱? 路容摇头。赵律师作为星耀集团法务部负责人,年薪至少三百万起步,加上李剑私下给的好处费,他根本不缺钱。而且,如果只是为了钱,他完全可以用更安全的方式——比如把证据卖给李剑的竞争对手,而不是在暗网上匿名出售,还冒险接触一个身份不明的买家。 除非…… 路容的手指停住。 除非赵律师要的不是钱,而是别的什么东西。 保护自己? 这个念头像一道闪电,劈开她脑海里的迷雾。 李剑是什么样的人,路容比谁都清楚。三年前,他可以为了掩盖潜规则未遂的丑闻,毫不犹豫地构陷自己最得力的下属。三年后,他只会更加狠辣,更加不择手段。 赵律师作为李剑的“白手套”,知道太多秘密。 而这些秘密,随时可能变成催命符。 如果李剑觉得赵律师已经失去利用价值,或者觉得他知道得太多,成为隐患—— 路容感到一股寒意从脊椎爬上来。 她想起三年前,李剑在办公室里对她说的最后一句话。 “路容,你要明白,在这个游戏里,棋子用完了,就该扔了。” 当时她以为那只是威胁。 现在想来,那是李剑的生存哲学。 那么,赵律师是不是也意识到了这一点?他是不是察觉到李剑可能想抛弃他这颗棋子,所以先下手为强,准备用证据作为筹码,要么自保,要么反咬一口? 又或者…… 路容的呼吸变得急促。 又或者,这一切根本就是李剑和赵律师联手做的局。 用赵律师的设备伪造样本文件,用空壳公司买下仓库设下陷阱,然后在暗网上发布信息,引诱“若溪”上钩。等她去取硬盘的时候,人赃并获,坐实“商业间谍”的罪名。到时候,李剑不仅可以彻底解决“若溪”这个隐患,还可以把三年前的“泄密案”也推到她头上,一石二鸟。 完美。 太完美了。 路容的掌心渗出冷汗。 无论哪种情况,她都处于极度危险的漩涡中心。 如果是赵律师反水,那硬盘里的证据可能是真的,但赵律师本人不可信——他今天可以出卖李剑,明天就可能出卖她。而且,他选择在暗网上匿名交易,说明他不想暴露身份,这意味着他随时可能为了自保而切断联系,甚至反过来设局。 如果是李剑和赵律师联手设局,那硬盘就是致命的陷阱。她一旦去取,就等于自投罗网。 路容咬住下唇。 血腥味在口腔里弥漫开来。 她需要更多信息。 需要验证。 电脑屏幕突然闪烁,秦风的消息跳了出来。 “报告已加密发送至你的备用邮箱。解密密钥是你上次提到的那个算法问题的答案。” 路容立刻登录备用邮箱。 果然有一封未读邮件,发件人是一串乱码,附件是一个加密压缩包。 她打开另一个文档,快速输入那个算法问题的答案——那是她和秦风在技术论坛上讨论过的一个难题,她当时给出了一个巧妙的解法。答案是一串十六进制代码。 用这串代码作为密钥,压缩包顺利解压。 里面是一个pdf文件,足足二十七页。 路容点开文件。 第一页是摘要。 “样本文件深度逆向分析报告。基于文件系统元数据、隐藏时间戳、设备标识符残留信息等多维度交叉验证,得出以下结论:” “1.样本文件原始创建设备为‘星耀集团-法务部-赵明远(赵律师)’名下登记的备用工作笔记本,设备序列号sn-2023-fw-0477。” “2.文件最后一次修改时间为三个月前,即2024年7月11日,下午3点22分。修改地点为深港市cbd区域,与星耀集团总部地理位置吻合。” “3.文件在修改后三小时内被复制到另一个存储介质,该介质型号为‘sandiskextremepro1tb便携固态硬盘’,序列号已抹除,但文件系统残留信息显示该硬盘曾连接过一台匿名设备。” “4.关键发现:在文件元数据的‘最后访问者’字段中,发现一个被常规工具隐藏的标识符——‘v_backup_0724’。该标识符与暗网论坛用户‘v’的活跃时间模式高度吻合。” 路容一页页往下翻。 报告里充满了技术术语和数据分析图表,但核心结论清晰得令人窒息。 样本文件确实来自赵律师的设备。 而且,“v_backup_0724”这个标识符,几乎就是明示。 赵律师就是“v”。 或者说,“v”使用了赵律师的设备。 路容靠在椅背上,感觉全身的力气都在流失。 房间里很闷。 老旧空调发出嗡嗡的噪音,但吹出来的风是温的,带着一股灰尘的味道。窗外传来摩托车引擎的轰鸣声,由远及近,又由近及远,最后消失在巷子深处。 她需要联系老吴。 必须确认这份报告的真实性,以及秦风在这件事里的角色。 路容重新打开通讯软件,给老吴发消息。 “收到一份关于样本文件的深度分析报告,来源是‘破晓’联盟的秦风。我需要你帮我验证报告的真实性,以及秦风这个人是否可信。” 消息发送出去。 她等了十分钟。 没有回复。 路容看了一眼时间——晚上十点四十七分。 老吴可能不在线,或者正在处理别的事情。 她不能干等。 路容站起身,走到房间角落的水龙头前,拧开开关。水流很小,淅淅沥沥地流出来,带着铁锈的褐色。她接了一捧水,泼在脸上。 冷水刺激着皮肤,让她稍微清醒了一些。 她抬起头,看着镜子里的人。 苍白,憔悴,眼下有浓重的黑眼圈。头发油腻地贴在额头上,嘴唇干裂。只有那双眼睛,依然亮得吓人,像两簇不肯熄灭的火。 (本章未完,请点击下一页继续阅读)第39章:内鬼“v”?(第2/2页) “路容,”她对着镜子低声说,“你不能乱。” 声音在狭小的卫生间里回荡,带着一种陌生的沙哑。 她回到电脑前,开始制定计划。 无论赵律师是敌是友,无论硬盘是真是假,她都必须做出决定。 时间不多了。 黑市借贷的倒计时还剩两天。 李剑的追查网可能正在收紧。 而她现在手握的线索,像一把双刃剑——用得好,可以刺穿敌人的心脏;用不好,会先割伤自己的手。 路容在文档里写下两个选项。 选项一:冒险去取硬盘。 如果硬盘是真的,她将获得扳倒李剑的关键证据。但风险极高——仓库可能是陷阱,赵律师可能设局,李剑可能已经布下天罗地网。 选项二:放弃硬盘,另寻他路。 这意味着她支付的三比特币打了水漂,也意味着她可能永远无法拿到最直接的证据。但至少能保住安全,可以从长计议,比如通过周哲、沈薇,或者其他渠道继续搜集证据。 路容盯着这两个选项,手指无意识地敲击桌面。 嗒。嗒。嗒。 声音在寂静的房间里格外清晰。 她想起三年前,自己被保安押出天启科技大楼的那个下午。 阳光很刺眼。 路边的梧桐树叶子绿得发亮。 同事们站在玻璃幕墙后面,有的低头假装工作,有的用好奇又怜悯的眼神看着她。没有人站出来为她说话,没有人质疑那份漏洞百出的“证据”。 那一刻,她明白了什么叫众叛亲离。 也明白了什么叫绝望。 三年了。 她隐姓埋名,改头换面,用“若溪”这个假身份重新活过来。她学会了伪装声音,学会了控制表情,学会了在刀尖上行走。 不是为了苟活。 是为了复仇。 为了拿回被夺走的一切。 路容闭上眼睛,脑海里浮现出李剑的脸——那张总是挂着温和笑容的脸,那双看似诚恳实则冰冷的眼睛,还有他说“路容,你很聪明,但聪明人往往死得快”时那种轻描淡写的语气。 恨意像岩浆一样在胸腔里翻涌。 她睁开眼,在文档里写下第三个选项。 选项三:验证,然后行动。 她需要先验证赵律师的真实意图,验证硬盘的安全性,然后再决定是否去取。 怎么验证? 路容的思维飞速运转。 如果赵律师真的是“v”,他选择在暗网上匿名交易,说明他不想暴露身份。那么,他一定也在观察,在试探,在评估她这个“买家”是否可靠。 也许,她可以主动接触。 不是以“若溪”的身份,而是以“溪流”的身份——那个在技术论坛上小有名气的匿名分析师。 路容打开暗网论坛,登录“溪流”的账号。 她找到“v”三个月前发布的那条出售信息,下面已经有很多回复,大部分是询问价格和真实性的,但“v”从未回复过任何人。 路容点开发私信的界面。 手指在键盘上悬停了几秒,然后开始敲击。 “v,我对你的货感兴趣。但需要先验证真实性。如果你愿意,我们可以做一个测试交易——你提供一小部分样本文件中没有的关键信息,我验证后,再谈下一步。” 消息发送出去。 路容盯着屏幕,等待。 一分钟。 两分钟。 五分钟。 没有回复。 她并不意外。“v”可能已经下线,或者根本不会回复陌生人的私信。 但至少,她发出了信号。 接下来,她需要做另一件事——验证仓库的安全性。 路容打开地图软件,找到旧港三号仓库的卫星图。图像很清晰,可以看到仓库的屋顶、周边的道路、还有停放在空地上的几辆货车。 她放大图像,仔细观察。 仓库的窗户都用木板封死了,大门是厚重的铁门,看起来很久没有打开过。周边没有明显的监控摄像头,但路容知道,隐蔽摄像头可以伪装成任何东西——路灯、广告牌、甚至垃圾桶。 她需要实地侦察。 但一个人去太危险。 路容想起老吴。 如果老吴能提供技术支持,比如用无人机进行远程侦察,或者入侵周边的公共监控系统,查看最近有没有可疑人员活动…… 她看了一眼通讯软件。 老吴的头像还是灰色的。 还没上线。 路容叹了口气,关掉地图软件。 她感到疲惫像潮水一样涌上来,从脚底蔓延到头顶。三天的高度紧张,加上伤口的消耗,她的身体已经快到极限。 但她不能睡。 至少现在不能。 路容强迫自己站起来,在房间里做简单的伸展运动。手臂的伤口在动作中被拉扯,传来一阵刺痛。她咬紧牙关,继续活动关节。 血液流动起来,头脑稍微清醒了一些。 她回到电脑前,打开星耀集团的内部系统——用的是“若溪”的账号。 系统界面很熟悉。 蓝色的主题色,简洁的布局,还有右上角那个小小的员工头像——照片里的“若溪”笑容温婉,眼神清澈,和此刻镜子里的她判若两人。 路容浏览着最近的公司通知。 大部分是日常事务——项目进度汇报、部门会议安排、员工培训通知。 然后,她看到了一条新发布的系统公告。 标题是:“关于召开集团第三季度董事会汇报会的通知”。 路容点开。 “致全体员工:集团定于下周三(10月23日)上午9点,在总部大楼顶层会议室召开第三季度董事会汇报会。会议将审议本季度经营情况、重点项目进展及下季度规划。要求各部门总监、副总监及骨干员工列席。具体名单由各部门负责人确定后上报。” 她的心跳漏了一拍。 董事会汇报会。 李剑一定会出席。 而且,作为“深蓝计划”的参与人员,她很可能被要求列席。 就在这时,电脑右下角弹出一条即时消息。 发件人:王总监。 路容点开。 “若溪,看到董事会汇报会的通知了吧?李总特别交代,你是‘深蓝计划’的数据分析骨干,到时候可能需要回答董事们关于数据模型和预测准确性的提问。好好准备,别给部门丢脸。” 消息后面还跟了一个微笑的表情符号。 路容盯着那条消息,感觉一股寒意从脚底升起。 王总监的“提醒”,听起来像是关心,但字里行间都透着一种压迫感。 “李总特别交代”。 “别给部门丢脸”。 这分明是在告诉她:你必须出席,必须表现好,否则…… 路容回复:“收到,王总监。我会认真准备。” 消息发送出去。 几乎同时,王总监又发来一条:“对了,你这几天请假,是身体不舒服吗?需要帮忙的话尽管说。” 路容的手指收紧。 请假? 她根本没有请假。 “若溪”这个身份,从三天前逃离仓库袭击后,就再也没有出现在公司。按照正常流程,这属于无故旷工。 但王总监却说“你这几天请假”…… 是李剑帮她打了掩护? 还是王总监在试探? 路容强迫自己冷静下来,回复:“谢谢王总监关心,只是有点感冒,已经好多了,下周就能正常上班。” “那就好。好好休息。” 对话结束。 路容关掉聊天窗口,靠在椅背上,感觉全身的肌肉都在颤抖。 董事会汇报会。 王总监的“提醒”。 李剑的“特别交代”。 这一切,像一张正在收紧的网。 而她,就是网中央的猎物。 窗外的卡拉ok声不知道什么时候停了。 夜色深沉。 城中村的灯光一盏盏熄灭,只剩下零星几扇窗户还亮着。远处传来野猫的叫声,凄厉而悠长。 路容坐在黑暗里,只有电脑屏幕的光照亮她苍白的脸。 她看着那条系统通知,看着王总监的消息,看着暗网论坛里“v”那个灰色的头像。 所有的线索,所有的危险,所有的可能性,都在这一刻交织在一起。 像一场风暴来临前的寂静。 而她,必须在这场风暴中,找到那条生路。 第40章:风暴前夜 第40章:风暴前夜(第1/2页) 宋顾谨已然醒了五六分,此时依然保持着那个尴尬的姿势,抓着宁昭昭的手,眼里死死地盯着她。 看着张吉指着的地方,可以看出这里是一个悬崖,“连长,敌人想从悬崖出山?”二排长问道。 “那我没有做出对不起百姓的事情吧?至少来说,我比玄德公做的要好一点是吧?”徐健看着这个憨厚的虬髯大汉,笑着说道。 她倒是觉着乔恩挺好的,人长得漂亮,关键是性格她喜欢,敢爱敢恨,比心机深沉的西贝货好太多了。 张柱满地打滚耍赖,她要是气性上来立刻把人拖下去打,到时候闹起来,只会说她嚣张跋扈,无故责打下人。 “他们的身份有些敏感,你能不能帮个忙?让他们自由地出入?不用一直呆在国外?”风铃的个性虽然活泼,好像到哪里都能安家,但上官知行还是能够看得出来,她不太适应国外的生活。 他带她去采九星彩莲,眼看着她消失在他的视线,生平第一次知道什么叫心疼。 “好,想要石头也行,你先把那一千万金币还给我!”秦先生喝道。 “噗嗤!”刚从m国回来的伊拉感觉郑清鹰说话越来越幽默,把人家都杀了,还说的这样理直气壮。 微微一使力,上官知行就落入了一个滚烫的怀里——上官彻的胸膛之中。 秋风凉爽不,少年僧人不知道,四周都有谁少年僧人不知道,如今身在何方,少年僧人还是不知道。 “首先,你应该是附着在白涟身上来这儿的,你要是不来,就不会有人抓你上镇妖塔,说说,你为何前来?”张维问道。 “今天的实验是期前收缩和代偿间歇。这次实验的目的是学习在体蛙心心跳曲线的记录方法,通过在心脏活动的不同时期给予刺激,观察期前收缩与代偿间歇,了解心肌兴奋性的特点,验证心肌有效不应期特别长的特征。 “有时间就去,野菜随意挖”苍海冲着秋尚花笑了笑,带着平安转回到了家里。 安尔娜正望着叹息之墙叹息,却忽然发现身边的人消失了。 苍海一见枣下来的,蹲在地上捡呗,于是弓下了腰伸手捡起了地上的枣子,如果有挂着叶的,伸手把叶子从枣梗上揪下来,直接扔到地上。 天空中有乌云不断凝结,电闪雷鸣之声在厚重乌黑的云海里生出。 “刚才逛街无意碰到徐娜了,告诉她你这里进了新款,所以她跟我一起来看看。”陆明珠解释道,然后和徐娜娜一起挑选服装。 他错开了眼睛,终于看见静立于一边的金佛,原来在不知何时笑得阴邪。 (本章未完,请点击下一页继续阅读)第40章:风暴前夜(第2/2页) 尽管他自认自己与阿瑟之间的等级差距不大,但是对方熟练至极的剑术还有远超于普通人类的身体素质,都拉大了他们间的战力差距。 很明显,这位美国陆军准将不满足了,张国正等人不禁在心里说道:你们给我们看的,不也是这些东西吗? 这个大湖泊之中的水,正是,通过了一条条巨大的水龙卷到了外界,降落到了秀山之中去的。 喃喃低语,但童菲还是听到了,心里一暖……杜芊芊这丫头,也不枉相识一场,师生一场,确实是个贴心的可人儿。 任谁都不能否认,若要做荔儿的夫君,这样一个心甘情愿付出、总是温柔浅笑的善良少年再适合不过,他也将会是最专一痴情的好丈夫。 看了眼璀璨星空、高悬明月,白绮歌轻轻点头,迟疑片刻后将手交到宁惜醉掌心,才一碰触,柔和温度立刻从指尖传递到心里,一如他长久以来表现出的温柔体贴。 “笨蛋!你以为这是真的吗?假证而已!你仔细看一看。”陈夕嗤笑到,这一点就算他没有受过特工培训,也是可以猜想得到的。 两大联盟形成对峙局面后,联盟内的各大势力都暂时放弃原有皇城,在防线附近的分城暂住镇守。 我知道这邹少是想要坐我的位置,然后过来和丫丫蜜蜜亲近一下。只是这个座位,原本就是我坐在这里的,就算是丫丫和蜜蜜也是后面才过来的。 男子旁边的一些不死境修士见到他那惊讶的呼声,眼中顿时闪现出了一抹赤裸裸的杀意,如果不是擎苍在一旁的话,他们或许早就出手了。 而一旁的三圣母似乎玩的还是不过瘾,看到百花仙子打死也不下來的样子,赶紧对着一旁的刘彦昌使了一个眼色,示意他们一起动手对付六耳猕猴。 但是随着时间的迁移,世俗的磨砺,马的性情见见温顺,自然不像是原来的那么野性难驯。 再说这斯卡丽笑是笑了,但是这个时候她的心里竟然有些悸动,努多的话自己之前也说过,不过当时自己是调戏的意思为多,其实压根就没有这个想法。 “咔嚓!”楚云的左手准确无误的抓住了那把弯刀,让后猛地一用力,便是瞬间被楚云给捏断了,与此同时,楚云一拳轰击在血狼的胸口。 霞光镇是有月虹现象没错,但山洞里没月亮,按我分析,这条彩虹是人造的,刚才启动机关,或许吧某些特殊的灯又打开了,光线更被什么物体一折射,形成了这道“迷人”的风景。