雨停了,但空气里还挂着湿气。江临川靠在墙边,手里的改装装置已经没电,屏幕彻底黑了。他慢慢把那块焊锡放回口袋,指节还在抖,像是刚从一场高强度对局里抽身。
沈知意站在门口,背影绷得很直。她没回头,只是低声说:“走吧。”
外面街道空荡,积水倒映着零星的路灯。两人沿着巷子往北走,脚步不快,却一步也没停。他们知道,现在每多暴露一秒,风险就翻倍。但广播发出去了,总得有人接住这根线。
半小时后,一辆无标识的黑色装甲车在路口停下。车门打开,陈启明坐在副驾,手里捏着薄荷糖,脸色比平时沉。他看了眼江临川,又扫过沈知意肩上的血迹,没说话,只点了下头。
车内没有多余的人,也没有多余的对话。车子启动,穿过几道检查站,最终驶入地下三层的国安主控室入口。江临川跟着他们进去时,走廊灯光忽明忽暗,像是电力系统还没完全恢复。
主控大厅亮着红灯,警报声断断续续。大屏幕上滚动着数据流,一半窗口显示“连接中断”,另一半是不断跳动的日志错误码。技术人员围在操作台前,没人抬头,手指敲得飞快。
“你们来了。”陈启明脱掉外套挂在椅背上,声音压得很低,“十分钟前,核心数据库被复制了一次。”
江临川走到中央终端前,手指搭上接口。神经耳麦自动激活,视野边缘浮现出淡蓝色的数据轨迹。他闭眼,让NCP开始预载最近三分钟内的所有访问路径。
沈知意站在他旁边,盯着屏幕上的流量图谱。她的呼吸有点重,但没吭声,只是把手撑在控制台上稳住身体。
“不是外网突破。”江临川睁开眼,“是内部权限调用。攻击者用了高阶认证令牌,模拟了你的签名流程。”他说的是陈启明。
陈启明皱眉:“我的密钥链二十四小时贴身保管,指纹+虹膜双重锁定。”
“我知道。”江临川调出一段加密日志,“但他绕过了验证机制——用了一个废弃的测试接口。”
他放大那段代码片段。字符很老,结构简单,甚至带点稚嫩的排版习惯。江临川盯着它看了两秒,喉咙突然发紧。
那是他十岁写的脚本。
父亲实验室里,他第一次尝试连接神经缓存协议原型机时,写的一段基础握手程序。后来硬盘报废,这段代码应该早就消失了。
“怎么会……”他低声说。
“什么?”沈知意转头。
“这个接口,是我小时候写的。”江临川的手指悬在键盘上方,“没人知道它存在过,除了我爸。”
房间里安静了一瞬。
陈启明盯着屏幕,脸上的肌肉抽了一下。“你是说,有人从你过去的环境里挖出了私有测试代码,并且把它嵌进了现在的攻击链里?”
“不止是嵌进。”江临川重新运行NCP,让系统以0.1秒为单位回放整个入侵过程,“他是照着我当年的操作习惯重构的路径。就像……他知道我会怎么想。”
话音未落,沈知意猛地咳嗽了一声。
她弯下腰,一只手扶住台面,另一只手捂住嘴。等她拿开手时,指尖沾着一层黑色黏稠液体,在红光下泛着油光。
“咳……”她又咳了一下,声音闷在胸口,“抑制剂……失效了……”
江临川立刻转身看她。她脸色发青,额角冒冷汗,左手紧紧攥着西装下摆,指节泛白。
“你说什么?”他声音变了。
“别问了。”她咬牙站直,下巴扬起一点,“先处理系统问题。”
陈启明已经按下紧急通讯键:“医疗组马上到!封锁所有内网出口,启动二级隔离协议!”
技术员们动作加快,几台主机切换到离线模式。但就在这一刻,主屏幕突然黑了下来。
所有人抬头。
画面闪了几下,弹出一个视频窗口。
许薇然坐在镜头中央,穿一身暗红色战斗服,眼角泪痣清晰可见。她手里攥着一支金属笔,嘴角微扬。
“江临川。”她叫他名字,像在念一道习题的答案,“你终于连上了。”
背后是一间全透明的封闭舱室,里面站着七八个穿国安制服的人,双手被锁在数据桩上,头戴神经介入环,眼睛闭着,脸上有细微抽搐。
“认识吗?”许薇然轻轻拍了下玻璃,“这些都是你曾经的合作分析员。现在他们的意识正被一点点剥离,变成纯数据包。”
江临川盯着那些脸。其中一个是他去年参加联合演练时打过照面的老队员,另一个是上个月帮他调试过终端的女工程师。
“你想干什么?”他开口,声音稳。
“不是我想干什么。”许薇然笑了,“是你还能干什么。猜猜看,你还能预载几次死亡?每一次你回溯操作,他们的脑波就会同步一次。你在试错,他们在陪葬。”
她说完,画面一闪,出现一个倒计时框:09:58、09:57、09:56……
数字跳动三秒,然后强制关闭。
主屏幕恢复原状,仿佛刚才什么都没发生。
但所有人都愣住了。
江临川站在原地,右手小指不停轻颤。银戒贴着皮肤,冰凉得不像活人的温度。他能感觉到NCP还在运行,底层数据流没有中断,可刚才那一幕让他脑子像被凿开一道缝。
沈知意靠在墙边,喘得比刚才重。她抬起手,抹掉嘴角残留的黑痕,袖口蹭上了污迹。
“她是在恐吓。”陈启明打破沉默,“倒计时不一定是真的,关押画面也可能伪造。”
“但代码是真的。”江临川盯着终端,“那段测试脚本不可能外泄,除非……有人早就在盯我。”
“从你十岁开始?”陈启明声音低下来。
“不然呢?”江临川冷笑一声,“你以为我只是个偶然冒出头的选手?我出现在联赛,是因为有人需要我站上那个位置。现在证据链断了,系统崩了,连我自己写的废代码都能变成武器——这不是巧合。”
他转头看向沈知意:“你说她想让我成为公敌,但现在她不只是在嫁祸我。她在逼我动手。只要我再用NCP做一次深度回溯,那些人就会跟着受创。”
沈知意没说话。她闭了下眼,再睁开时目光更沉。
“那就别用。”她说。
“不用?”江临川看着她,“那你告诉我,怎么查清是谁复制了数据库?怎么找到她藏在哪里?怎么阻止下一波攻击?靠人工排查?我们现在连登录记录都读不全!”
“我知道很难。”她往前半步,声音压低,“但你现在每一次使用NCP,都在给她提供反馈。你在优化路径,她也在收集你的行为模型。你越聪明,她就越了解你。”
陈启明插话:“我已经下令切断所有非必要神经接口接入。目前只有现场操作员保持低频连接。如果必须回溯,只能做单次、短时、局部预载。”
江临川没回应。他低头看着自己的手。那双手刚刚发过抖,现在又开始出汗。他知道沈知意说得对,他也知道不能停。
这不是选择题。
死死局里找活路。
他重新戴上耳麦,手指放在启动键上。
“我只需要查一件事。”他说,“那次广播发出后,有没有节点响应?哪怕只有一个。”
NCP再次激活。视野边缘的数据流开始流动,像一条逆向的时间河。他输入锚点——以南极科考站信号特征为基础,反向追踪过去十二小时内所有异常应答。
这一次,他没敢闭眼太久。
一秒钟后,提示音响起。
有一个匿名中继站,在广播发出四分钟后,传回了一组加密握手信号。来源无法定位,但协议层显示对方识别了警告内容,并尝试建立双向通道。
江临川睁眼,把坐标抄录下来。
“还有一个。”他说,“至少还有一个没被控制的人在线。”
沈知意靠在墙边,听见这话,嘴角动了一下,像是想笑,又没力气。
陈启明拿起对讲机:“通知技术组,优先排查该频率段的所有物理基站。另外,把刚才的攻击日志全部备份到离线硬盘,准备人工逐行审查。”
他顿了顿,看向两人:“我们还有时间。只要还有人愿意听,就不算输。”
江临川点点头,把终端推向前。他的右手还在抖,但手指已经按在键盘上。
沈知意站在原地,左手悄悄松开西装下摆。她低头看了眼自己的手,掌心全是汗和干掉的黑血。
她没擦。
只是把那只手慢慢收进口袋,藏了起来。
主控室的红灯依旧闪烁,屏幕上的日志瀑布般滚落。没有人离开岗位,也没有人再说话。
江临川盯着新打开的防御协议日志界面,手指悬在第一行代码上方。
他深吸一口气,准备开始排查。