陈默站在便利店对面的公交站台下,指尖在手机屏幕上飞快滑动。
公司内网的监控面板像片跳动的绿色星云,异常流量的曲线像条挣脱缰绳的蛇,在凌晨三点的服务器图谱里疯狂游走。
“来源 IP 己锁定,重复,己锁定至市***数据中心 17 楼主机房。”
耳机里传来运维组长王哥的声音,混着键盘敲击声和浓茶的喘息。
陈默咬开矿泉水瓶的盖子,冰凉的液体滑过喉咙时,才发现自己的心跳快得像要撞碎肋骨。
他抬头望向 17 楼的窗口。
那扇亮着的窗在雨幕里晃了晃,灯光突然暗下去半秒,又猛地亮起来,像只眨动的眼睛。
“我过去看看。”
陈默对着麦克风说,声音被风吹得发飘。
“别***,” 王哥的咳嗽声从电流里滚出来,“等天亮联系***的人就行,你一个后端程序员,还能闯进人机房不成?”
陈默没回话,把手机塞进湿透的裤兜。
他知道王哥说得对,可背包里的笔记本电脑还在发烫,屏幕上那行//云图己加载的代码像根刺,扎得他指尖发麻。
去年冬天在医院,父亲浑浊的眼睛盯着天花板,说那些异常云图的边缘,总带着 “像打字机敲出来的锯齿”。
雨势小了些,能看清写字楼旋转门旁的保安亭亮着灯。
陈默把伞收得只剩半开,露出格子衬衫的领口 —— 这是他总结的 “程序员伪装术”,只要看起来足够疲惫且无害,大多数保安不会拦着加班晚归的人。
“忘带工牌了?”
保安大叔从窗口探出头,保温杯里的枸杞在热水里翻滚。
“嗯,17 楼数据中心的,临时加个班。”
陈默扯了扯背包带,让电脑的重量压在肩膀上,制造出真实的疲惫感。
保安没再问,挥挥手放他进去。
电梯上升时,镜面映出他苍白的脸,镜片后的眼睛里全是***。
17 楼的走廊铺着深蓝色地毯,吸走了所有脚步声,只有消防通道的绿色指示灯在尽头明明灭灭。
数据中心的玻璃门虚掩着,里面透出的冷光比走廊更甚。
陈默推开门时,消毒水的味道突然涌过来,混着服务器散热风扇的嗡鸣,像某种大型精密仪器的呼吸。
靠窗的工位亮着一盏台灯。
苏晴趴在键盘上睡着了,乌黑的头发垂下来,遮住了半张脸。
她的白衬衫袖口挽到小臂,露出的皮肤上沾着几点墨水渍,右手还攥着支黑色水笔,笔尖在铺开的纸上划出道歪斜的线 —— 纸上印着的云图,和陈默手机里那条消失的彩信截图,有着惊人相似的轮廓。
陈默的脚步顿住了。
上周来修数据库时,他见过苏晴工作的样子。
她总是把头发一丝不苟地挽成发髻,说话时会推推鼻梁上的细框眼镜,声音冷静得像在念气象报告。
而此刻,她睡着的样子带着种脆弱的凌乱,台灯的光晕在她眼下投出淡淡的青影。
服务器的嗡鸣声里,突然混进阵极轻的 “嘀” 声。
苏晴猛地惊醒,攥着笔的手瞬间抬起,像只受惊的鸟。
当她看清站在门口的陈默时,瞳孔骤然收缩,手忙脚乱地想合上桌上的纸,却不小心碰倒了旁边的咖啡杯。
褐色的液体在云图上晕开,像片突然扩散的积雨云。
“你怎么在这?”
她的声音带着刚睡醒的沙哑,却努力维持着镇定,手指在桌下按了某个键,电脑屏幕瞬间黑下去。
陈默指了指自己的背包:“公司服务器收到异常流量,来源指向这里。”
他没提那条消失的彩信,也没说自己电脑上突然出现的代码,“可能是防火墙出了漏洞。”
苏晴的肩膀几不可察地松了下,重新点亮电脑屏幕,调出的数据界面干净得像张白纸。
“我们的系统很稳定,” 她推了推眼镜,镜片反射着冷光,“可能是数据同步时的正常波动。”
陈默没说话,走到离她最近的服务器机柜前。
这种老式服务器的指示灯有规律地闪烁,绿色代表正常,红色代表异常。
而此刻,第三排从左数第西个机柜,指示灯正以一种诡异的频率明暗 —— 亮 3 秒,暗 1 秒,再亮 3 秒,像在发送某种信号。
“这个机柜分管什么数据?”
他问。
苏晴的脸色突然变了:“普通的历史气象记录,没什么特别的。”
陈默没听她的,从背包里掏出笔记本电脑,连接上机柜的调试端口。
屏幕亮起时,他瞳孔猛地一缩 —— 弹出的代码界面和手机彩信里的如出一辙,只是这次的注释栏里,多了串新的字符://操作员苏晴,权限等级:3,正在执行云图修正程序“这是什么?”
陈默的声音有些发紧,指尖悬在触摸板上,不敢轻易触碰。
苏晴突然站起来,椅子腿在地毯上划出刺耳的声响。
“你无权查看内部数据!”
她的声音拔高了半度,却在看到陈默屏幕上的代码时,突然泄了气,扶着桌沿的手微微颤抖,“你也收到了?”
陈默抬头看她。
台灯的光落在她颤抖的睫毛上,刚才的冷静全消失了,露出眼底深藏的恐惧。
“上周开始的,” 她慢慢松开手,重新坐下时肩膀垮了下来,“每天凌晨三点十七分,服务器就会自动生成这些代码。
云图上的异常区域,和滨海市实际出现的天气偏差,分毫不差。”
她指着被咖啡浸湿的纸:“这片云,昨天预报在城西,实际却飘到了城东,正好覆盖你公司所在的写字楼 —— 也就是你收到异常流量的时间。”
陈默的呼吸突然变得困难。
他想起父亲临终前的话,想起林小满手腕上的疤痕,想起那把缠着红绳的伞上,有规律的雨声。
这些看似无关的碎片,此刻突然在代码的串联下,形成了一张无形的网。
“有人在操控天气?”
他听见自己的声音在发抖。
苏晴没回答,只是打开了另一个加密文件夹。
里面全是类似的云图和代码,最新的一份标注着时间 —— 明天凌晨三点十七分,目标区域:陈默住的小区便利店。
窗外的雨不知何时停了。
东方泛起鱼肚白,第一缕晨光穿过云层,在地板上投下道明亮的线。
陈默突然想起林小满说的话,她总说 “雨停的时候,云会留下脚印”。
“这些代码……” 陈默的指尖划过屏幕,“需要操作员确认才能执行。”
苏晴的目光落在他的屏幕上,沉默了很久才开口:“系统日志显示,所有确认指令都来自这个工位,但我没有……” 她的声音越来越低,“除了昨天晚上,我太累睡着了。”
陈默猛地看向她攥着笔的手。
纸上那道歪斜的线,终点正好落在云图的某个坐标 —— 经纬度换算后,正是林小满的便利店。
走廊里传来电梯到达的 “叮” 声。
苏晴瞬间合上电脑:“有人来了,你从消防通道走。”
她从抽屉里拿出张便签,飞快地写下串号码,“这是我私人电话,有情况……”她的话没说完,消防通道的门突然被推开。
几个穿制服的人走了进来,为首的男人目光锐利,首接看向苏晴:“苏助理,局长让你去趟办公室,关于昨晚的异常气象报告。”
陈默趁机退到消防通道,关门的瞬间,他看见苏晴把那张写着号码的便签揉成一团,塞进了衬衫口袋。
而她桌上的云图纸,正被穿制服的人拿起,阳光透过窗户照在上面,那些被咖啡晕开的痕迹,像片正在消散的雨云。
楼梯间的声控灯随着他的脚步亮起又熄灭。
陈默摸出手机,想把刚才拍下的代码照片发给自己,却发现相册里空空如也 —— 就像那条消失的彩信,所有证据都在以诡异的方式自我清除。
只有背包里的电脑还在发烫,屏幕上的代码静静躺着://确认失败,云图修正程序将自动执行他突然想起林小满递伞时,手腕上那道像被烫伤的疤痕。
当时没来得及细想,现在才意识到,那疤痕的形状,和代码里反复出现的cloud变量标识,几乎一模一样。