沈清澜醒得很早。陈默睁眼时,身边已经空了。他听见书房里传来极轻的键盘敲击声,哒,哒,间隔均匀,像是某种密码。
他坐起来,揉了揉眼睛。
卧室里还残留着睡眠的暖意。被子掀开一角,沈清澜睡过的地方陷下去,枕头上留着几根长发。陈默盯着那几根头发看了一会儿,才起身穿衣服。
厨房的水壶在响。
他走过去,关掉火。壶嘴喷出的白汽扑在手上,有点烫。他冲了两杯咖啡,端着走进书房。
沈清澜坐在电脑前。
屏幕的光映在她脸上,蓝荧荧的。她没换睡衣,外面随便披了件开衫,头发松松地挽在脑后,露出白皙的后颈。陈默把咖啡放在她手边。
“几点起的?”他问。
“五点多。”沈清澜没抬头,手指在键盘上飞快地敲着,“睡不着,就起来看看。”
陈默看向屏幕。
上面开着几个窗口。左边是昨晚从存储卡里导出的实验日志,密密麻麻的文字堆在一起。右边是搜索引擎,页面停留在某个学术数据库的登录界面。中间是沈清澜自己写的分析笔记,用简单的流程图连起来。
“看出什么了?”陈默拉过椅子坐下。
沈清澜端起咖啡,喝了一口。她喝得很急,烫得皱了下眉,但没放下杯子。
“日志不全。”她说,“很多关键记录被删了,不是自然缺失,是人为抹掉的。你看这里。”
她点开一份文档。
页面跳转,显示出一张数据表的截图。表格原本应该有十几列,但中间几列被涂黑了,黑块边缘整齐,像是用绘图工具处理的。
“原始文件里就这样?”陈默问。
“嗯。”沈清澜点头,“不止这一处。所有涉及实验方法、设备参数、具体观测数据的部分,都被涂黑了。剩下的都是流程性记录,比如日期、人员签到、实验时长。”
她滚动鼠标。
页面往下拉,更多的黑块出现。有些黑块下面还能隐约看到数字的轮廓,但太模糊了,辨认不出。
“像在掩盖什么。”陈默说。
“或者保护什么。”沈清澜放下咖啡杯,转向他,“你爸妈笔记里提到的‘共频谐振’,在正规的学术期刊上完全搜不到。连相关的研究方向都没有,就像……这个概念从来没存在过。”
陈默沉默了几秒。
他想起昨晚那些陌生的符号,父亲工整又潦草的笔迹,母亲日记里撕掉的几页。空气里旧纸的霉味好像又飘过来了,混着淡淡的樟脑丸气息。
“那怎么办?”他问。
沈清澜没立刻回答。她关掉文档窗口,打开另一个软件。那是款很老的文本分析工具,界面简陋,但功能强大。她将实验日志的全部文本导入,设置好关键词。
“共频”、“谐振”、“彼岸”、“ntia”、“信息熵”。
软件开始运行。
进度条缓慢前进,硬盘发出轻微的咔哒声。陈默盯着屏幕,看着那些关键词在日志里被高亮标出,一个,两个,散落在不同的位置。
但数量太少了。
全文十几万字,标亮的只有不到二十处,而且都是只言片语,连不成句子。
“不够。”沈清澜轻声说。
她靠在椅背上,手指无意识地敲着桌面。敲了三下,停住,又敲两下。这是她思考时的习惯动作,陈默见过很多次。
“得找别的路子。”她说。
陈默没说话。他站起来,走到书架前,抽出那本《百科全书》。黑色的存储卡还在塑料袋里,金属边在晨光下泛着冷光。他捏着卡片,回到书桌前。
“这卡里的数据,可能被处理过。”他说。
“我知道。”沈清澜说,“但处理得再干净,也会有痕迹。比如文件创建时间、修改记录、甚至删除文件的残留碎片。”
她重新打开资源管理器。
这次她没用普通的查看方式,而是调出了命令行窗口。黑色的背景,白色的字符,光标闪烁。她输入一串指令,敲下回车。
屏幕滚动起大段的代码。
陈默看不懂那些指令,但他能看出沈清澜的手速在加快。她的眼神专注,嘴唇抿成一条细线,呼吸很轻。窗外的光线慢慢变亮,百叶窗的条纹在地板上移动。
过了大概十分钟。
沈清澜忽然停下手。她往前凑了凑,鼻尖几乎碰到屏幕。
“这里。”她说。
陈默看过去。命令行窗口里显示出一行红色的提示,后面跟着一个文件路径。路径很长,嵌套了很多层文件夹,最后指向一个隐藏的系统文件。
“这是什么?”他问。
“日志的备份。”沈清澜说,“很早期的版本,创建时间比我们看到的那些文档早半年。可能当时忘了删,或者删得不彻底。”
她尝试打开文件。
系统提示需要权限。沈清澜皱了皱眉,又输入几条指令。这次花了更长时间,屏幕上的代码飞快滚动,像是无数只蚂蚁在爬。
终于,权限破解。
文件打开,是纯文本格式,没有排版,密密麻麻的字挤在一起。但这次没有黑块。
沈清澜快速浏览。
她的手指在触摸板上滑动,页面往下滚。滚到大概三分之一的位置,她停住了。
陈默看到了那行字。
“实验体a07出现强烈排异反应。脑波监测显示,共频链接在建立后三秒内崩溃,伴随海马体区域异常放电。受试者报告‘听见许多声音,像在深水里’。”
下面还有一行小字。
“建议暂停a系列实验,转向b系列改良方案。陈工反对,认为方向正确,只是强度需要调整。”
沈清澜继续往下翻。
后面几页记录了更多细节。受试者的编号从a01到a12,每个都有简短的描述。a03“链接稳定,但信息传递效率低”;a05“出现短暂记忆混淆”;a09“拒绝二次实验,称‘像被掏空’”。
翻到最后一页。
日期是父母失踪前一周。
记录很短:“与ntia代表会谈。对方施压,要求加快进度。陈工坚持安全第一,双方不欢而散。会后,陈工私下说‘他们不在乎代价’。”
沈清澜关掉文件。
书房里安静下来。咖啡已经凉了,表面结了一层薄薄的膜。陈默盯着屏幕,那行字在脑子里回响。
他们不在乎代价。
窗外的鸟叫了一声,很清脆,然后扑棱棱飞走了。沈清澜揉了揉太阳穴,她的眼睛里有红血丝。
“你爸妈……”她开口,又停住。
“他们知道危险。”陈默说,“但还是做了。”
沈清澜握住他的手。她的手很凉,但掌心有汗。
“得查查这个ntia。”她说,“公开信息太少了,得用别的办法。”
陈默知道她在想什么。他点点头,站起来。
“等我一下。”
他走进卧室,从床头柜里拿出另一台笔记本电脑。这台电脑更旧,外壳已经磨损,边角露出金属。他插上电源,开机,系统启动时发出嘎吱的噪音。
屏幕亮起,是lux的桌面。
陈默登录,打开一个加密的虚拟机。虚拟机里运行着另一套系统,界面是全黑的,只有命令行。他输入几个指令,连接上一个海外代理服务器。
沈清澜走过来,站在他身后。
“你要做什么?”她问。
“找个人。”陈默说,“以前做安全测试时认识的,专门挖这种边角信息。”
他在命令行里输入一个地址。
那是个暗网论坛的入口,需要特定的密钥才能访问。密钥是他几年前用比特币换的,一直没删。页面加载很慢,黑色的背景,暗绿色的文字,像九十年代的终端机。
登录成功。
论坛里很冷清,帖子不多,最新的一条是一个月前发的。陈默翻了几页,找到一个熟悉的id:k。
他点开发私信界面。
打字,敲回车。信息发送出去,显示“已加密传输”。接下来就是等。
沈清澜拉过椅子坐下。她看着屏幕,眼神有点复杂。
“这人可靠吗?”她问。
“不知道。”陈默说,“但他是最好的信息贩子之一,而且只看钱,不问来路。”
等了大概二十分钟。
屏幕右下角弹出提示:新消息。陈默点开。
k回复得很简短:“ntia?老古董了。你要什么?”
陈默打字:“所有能挖到的。内部结构、项目清单、二十年前的负责人、有没有一个叫‘彼岸’的保密项目。”
发送。
这次等得更久。窗外的阳光已经完全照进来,书房里变得明亮,灰尘在光柱里飞舞。陈默听见远处有车开过的声音,轮胎压过路面,嗡嗡的。
又过了半小时。
k发来一个加密链接,后面跟着一句话:“先付钱。十个比特币,到老地址。”
陈默皱了皱眉。十个比特币不是小数目,但他没犹豫。他打开钱包软件,转账,确认。交易记录显示成功。
k发来密码。
陈默点开链接。页面跳转到一个云存储服务,需要输入密码才能下载。他输入,文件开始下载,进度条缓慢前进。
文件不大,只有几十兆。
下载完成,解压。里面是几百个pdf和图片,有些是扫描件,有些是照片翻拍,画质很差。陈默打开第一个pdf。
那是一份内部通讯录。
时间戳是二十多年前。列表里有几十个名字,职位,部门,联系电话。陈默快速浏览,手指在触摸板上滑动。
他停住了。
在“前沿技术预研处”下面,他看到了父亲的名字。职位是“高级研究员”,后面跟着一个分机号码。
旁边还有母亲的名字,职位是“副研究员”。
陈默继续翻。
后面是项目立项表。表格很简略,只列了项目编号、名称、预算、负责人。他一行行往下看,在第三页找到了“project_otherside”。
项目编号:ot-003。
负责人:陈国华(父亲的名字)。
预算栏被涂黑了,但旁边有手写的注释:“追加拨款已批准,来源:特批渠道。”
沈清澜凑过来看。
“特批渠道是什么?”她问。
陈默摇头。他关掉pdf,打开下一份文件。这是一份会议纪要,时间在父母失踪前三个月。议题是“ot-003项目中期评估”。
纪要写得很官方。
“项目进展符合预期……共频谐振理论验证取得初步成果……建议加快实验节奏……注意安全规范……”
但最后一段的措辞变了。
“评估组对实验伦理风险提出质疑。陈国华研究员坚持现有方案,认为‘理论突破必然伴随风险’。双方未能达成共识。会议决定,将争议上报更高层级裁定。”
文件到这里结束。
没有后续的纪要,没有裁定结果。像是会议开完,事情就悬在那里,再没有下文。
陈默关掉文件,靠在椅背上。
他感觉太阳穴在跳,一下,一下,像有个小锤子在敲。沈清澜握住他的手,用力捏了捏。
“还有别的。”她说。
陈默点开下一个文件。这是份人员档案,照片是黑白的,像素很低。照片里的人穿着白大褂,戴着眼镜,很年轻,笑容有点拘谨。
下面写着名字:李维民。
职位:ntia信息安全科,副科长。
备注栏里有一行字:“负责ot-003项目数据封存及后续清理工作。二十年前离职,下落不明。”
清理工作。
陈默盯着那三个字。他想起实验日志里那些整齐的黑块,存储卡里被删除的文件,学术界完全搜索不到的“共频谐振”。
沈清澜也看见了。
她的呼吸停了一下,然后变得很轻,像是在克制什么。
“他们在掩盖。”她低声说。
陈默没说话。他继续翻文件,剩下的都是些边角料:内部通知、设备采购清单、差旅报销单。有用的信息很少,像被人精心筛过一遍。
最后一份文件是张照片。
照片拍的是一个实验室内部。设备很旧,老式的示波器,笨重的主机,线缆在地上缠成一团。角落里站着几个人,穿着白大褂,背对镜头,看不清脸。
但陈默认出了其中一个背影。
那是父亲。肩膀的线条,微微驼背的姿势,还有左手习惯性插在口袋里的样子。他不会认错。
照片背面有手写的字。
“ot-003最终实验日前,留念。愿一切顺利。”
日期是父母失踪前三天。
陈默盯着那张照片看了很久。实验室的灯光很暗,设备屏幕闪着微光,父亲的身影融在阴影里,像随时会消失。
沈清澜轻轻碰了碰他的手臂。
“陈默。”她叫他的名字。
陈默抬起头。他看见沈清澜的眼睛,里面有担忧,也有一种下定决心的亮光。她拿过鼠标,关掉所有文件窗口。
“我们得停一下。”她说。
“为什么?”
“因为有人在看。”沈清澜指向屏幕角落。
陈默这才注意到,虚拟机里有个监控程序在运行,显示着网络连接状态。此刻,状态栏里有一个红色的警告标志。
“有人尝试追踪我们的ip。”沈清澜说,“不是普通的爬虫,是专业的探测。触发时间就在我们下载完文件后五分钟。”
陈默的后背一阵发凉。
他快速关闭虚拟机,断开网络,拔出网线。笔记本电脑的风扇还在转,嗡嗡的声音在寂静中格外清晰。
书房里只剩下两人的呼吸声。
窗外的阳光已经移到了书架上,照亮了那排《百科全书》的书脊。陈默站起来,走到窗边,拉开百叶窗的一条缝。
楼下街道空荡荡的。
偶尔有车经过,行人很少。对面楼的窗户反射着阳光,一片刺眼的亮白,看不清里面。
“可能是巧合。”陈默说。
“可能不是。”沈清澜走到他身边,“k给的文件,来源可能不干净。或者,ntia那边一直有人盯着,任何相关的访问都会触发警报。”
陈默沉默。
他想起父亲笔记里那句话:“他们不在乎代价。”也想起李维民档案里的“清理工作”。二十年前的事,真的结束了吗?
沈清澜的手机响了。
她拿起来看,是公司的邮件通知。她划掉,又看了一眼屏幕,眉头皱起来。
“下午要开个会。”她说,“融资方的尽调团队要过来,得准备材料。”
陈默点点头。他走回书桌前,合上那台旧笔记本。电脑外壳还是温的,摸上去有点烫手。
“先处理公司的事。”他说,“这个……放一放。”
沈清澜看着他。
“你放得下?”
陈默没回答。他走到书架前,把《百科全书》塞回原处,用力按了按,确保书脊和其他书对齐。然后他转身,看向沈清澜。
“下午我跟你一起去公司。”他说。
沈清澜愣了一下,然后明白了。她点点头,走到他面前,伸手整理他睡衣的领子。动作很轻,指尖碰到锁骨,有点凉。
“小心点。”她说。
陈默握住她的手。他感觉到她掌心的汗,还有微微的颤抖。他用力握了握,然后松开。
“我去换衣服。”
他走出书房。卧室里还保持着早晨的样子,被子没叠,枕头歪着。陈默拉开衣柜,拿出衬衫和裤子,一件件穿上。
系扣子时,他看了一眼镜子。
镜子里的人脸色有点苍白,眼睛下有淡淡的阴影。他深吸一口气,用力揉了揉脸,直到皮肤泛起一点血色。
换好衣服,他回到书房。
沈清澜已经在收拾东西了。她把那台旧笔记本装进防震包里,拉上拉链,塞进书架最底层。又把桌上的咖啡杯收走,用湿巾擦了一遍桌面。
动作干脆利落,不留痕迹。
陈默看着她做这些,心里某个地方慢慢沉下去。他知道,从这一刻起,有些事不一样了。
调查不再是私下的好奇。
它变成了一个漩涡,而他们已经站在了边缘。
沈清澜收拾完,抬起头。她的表情已经恢复了平静,那种惯常的、略带疏离的冷静。只有眼神深处,还藏着一点紧绷的东西。
“走吧。”她说。
陈默拿起车钥匙。两人一前一后走出书房,穿过客厅,在玄关换鞋。鞋柜上的镜子映出他们的身影,两个穿着正装的人,表情严肃,像是要去参加一场重要的谈判。
门打开,又关上。
锁舌扣上的声音很清脆,在空荡荡的走廊里回响。电梯下行,数字跳动,陈默盯着那些发光的数字,脑子里却在想别的事。
父亲照片背面的字。
愿一切顺利。
但最后,一切都没有顺利。
电梯门打开,车库的凉气涌进来。陈默跟着沈清澜走向车位,脚步声在水泥地上嗒嗒地响。他拉开车门,坐进去,系好安全带。
沈清澜发动车子。
引擎声响起,尾灯亮起红光。车子缓缓驶出车库,驶入外面的阳光里。街道两旁的树影在车窗上流淌,忽明忽暗。
陈默看着窗外。
他看见一个穿灰色夹克的男人站在路边,低头看手机。车子经过时,男人抬起头,朝这边看了一眼。
很短暂的一瞥。
然后男人又低下头,继续看手机。动作自然,没有任何异常。
但陈默记住了那张脸。
普通,太普通了,扔进人堆里就找不出来。可那双眼睛抬起的瞬间,里面有种东西,不是好奇,不是随意,而是一种专注的扫视。
像在确认什么。
沈清澜也看见了。她的手指在方向盘上收紧了一下,指节泛白,但车速没有变。车子平稳地驶过路口,拐弯,汇入主路车流。
“可能是我想多了。”她说。
陈默没接话。他靠在椅背上,闭上眼睛。脑海里,那些橙色的线没有出现,只有一片空白的黑暗。
但黑暗中,有什么东西在动。
很模糊,像水底的影子,看不清形状。他努力集中精神,想看清那是什么,但影子总是滑开,消失在更深的黑暗里。
车子在一个红灯前停下。
沈清澜转头看他。
“你没事吧?”她问。
陈默睁开眼。他摇摇头,看向窗外。街角的咖啡店门口排着队,穿制服的外卖员骑着电动车穿梭,一个小孩牵着气球跑过人行道。
平凡的世界。
但他知道,在看不见的地方,有些线已经绷紧了。
绿灯亮起。
沈清澜踩下油门,车子继续向前。陈默拿出手机,打开地图软件,输入昨晚系统浮现的那个坐标。
位置在城西。
老工业区边缘,一片待开发的荒地。卫星地图上只有几栋废弃的厂房,周围长满了杂草。
他放大,再放大。
其中一栋厂房的轮廓,和父亲照片里的实验室背景,有那么一点相似。
陈默关掉地图。
他看向前方。道路延伸,车流如织,阳光刺眼。而在他看不见的角落里,灰色的夹克男人收起手机,走向另一辆车。
引擎启动。
车子缓缓跟了上来,隔着三四个车位的距离,不紧不慢,像一条耐心的影子。