深色外套男人的喉结狠狠滚了一下。
那行“检测到堤岸参数外推申请,请确认是否启用历史水位回读”的提示像一面忽然翻过来的镜子,正正照在他脸上。他刚才还想借着“暂行”两个字往宪章里塞一条活口,现在却发现,自己每往前递一次手,镜子里就多一层回纹,回纹里全是他刚刚试图遮住的痕。
“历史水位回读?”副签收失声问了一句,声音发飘,像被白灯照得只剩半截。
林昼没有看他们,视线依旧停在那块只读公告页上。
他知道,对方最怕的其实不是归零证明公开,不是黑屏窗口曝光,也不是复潮演练失真本身,而是这一句“历史水位回读”。因为一旦启用回读,所有被他们用“暂行”“应急”“外推”糊住的节点都会重新落回原始水位。原始水位一回,谁先签,谁后补,谁口头授权,谁补写条款,谁在堤岸外侧偷偷加了一根桩,全都会浮出来。
这才是反向校验。
不是拿现在去解释过去,而是把过去强行拉回现在,看看谁在借时间差偷改定义。
“他们不敢点。”周工的声音在耳机里响起,低而快,“一旦启用历史回读,补签链会全部被照出来,外推模板的第一版、第二版、口头授权来源、补录痕迹,都会变成可见记录。”
“那就逼他们点。”林昼说。
“怎么逼?”周工问。
林昼抬眼,看向门外那名深色外套男人,语气平得像一条刚被压直的钢尺。
“把第二层免疫手册公开。”
这几个字一出口,现场的空气像突然往下沉了一寸。
护士长先反应过来。她眼神一变,立刻明白林昼说的不是那本摆在明面上的“免疫手册”。那本手册前几天已经被公示过,内容只到温度边界、核验节拍、双人见证和异常回避,看上去严丝合缝,足够让普通人相信“这里已经安全了”。可林昼说的是第二层。
第二层,从来不是给普通人看的。
它藏在第一层的背面,写的是“如果别人也学会了只读,那该怎么办”。
“你是说,镜像窗口。”周工低声接上。
林昼点了一下头,没回话。
他早在那份只读宪章里闻到了这股味道。第一层免疫,是让系统本身对灰度开关免疫;第二层免疫,则是让规则对“被模仿”免疫。因为只要一套公开规则被写出来,就一定会有人照着抄,照着抄的人越多,规则就越容易被偷成一张壳。第二层免疫手册,就是专门用来对付“壳”的。
它不修补漏洞,它只防伪装。
不修补漏洞,是因为漏洞总能被补;防伪装,是因为伪装一旦长成了宪章的一部分,最难分辨。
“把第二层手册挂出来。”林昼说,“不是全文,挂目录。只要让他们知道里面有免疫分层、有镜像窗口、有历史水位回读入口,他们就会急着补堤岸。”
“可一挂出来,现场会不会乱?”护士长压低声音问。
“不会。”林昼答得很快,“第一层已经把人稳住了。现在真正会乱的是他们。越是这种时候,越不能让他们以为自己还能把例外写进去。只有让他们怕,才会露第二手。”
周工那边没有迟疑,键盘声猛然加快。
几秒后,辅助屏右下角多出了一道极细的公告条。条幅不是红色,也不是警报式的黑底白字,只是很克制的一行灰字,像一条安静的针脚,缝在只读宪章最边缘:第二层免疫目录已公开,包含镜像窗口、历史水位回读、例外补签追溯与伪装条款识别。
那一刻,门外几个人的呼吸几乎同时乱了。
不是因为字多,而是因为他们看懂了“镜像窗口”四个字。
镜像窗口一旦打开,当前的堤岸不再只是当前,它会和历史水位并排出现。过去被压在低处的异常,过去被写成“已处理”的补录,过去被刻意延迟的签批,全都会和现在重叠。重叠不是展示,而是对照。对照一成立,所谓“暂行”就再也不是临时,而是可追责的穿透口。
“你们不能这么做。”深色外套男人终于开口,声音压得很低,却已经遮不住发紧的尾音,“这会把整个应急链路都翻出来,影响很大。”
林昼笑了一下,笑意很浅,几乎没有温度。
“影响大,才说明它重要。”
他没有说“你们做错了”,也没有说“你们隐瞒了什么”。他只说了这句最简单的话,因为真正的刀口不在道德上,而在后果上。应急链路一旦建立,就不该成为永久的灰门;只读宪章一旦写入,就不该被外推成可伸缩的口子。现在对方想做的,是把一个原本用于守堤的体系,悄悄改成供水的阀门。
镜像窗口,就是专门照这件事的。
“周工,镜像窗口拉起来。”林昼道。
“已经在切。”周工答,“但有一个问题,镜像窗口一开,他们那边的免疫脚本也会同时触发。也就是说,对方可能会把第二层手册反向包装成‘安全提示’,试图抢先定义它是什么。”
“那就让他们定义。”林昼眼神沉下去,“我等的就是他们先说。”
“你要抓定义权?”护士长很快听懂。
“对。”林昼盯着公告页上那串只读字样,“他们现在唯一能做的,就是趁镜像窗口还没完全展开,给第二层手册重新命名。只要名字先落地,后面的动作就会顺着名字走。可只要他们一改,我们就能看到谁在改、改了什么、改给谁看。”
周工在耳机里沉了一秒:“明白了。你是要把他们的改名动作写进镜像。”
“不是写进镜像。”林昼说,“是让镜像专门等他们改。”
话音刚落,公告页顶部忽然跳出一行提示:镜像窗口已开启,历史水位开始回读。
走廊里那股一直绷着的白灯嗡鸣,仿佛在这一刻更尖了一点。
辅助屏上,当前页面和历史页面开始左右分屏。左侧是刚刚公开的只读宪章,右侧则是三天前的旧版本。两边的差异并不多,却足够刺眼。旧版本里,“应急缓冲”写得比现在更松,补签节点多了一处,口头授权备注里多了“现场灵活处理”五个字,而现在这五个字,已经被周工他们用只读逻辑按成了灰线,像一截被拉直后又硬生生折断的骨头。
“看到了吗?”林昼淡淡开口,“你们想塞进去的,不是补充说明,是回潮阀。”
深色外套男人没说话。
他当然看见了。也正因为看见,他才知道这场仗已经不是“能不能补回去”的问题,而是“补回去之后还剩什么”的问题。只读宪章一旦和历史水位并排,任何外推都不再是技术项,而是解释项。解释项一旦被审,原先所有藏在灰度里的动作就都成了明牌。
“他们开始改名了。”周工突然提醒。
林昼目光一动。
镜像窗口的右上角,果然跳出一串极快的后台变更日志。有人正在试图把“第二层免疫手册”重命名为“增强型应急确认说明”,又把“镜像窗口”改成“历史比对辅助层”,还想把“历史水位回读”改成“稳定性校验”。每个名字都换得很漂亮,漂亮得像一层糖衣。可糖衣越亮,越说明里面的苦胆早就发了绿。
“抓住这个版本。”林昼说,“把改名前后的差异并列。”
周工应了一声,几乎是连拉带扯把变更链钉死在屏幕上。变更日志被锁成一页,放在镜像窗口右侧,刚好和旧版本并排。改名前后的字句像两条互相咬住的蛇,一边试图把错误改成安全,一边把安全改成错误。可它们越咬,越显得滑稽。
“原来如此。”护士长低声说。
“什么原来如此?”林昼问。
“第二层免疫手册不是给系统防伪的。”护士长看着屏幕,缓慢地说,“是给人看的防伪说明。可他们想把它改成另一个说明,变成替自己挡刀的壳。”
林昼没否认。
这正是问题所在。第一层免疫让规则不被撞穿,第二层免疫则让伪装不被仿造。可伪装一旦学会把自己写成规则,最先受伤的不是系统,而是那些以为自己在照章执行的人。普通执行者看见“增强型应急确认说明”,就会真的以为那是新规范;看到“稳定性校验”,就会真的以为自己在配合审计。于是旧的堤岸还在,新的口子却已经开了。
“周工,能不能反写回去?”林昼问。
“可以。”周工的回答很直接,“把改名链倒推回原始命名,把所有‘安全提示’都标成历史替换项。但你要明白,一旦反写,现场所有人都会看到他们刚才的改写动作。”
“就是要让他们看到。”林昼道。
深色外套男人听到这句,终于再也站不住,往前一步,手指几乎是本能地朝辅助屏方向伸过去。可他刚抬手,保安就横臂拦住,白桌前的空间瞬间缩窄。他脸色发白,牙关都咬紧了,却仍试图维持那种执行层特有的镇定:“这是内部校验,不应该公开。”
“内部?”林昼看向他,目光很静,“你们把堤岸外推写进只读宪章的时候,怎么没说内部?”