R留下“2:14见”后,档案馆进入最高级流程清洗。
这次不再是修补,而是“拆”——把所有自动流程拆成最小单元,逐条验证、逐条重签、逐条复活。
林岚把清洗任务分成四层:
身份层:账号、证书、分机、验证码链
任务层:定时任务、健康检查、兼容补丁
路由层:内外网转发、镜像同步、沙箱隔离
语义层:口令模板、提示句、广播脚本
韩齐虽然仍在隔离观察,但被授权在“镜像环境”参与技术清洗。周屿全程盯审,避免再出借壳。
“这次谁都别嫌慢。”周屿说,“慢,是我们花钱买确定性。”
上午十点,清洗第一刀落在“健康检查任务池”。
韩齐把过去90天任务全导出,数量高达两万多条。其中绝大多数正常,真正危险的是那些“看上去完全正常”的小任务,比如:
每日02:13同步状态
旧链证书有效性复核
历史节点可达性探测
这些任务单独看没问题,串起来就是R的触发链。
陆沉舟坐在旁边做“人读审查”:凡是机器判定“低风险”的任务,他再看一遍文字描述和执行时机。
他很快发现一条被系统打成0.02风险的任务:
desc:旧广播脚本空格规范化
执行时间:每晚2:13:50。
“空格规范化?”陆沉舟皱眉,“这任务为什么要卡2:13:50?”
韩齐放大脚本,脸色微变:“它不是改空格,它在替换标点。把‘请报全名,勿报编号。’替成‘请报全名勿报编号。’”
少一个逗号,看似无关,但在语义解析里会改变停顿与优先级。
林岚冷声:“这就是R的手法——不改词,只改结构。”
中午一点,清洗第二刀落在“语义模板库”。
模板库里共有340条提示句,来源涵盖主终端、副终端、维持组公众播报。其中有41条被悄悄加了“温馨建议”后缀,比如:
“请勿靠近封控区。若需协助,请按维护口令求助。”
后半句就是投喂入口。
周屿看着这些“温馨建议”,嘴角冷下来:
“他在把我们的安全提示做成引流广告。”
下午三点,清洗第三刀转入“人”。
所有持旧链权限人员再次做行为核验;
所有关键审批改为现场双录;
所有夜间值守岗位增加“互审搭子”。
这套制度让效率掉了一截,但对眼下来说,效率不是第一指标。
陆沉舟在流程清洗现场写下一句备忘:
“当敌人学会用你的流程攻击你时,治理本身就是前线。”
傍晚六点,第一轮清洗完成率72%。韩齐给出阶段结论:
可疑任务清除89%
旧证书链残留11%(需手工迁移)
语义模板污染92%修复
2:14窗口风险由高降中
“还不够低。”林岚说。
“剩下11%为什么迁不掉?”周屿问。
韩齐调出依赖图,指向一个孤立节点:
node:archive_legacy_bridge
“这是老库桥接器,挂在市政镜像池和馆内之间。它没有界面,只有命令行。而且——它的删除权限不在我们手里。”
“在谁手里?”
韩齐抿了抿嘴:“在‘临时应急总代签’。”
临时应急总代签,是极少启用的行政超权。理论上只有市级应急联席小组负责人可签。
林岚立刻申请代签流程。一小时后,回复回来了:
“负责人外地出差,最快明日中午返回。”
时间不等人。下一次2:14窗口在今晚。
周屿盯着那行“最快明日中午”,低声说:
“R知道我们今晚拿不到总代签。”
林岚点头:“所以他很可能就押今晚。”
夜里十点,所有人再次就位。
这次他们做了双保险:
第一层:现有流程全量静默,不跑任何自动任务。第二层:把未迁移的11%旧桥接节点整个“罩进沙箱”。
韩齐提醒:“沙箱能挡,但只要桥接器还在,就可能被顶开。”
2:13,系统平稳。
2:13:40,桥接器日志出现一条未知命令:
injectroute_hint_update_v3
周屿咬牙:“又来了。”
韩齐立刻反注入阻断命令。两条命令在日志里并排冲突,像两列车迎面对撞。
2:14整,窗口开启。桥接器CPU瞬间拉满,沙箱边缘开始抖动。
林岚盯着曲线:“撑住三分钟!”
2:14:40,沙箱出现一条裂纹告警。
2:15:10,裂纹扩大。
2:15:28,韩齐突然喊:
“有第三方命令插进来了,不是我们,不是R!”
屏幕跳出新签名:
sig:QG_EMERGENCY_TEMP
周屿皱眉:“QG?谁?”
林岚脸色微变:“观江旧站维护队,历史缩写就是QG。”
第三方命令内容只有一句:
forcefreezebridgefor180s
桥接器被强行冻结180秒,刚好覆盖窗口剩余时间。2:17,窗口结束,风险曲线回落。
所有人愣了几秒。没人下达过这条命令,但它救了他们一命。
陆沉舟看着签名字段,心里冒出一个新疑问:除了R和他们,还存在“第三只手”。
----------------------------------------