雨刷左右摆动,刮出一片扇形的清晰,随即又被雨水糊满。水痕扭曲了路灯的光,在挡风玻璃上淌成发亮的细流。
车厢里很安静,只有引擎的低鸣和雨声。
沈清澜合上文件夹,笔帽扣回去时发出清脆的咔哒声。她侧过脸,看陈默闭着眼靠在那,喉结微微动了动。
“周教授的话,你信多少?”她问。
陈默睁开眼。隧道的光带已经远了,窗外是灰蒙蒙的雨幕,建筑物轮廓模糊成一片深浅不一的色块。
“信他不敢说全。”陈默说,“也信他没必要骗我。”
“那个后门。”
“嗯。”陈默坐直了些,肩膀从靠背上离开,“两个人知道的秘密。现在一个死了,一个坐在我面前,说事情没看起来那么简单。”
他顿了顿,手指无意识地摩挲着手机边缘。
“他在提醒我。”陈默说,“也在试探我。”
车拐进公司地下车库。老张把车停稳,熄了火。雨声被隔绝在外,车库里的回声反而清晰起来,轮胎碾过地面的沙沙声,远处电梯到达的叮咚声。
沈清澜先下车。高跟鞋敲在水泥地上,声音很脆。
陈默跟着下来。车库的凉气裹上来,带着一股机油和灰尘混合的味道。他扯了扯领带,结扣有点紧,勒得喉咙发干。
电梯上升。轿厢里的灯是冷的白光,照得人脸发青。沈清澜盯着跳动的楼层数字,忽然开口。
“官方渠道断了。”
“李处长那个邮件,态度很明显。”陈默说,“‘向前看’。三个字,把所有门都关上了。”
“所以?”
“所以得走别的路。”电梯门开,陈默走出去。走廊铺着地毯,脚步声被吸掉了大半。
办公室的门虚掩着。推开门,里面没开大灯,只有落地窗外的天光透进来。雨还在下,玻璃窗上爬满水痕,外面的城市像浸在水里的旧照片。
陈默脱掉西装外套,随手搭在椅背上。布料沾了雨水,摸上去有点潮。
他打开电脑。屏幕亮起,蓝光照在脸上。加密软件里,k的头像还是灰的。
沈清澜倒了杯热水,放在他手边。纸杯烫手,热气袅袅上升,在她眼镜片上蒙了层白雾。
“你要找k做什么?”她问。
“发悬赏。”陈默敲键盘,登录另一个加密平台。界面是全黑的,只有输入框泛着微弱的绿光。
沈清澜走近两步,站在他侧后方。她看得懂代码,但眼前这个界面太干净了,干净得像什么都没装。
“暗网?”
“边缘信息圈。”陈默纠正,“比暗网深一层,但也没到最底下。那里流通的不是毒品军火,是信息。旧档案,内部报告,实验室数据,还有……活人的记忆。”
他说最后几个字时,声音压得很低。
键盘敲击声在安静的办公室里格外清晰。陈默在输入框里打字,用的是自创的嵌套式混淆语法。一段话里嵌了三层隐喻,关键词全部替换成行业黑话。
“生物信息与认知研究中心”,他写成“九十年代中期的脑机接口兴趣小组”。
“天穹项目”,他写成“高层大气观测辅助实验”。
父亲的名字,母亲的的名字,都用代号替代。陈远山是“信号员老陈”,苏文琴是“数据架构师苏”。
悬赏条件列得很细。要非公开信息,要人员去向,要事故细节。特别是关于那两个人的,任何碎片都要,照片、笔记、口头回忆,甚至传言。
报酬开得高。比特币支付,分三批,验证一条付一批。
陈默打完,检查了两遍。光标在发送按钮上悬停。
“发出去,就等于在暗处点了盏灯。”沈清澜说,“不光会引来信息,也会引来注意。”
“我知道。”陈默说。
他点了发送。
屏幕上弹出确认框:消息已加密,将通过七个匿名节点跳转,预计二十分钟后抵达目标论坛。是否附加追踪后门?
陈默选了否。
进度条开始走。绿色的光带缓缓推进,像某种缓慢蠕动的生物。办公室里只有主机风扇的嗡嗡声,还有窗外绵密的雨声。
沈清澜走到窗边。她抬手擦了擦镜片,重新戴上。外面天更暗了,才下午三点多,却像傍晚。
“k那边有回复吗?”她问。
“还没。”陈默看了眼手机,屏幕是黑的,“他上线会找我。”
话音刚落下,手机震了。
不是来电,是加密软件特有的短促震动,像蜜蜂翅膀高速拍打。陈默划开屏幕,k的头像亮了。
“刚睡醒。”k发来消息,“你那个代号我查了。”
陈默打字:“说。”
“s-07,彼岸项目次级实验体编号。2005年3月入组,同年11月记录中断。签字人……”k停顿了几秒,“签字人那栏被物理涂黑,但扫描件边缘有残留笔迹压痕。我做了三维重建。”
又是一阵震动。一张图片传过来。
黑白扫描件,纸张泛黄,边缘有装订孔。签字栏那里有一团黑色墨渍,但墨渍边缘,透过强光处理,能看出半个签名的轮廓。
第一个字是“陈”。
第二个字只剩下一小半,像“远”字的走之底,又像“文”的一撇。
陈默盯着屏幕。手机的光映在他瞳孔里,两个小小的白点。
“就这些?”他问。
“就这些。”k回复,“还有件事。我查记录的时候,触发了对方的警报系统。很隐蔽的那种,埋在三层防护墙下面。”
“被发现了?”
“应该没有。我用了镜像跳板,痕迹指向东欧某个废弃服务器。”k打字速度很快,“但对方反应速度不正常。普通机构不会在二十年前的档案里埋活体警报。”
陈默没回。他靠进椅背,椅子发出轻微的吱呀声。
窗外雨声小了,变成细密的淅沥。天色却更暗,云层压得低低的,像要塌下来。
沈清澜走回来,拉过另一把椅子坐下。她没看电脑,看的是陈默的脸。
“你父亲签过字。”她说。
“可能。”陈默闭了闭眼,“也可能不是他。笔迹太模糊了。”
“但警报是真的。”
“嗯。”陈默睁开眼,“有人在守着那些旧东西。不想让人碰。”
办公室里的空气好像凝住了。电脑散热口吹出的热风,带着一股塑料加热的微焦味。沈清澜伸手把空调调低了两度,出风口叶片转动,发出咔哒一声轻响。
陈默的手机又震了。这次是加密平台的通知:悬赏已发布,置顶七十二小时。
几乎同时,第一条回复跳出来。
匿名用户,ip经过五次跳转。内容很短,用的是和悬赏同套的黑话。
“信号员老陈有个习惯。画电路图的时候,喜欢在右下角签个小写的c,外面套个圈。”
陈默盯着那句话。
他想起父亲的书桌。那张老式木桌,右上角总是堆着图纸。父亲伏案画图时背挺得很直,铅笔在纸上沙沙响。画完了,他会把图纸拿起来,对着光检查,然后在右下角签个名。
陈默那时还小,只记得是个花体字,认不全。
现在他想起来了。不是花体,是个小写的c,外面套着细细的圆圈。
他打字回复:“有证据吗?”
对方没答。三十秒后,一张照片传过来。
照片像素很低,像是老式翻拍。图纸已经泛黄,边缘卷曲,上面是密密麻麻的电路符号。右下角确实有个签名,小写的c,外面套着圈。
拍照角度有点歪,图纸旁边还露出一角桌沿,木纹很深。
陈默把照片放大。像素点糊成一团,但那个签名清晰可辨。
他点了确认。平台自动划出第一笔报酬,比特币转入对方匿名钱包。
交易完成的提示弹出来,绿色的小勾。
沈清澜凑近看屏幕。“这么快?”
“信息贩子。”陈默说,“他们手里囤着各种碎片,就等有人开价。”
第二条回复来了。这次是语音,经过变声处理,音调扁平,像机械合成。
“数据架构师苏文琴,离组前三个月,申请调阅过s系列全部实验记录。申请理由是‘数据交叉验证’,但当时项目已经进入封闭期,按理说不该再有数据流动。”
语音很短,说完就断了。
陈默点开附件。是一张申请单的扫描件,日期是2005年8月。申请人签字栏里,是母亲清秀的字迹:苏文琴。
批准栏空着。
他回复:“后来呢?”
“没有后来。”对方打字,“申请递上去就没了下文。一周后,她提交了离职报告。”
陈默付了第二笔报酬。
办公室里的光线更暗了。他没开灯,屏幕的光成了唯一光源,照着他半张脸,下颌线绷得很紧。
沈清澜起身,按亮了墙上的开关。顶灯亮起,冷白的光铺满房间,冲淡了屏幕带来的那种封闭感。
她走回来,手按在陈默肩上。指尖微凉,隔着衬衫布料,能感觉到一点温度。
“慢慢来。”她说。
陈默没说话。他盯着屏幕,第三条回复正在输入。
光标闪烁,一行字跳出来。
“事故前三天,信号员老陈从仓库领过一批耗材。清单我发你。”
附件是个excel表格,老旧的格式,单元格边框都是粗线。日期是2005年11月2日,领用人签字:陈远山。
物品栏列得很细。高频信号放大器,屏蔽电缆,还有……一套便携式生命体征监测仪。
陈默的手指停在键盘上。
实验室的标准配置里,没有便携监测仪这一项。那是野外作业用的设备,电池供电,续航七十二小时。
父亲领那个做什么?
他打字问:“东西后来还了吗?”
对方秒回:“没有记录。事故后仓库盘点,那批东西算在损耗里。”
“损耗原因?”
“写的是‘实验意外损毁’。”
陈默靠回椅背。椅子又发出吱呀一声,在安静的办公室里格外刺耳。
窗外雨停了。云层裂开一道缝隙,夕阳的余晖从缝隙里漏下来,把西边的天空染成暗红色。雨水还挂在玻璃窗上,被光线一照,像一道道血痕。
沈清澜去倒了第二杯水。纸杯捏在手里,热气蒸腾上来,熏得她睫毛上挂了细小的水珠。
“你父亲可能……”她没说完。
“可能提前知道了什么。”陈默接过话,“所以领了设备,可能想监测什么,或者……记录什么。”
他顿了顿。
“监测仪是便携的。电池撑三天。”陈默转头看沈清澜,“事故发生在11月5号晚上。”
三天时间。刚好够。
办公室里安静下来。远处传来马路上的车流声,雨停了,晚高峰开始了。喇叭声、引擎声,混成一片模糊的背景噪音。
陈默的手机又震了。这次不是回复,是k的私聊。
“悬赏刚挂出去十五分钟,已经有十七条访问记录。”k打字,“其中三条做了深度嗅探,试图反查发布源。”
“查到哪了?”
“第二跳板。我做了干扰,他们现在在追一个巴西的假ip。”k顿了顿,“但这些人手法很专业,不是普通情报贩子。”
“像什么?”
“像有组织的情报小组。或者……内部清理队。”
最后三个字让陈默脊背绷直了。
他打字:“能判断来源吗?”
“正在追踪。但需要时间,对方穿了至少五层马甲。”k回复,“另外,你刚收到的那几条信息,我同步分析了。第一条图纸照片的exif信息被抹得很干净,但分辨率模式是九十年代末某款日本扫描仪特有的。那款机型当时主要进口给科研单位。”
“第二条语音,变声算法用的是开源代码,但背景底噪里有很淡的电流声。五十赫兹工频干扰,国内电网标准。”
“第三条excel表格,文件创建时间戳是2006年1月,但最后修改时间是……”k停了两秒,“是今天下午三点四十七分。”
陈默看了眼电脑右下角。现在刚好四点整。
十三分钟前。
有人拿着保存了十八年的旧文件,在十三分钟前打开,修改,然后发给了他。
“他在等我。”陈默低声说。
“谁?”沈清澜问。
“发第三条信息的人。”陈默把屏幕转向她,“他早就存着这份领料单。今天看到悬赏,打开文件,改了个时间戳,然后发出来。”
“为什么改时间戳?”
“为了告诉我,他是活的。”陈默说,“不是从故纸堆里扒拉出来的死信息。他现在还关注着这件事,手里还有更多东西。”
沈清澜盯着那个修改时间。数字很普通,下午三点四十七分。但在这种语境下,每个数字都像带着重量。
“他想交易。”她说。
“嗯。”陈默转回屏幕,“等我开价。”
他打字回复那条信息:“你还知道什么?”
等了五分钟,没有回复。
窗外的暗红色褪成了深紫色,夜幕开始降临。远处楼宇的轮廓灯陆续亮起,一串串光点连成线,在渐暗的天色里显得格外清晰。
陈默没关电脑。他让悬赏页面挂着,新回复的提示音调到最大。然后他起身,走到窗边。
玻璃上还挂着雨滴。他伸手抹了一把,水痕散开,外面城市的灯光变得模糊而绚丽。
“如果真有人守着……”沈清澜站在他身后,“你发悬赏,就等于告诉他们,你在查。”
“我知道。”陈默说。
“他们会找过来。”
“那就找。”陈默转过身,背靠着玻璃窗。冰凉的触感透过衬衫传过来,“正好我也想知道,十八年了,到底是谁在守着那些秘密。”
沈清澜看着他。顶灯的光从上方打下来,在他眼窝投下深深的阴影。但瞳孔很亮,像两点烧着的炭。
她忽然想起第一次见他的样子。在灵瞳项目的会议室里,他坐在角落,低着头记笔记,像个不起眼的背景板。
现在这个人站在她面前,背靠着整座城市的灯火,眼神里有一种近乎危险的东西。
“接下来等?”她问。
“等。”陈默说,“也做准备。”
他走回电脑前,打开另一个加密文件夹。里面是他这段时间整理的所有线索:父亲笔记的扫描件,地图红点的坐标,周教授今天说的话,还有刚才收到的那些碎片。
他开始建时间线。2005年,8月,母亲申请调阅实验记录。11月2日,父亲领走便携监测仪。11月5日,事故。
中间的三天,发生了什么?
监测仪记录了什么?
那些数据,如果还在,会在哪里?
键盘敲击声重新响起,在安静的办公室里,像某种规律的、固执的叩问。
沈清澜拉过椅子坐下,打开自己的电脑。她调出公司近期的日程表,把下周的会议做了调整,空出两个整天。
然后她开始查西部那个县的资料。地理,气候,交通,还有……信号覆盖情况。
雨后的夜空中,云层完全散开了。几颗星星露出来,在都市的光污染里显得暗淡而遥远。
陈默的手机又震了一次。
不是加密平台,是普通的短信。号码是虚拟的,内容只有一行字。
“别碰七组的事。”
发信时间:三秒前。
陈默盯着那行字。屏幕的光自动变暗,他点了点,光又亮起来。字还在那里,黑色宋体,没有任何表情符号。
他截图,保存。然后删除短信。
“七组。”他念出这两个字。
“什么?”沈清澜抬头。
陈默把手机递给她。沈清澜看完,眉头蹙起来。
“七组是什么?”
“不知道。”陈默说,“但有人不想让我知道。”
他把手机放回桌上。机身还有点微热,刚才那一瞬间的震动,像某种警告的余温。
窗外的城市彻底入夜了。灯光连成一片海洋,远处高架桥上的车流像流动的光河。雨后的空气清透了些,能看见更远的楼宇轮廓。
陈默关了电脑。屏幕暗下去,房间里只剩下顶灯的光,还有窗外漫进来的、城市的夜光。
他站起来,走到书柜前。最下层有个锁着的抽屉,钥匙在他钱包内层。他打开,从里面取出一个u盘。
金属外壳,没有任何标识。插进电脑,输入三层密码,一个文件夹跳出来。
里面是父亲笔记里,关于那个“入口”的所有细节。手绘的地形图,坐标计算,还有一行小字备注:必要时,可启用应急信道。
应急信道。频率,加密方式,呼叫代码。
陈默看着那些数字和字母。它们躺在屏幕里,安静了十八年。
他把u盘拔出来,握在手心。金属外壳被体温焐热,边缘有点硌手。
“如果悬赏引不来信息……”沈清澜的声音从身后传来。
“那就去找信息。”陈默转过身,u盘在他掌心转了个圈,“去它本来在的地方。”
沈清澜没说话。她看着他手里的u盘,又看看窗外的夜。
远处,城市的灯火绵延到天际线,像一片永不熄灭的星群。而在更远的地方,在那些灯光照不到的西部山区,有东西在等着。
等一个答案。或者,等一个去找答案的人。
陈默把u盘放回抽屉,锁好。钥匙插进锁孔时,发出轻微的金属摩擦声。
他走回窗边,双手插进裤袋。
雨后的夜风吹进来,带着湿润的凉意。楼下街道上,晚归的车灯划破黑暗,像一道道短暂的光痕。
“快了。”他轻声说。
声音散在风里,很快就被城市的夜声吞没。
但沈清澜听见了。她站在他侧后方,看着他被夜色勾勒出的侧影,点了点头。
电脑屏幕彻底暗了。房间里只有两人的呼吸声,还有远处隐约传来的、城市永不疲倦的脉搏。