安全屋的光源只剩笔记本屏幕的微光和窗外渗进来的、被切割过的路灯。空气凝滞,带着旧报纸和灰尘的味道。
魏慎初将笔记本的亮度调到最低,几乎只够照亮他和键盘之间的区域。他没立刻动作,而是先用指尖拂去键盘缝隙里的浮尘,动作很慢,像在完成某种仪式。然后,他调出一个干净的命令行界面,输入几串晦涩的指令,测试网络连接的匿名性和延迟。屏幕右下角跳动着几个微小的绿色数字,稳定后,他才打开那个伪装成普通文件管理器的专用入口。
“归档完整性校验通道。”他声音压得极低,气息几乎吹不动面前的空气,“理论上能拿到涂黑前的原始内容。用‘完整性校验’这个名义,系统会认为是常规维护性调阅,不直接触碰敏感索引。”
“理论上。”沈棺重复,声音沙哑。他坐在对面的折叠凳上,左臂搁在膝盖上,袖子挽到肘部。霜纹早已爬过锁骨、颈侧,前端触到左耳下方冰冷的皮肤。他默数掌心传来的搏动:三秒五,三秒半,节奏比昨天又缓了一瞬。不是好转,是更深的沉降。
“用一次,就留一条无法抹除的日志,撤不掉。”魏慎初停顿两秒,目光从沈棺脸上移到屏幕。他开始输入参数。查询字段逐行填入,冷静精准,没有一丝多余的停顿。最后,他在目标标识栏里,一个字一个字地键入“31-13-G”。
光标在末尾闪烁。他的手指悬在回车键上方,没有立刻落下。
沈棺的视线落在那枚闪烁的光标上。掌心一跳,三秒四。
“开始。”他说。
他按下回车。屏幕静了二十多秒,只有细微的硬盘读写声。然后,弹出一个灰色提示框:“校验任务已受理,正在比对原始归档与当前索引差异。”
又过了近一分钟,提示更新:“已返回校验差异条目:1874条。”
魏慎初开始滚动屏幕。密密麻麻的表格铺开,左侧是归档编号,中间是修改类型,右侧是原始内容摘要。大部分是“标签更新”、“格式归一化”或“权限标注修正”。他划得很快,沈棺跟着他的动作快速扫视编号,寻找“31-13-G”前缀。
时间在静默的滚动中流逝。前三屏全是其他项目的噪音,那些编号和类型毫无意义,只是证明这份档案库的庞大与陈旧。沈棺的指尖搭在自己的左腕上,霜纹下的脉搏与掌心同步,三秒半一跳,稳定得令人窒息。他盯着屏幕,眼睛因长时间专注而干涩,但不敢眨,生怕错过任何可能混杂在噪音里的线索。
第四屏开始,终于出现“31-13”段,但后缀多是“A”到“F”的早期版本。魏慎初的手指在触控板上移动的速度略微慢了一点。
“找到了。”他的声音低了半度,声音里没有兴奋——是一种尘埃落定的沉重。
屏幕中部,一连串条目的编号前缀全是“31-13-G”。修改类型清一色:“内容涂黑”。
原始内容摘要栏本应显示原文,此刻却只是一片均匀的灰色遮罩,边缘极其规整,像用尺子量过,旁边标着涂黑区域的坐标范围。
“校验返回的是差异标记,不是原文副本。”魏慎初微微皱眉,“遮罩替换了原始内容,只留下了被替换区域的参数。”
沈棺盯着那些坐标数字。遮罩大小不一,有的只遮两三个字,有的遮盖了半行。他逐条往下看,呼吸放得很轻,直到目光忽然停住。
“第三十七条。”
编号“31-13-G-OP--04”,修改类型“内容涂黑”,但遮罩区域右下方,露出了一行清晰的宋体小字:“项目执行日志:第147次校准完成,对象状态稳定,容器反馈周期与预期吻合。”
遮罩没完全覆盖住。校验系统返回了原始内容的一角。
“遮罩精度问题,”魏慎初迅速判断,“边缘计算失误,或者……操作者判断这条不值得完全遮蔽。”
希望像微弱的火星闪过。他们继续翻。带“31-13-G”前缀的条目共有九十多条,“内容涂黑”占了六十三条。其中,遮罩不完整、意外露出原文碎片的,沈棺默默数到了第十一条。
魏慎初将这十一条拖入一个独立的文本窗口,进行二次过滤和拼接。沈棺逐条阅读。
第一条是校准日志,证实了对象(即候选人)状态在特定时间点的稳定。第二条是设备调用记录,“容器反馈监测仪”的用途栏后半被遮,只露出“采样间隔:3秒”。第三条是人员签到表,三个工号被涂黑,只露出一个“签”字和日期“1997.12.20”。第四至第八条更加破碎,只剩下半句话、一串无头无尾的数字序列。
第九条让他停了下来。
编号“31-13-G-OP--19”。遮罩只覆盖了后半段,前半部分完整保留:
“12月23日23:47,对象容器反馈出现异常波动,与SEC-07历史基线偏差超过阈值。建议终止协议,进入标准回收流程。”
下方遮罩的边缘,意外地露出了三个字,彼此间隔着大段的空白:
“反”、“坚”、“继”。
反对。坚持。继续。
沈棺将这三个字在心里无声地连起。魏慎初没有接话,他的目光落在屏幕边缘的状态栏:“已用时2分11秒”。
左耳后一阵突兀的冰凉打断了他的思绪。霜纹已经越过下颌线,正紧贴着耳垂后侧的皮肤向上蔓延。他抬手摸去,那里的温度比下巴更低,用指甲轻轻划过,能感觉到一种细微的、阻碍般的阻涩感,不像皮肤,更像某种正在固化的薄膜。
掌心搏动默数:三秒三。
他把手放回膝盖,没说话。
第十条是设备调用单残片,仅剩“EQ--003,1997.12.23”。第十一条只有“协议状态变更”五个字和后续的大片遮罩。
沈棺的目光移回到第九条。“协议”一词与第十一条相同。他的指节无意识地收紧。
“还有时间,”魏慎初看了一眼计时器,“两分四十秒。继续,还是撤?”
沈棺没有立刻回答。他指尖在屏幕上缓缓滑动,目光从“异常波动”移到“标准回收流程”,再移到那遮罩边缘的三个字。安全屋里只有他们两人的呼吸声,以及窗外遥远的、模糊的车流声。
“再翻一遍,”他开口,声音更沉,“遮罩的坐标。”
魏慎初调出那六十三条“内容涂黑”的条目列表,按遮罩区域的起始坐标重新排序。沈棺开始逐条查看遮罩的起止范围。二十多条之后,他发现了差异。
绝大多数遮罩的起止坐标都精确地对齐在字符的边缘,像是选中整段文字后批量应用的结果。但其中有三条不同:编号“31-13-G-OP--05”,其遮罩的起始坐标精确到了两个字符的间距中段,终止坐标也是如此。
“这遮罩不是选中文字涂的,”沈棺缓缓说,“是逐个字符点上去的。”
魏慎初凑近屏幕细看,眉头慢慢拧紧。
“前六十条对齐字边,像是事后批量清理的痕迹。但这三条……单独涂,涂抹者知道具体要涂哪个字的哪一笔。”
“实时涂的。”魏慎初接口,声音很轻。
事后批量清理,根本不需要精确到字符间距。只有数据被访问的同时,有人逐字进行遮蔽,才会留下这样近乎偏执的精度。
“有人在看着。”沈棺说。
魏慎初没有回答。他放在键盘上的右手收了回来,手指在膝盖上攥了一下,又慢慢松开。
沈棺的目光移向编号最靠后的一个条目:“31-13-G-OP--01”。日期是1997年12月24日,比其余所有条目晚了一天。它的修改类型不再是“内容涂黑”,而是一个全新的标签。
他盯着那行字,呼吸在鼻尖前凝出了一小团白雾。安全屋的温度并不低,但那一刻,他的气息确实变成了可见的雾。
“协议再整合-归档处理。”
念出这八个字时,掌心搏动猛地一跳。三秒三和三秒四的节律同时碎了——取而代之的是一次急促而紊乱的震颤,快了半秒,慢了半秒,再快半秒。他右手下意识按上左腕,感觉霜纹下的脉搏也跟着乱了。
不是掌心的问题。

