原医院内部群里开始流传一段匿名音频,内容大意是“有人借家属身份逼监管,导致供应商被迫停更,影响临床系统稳定,若出事责任谁担”。音频没有点名,但话术明显指向林昼与接收医院法务,把“控制权”说成“干扰运维”,把“禁变窗口”说成“拖慢响应”。
这就是供应商最擅长的:把边界说成障碍,把安全说成成本,把规则说成麻烦,把风险转移到“你们害的”。
接收医院信息安全负责人没有在群里争辩,只在监管联络群里发了一句:“已出现舆论干扰素材,请建议医院统一口径:只讲事实、只讲程序、只讲审计证据。”
监管回复:“同意。请原医院注意内部信息安全,避免未经核实音频传播。必要时纳入调查。”
林昼看见这两句话,反而更冷静。音频越早出现,越说明对方知道脚本审计会开刀,必须提前在医院内部制造“效率恐慌”,让禁变窗口变成“大家都怨”的制度。怨气一旦形成,制度执行就会在基层被消磨:有人会开始偷偷请求例外,有人会默认供应商“帮忙”,有人会觉得“你们太较真”。
制度最怕的不是公开反对,最怕的就是基层疲劳与默认妥协。
所以林昼给法务提了一个建议:“把cn-only围栏启用后的延迟数据做成可视化说明,明确告诉临床:延迟上升是可控范围,且我们有例外链路;同时强调关键期窗口是为了避免更大故障。不要让‘恐慌’变成事实。”
法务回:“我们会做一页说明,发院内公告。”
林昼又补:“公告里只写事实,不写指责。不要点名供应商,不然对方会借机说‘抹黑’。”
法务回:“明白。”
---
下午两点,第三方平台协查联系人单独发来一份“api调用轨迹补充摘要”,里面有一条信息让林昼背脊发紧:
>在冻结启用前一小时(围栏启用后),平台检测到该租户存在一次异常的token刷新行为:同一来源ip在两分钟内请求了三次高权限token,scope一致,签发原因码为空,审批引用字段缺失。该行为未触发拒绝,但触发了风险评分上升。
这条信息不直接证明脚本作恶,却证明他们在“权柄”上有异常动作:高权限token在短时间被反复刷新,而且缺少审批引用。审批引用缺失,意味着流程不透明;流程不透明,意味着可以绕过正常绑定。
林昼立刻回复:“请保全该刷新行为的完整审计字段(请求id、时间戳、来源ip、签发账号、scope、reasoncode、approvalref、返回码)。这是审计范围必须包含的证据。”
第三方回:“已保全。可交监管。”
林昼转发给梁组长,梁组长只回:“收到,纳入。”
这条“刷新行为”像一根暗刺,插在“脚本误触发”的叙事下面:如果只是误触发,你为什么要在冻结前一小时反复刷新高权限token?你在为谁准备?你在准备什么?
准备的答案,必须在取证审计里揭开。
---
下午三点二十,证人的压力又一次升级,但这次以更“合法”的方式出现。
许景发来一份截图:原医院人事部门通知他“配合内部调查”,要求他于次日到院参加谈话,谈话主题是“信息泄露与不当对外沟通”。通知措辞规范,盖了章,显得堂堂正正。
堂堂正正比夜里徘徊更可怕,因为它能把恐惧包装成流程,逼你在流程里沉默。
许景问:“我去还是不去?”
林昼回得很快:“去,但带法务或工会代表(若有),并要求全程形成笔录。你只回答事实:你向监管提供了哪些材料、何时提供、是否通过医院法务渠道。任何要求你承认‘不当沟通’的结论,你都不签。你可以说‘请以监管程序为准’。”
许景又问:“他们会不会扣我帽子?”
林昼回:“帽子不是你怕不怕决定的,是他们想不想扣决定的。你能做的是让扣帽子变得昂贵:每一句扣帽子都要落在纸上,落在纸上就能被监管看到。监管看到,他们就不敢乱扣。”
许景沉默了很久,最后回:“我明白了。”
林昼看着“我明白了”四个字,心里却一点也不轻松。他知道许景的明白是硬撑,是把恐惧压回去。恐惧压得久,人会崩。必须尽快让证人保护机制落地:备案、陪同、笔录、必要时的法律援助。
制度保护的不只是系统,也该保护说真话的人。
---
傍晚六点,父亲打来视频通话。
林昼接起来时,父亲的脸出现在屏幕里,背景是病房窗边的晚霞。父亲声音比早上有力些:“你今天吃饭了没?”
林昼怔了下,才说:“吃了。”
父亲明显不信,盯着他:“你别骗我。我看你眼睛都红。”
林昼笑了一下,笑意却很淡:“真吃了。”
父亲叹了口气:“你别把自己熬坏。你要是倒了,别人就更好欺负你。”
这句话像钉子一样扎进林昼心里。别人好欺负你,不是因为你弱,是因为你倒下。倒下就没人再把证据串起来,没人再盯住开关,没人再盯住时间戳。你不是英雄,但你确实站在一条链的中间。
林昼低声说:“我会休息。”
父亲点头,像终于放过他,又像不放心:“你记住,别和人吵。你只要让他们写字。”
“让他们写字。”父亲用最朴素的方式说出了这场战斗的本质。写字就是落笔,落笔就是责任。口头可以否认,文字难以抵赖。系统日志也是一种文字,只是更冷、更硬。
林昼应了一声,挂断通话后,坐在走廊的长椅上很久没动。
---
夜里九点半,取证审计机构的联络邮件到了,内容很克制:确认将在48小时内进场,进场前需要供应商提供routehealthguardian组件的代码仓访问方式、编排系统配置导出、iam权限清单、token签发记录、以及近三个月日志原始存储位置。审计机构强调:所有材料必须以只读方式提供,审计现场将进行哈希固定。
林昼看着“只读”“哈希固定”这几个词,心里明白:真正的刀要落下了。
就在这时,第三方平台协查联系人又发来一条极短的信息,只有一句话:
“我们在历史版本链里发现:routehealthguardian曾在三个月前成功执行过一次geofenceoff操作,当时未启用冻结,操作被允许。该事件与一次‘节点大面积延迟劣化’同时发生。我们已保全记录,等待监管指令披露。”
林昼的手指瞬间僵住。
成功执行过一次geofenceoff。
三个月前。
未启用冻结。
与节点延迟劣化同时发生。
这意味着脚本不仅“可能”,而是“曾经”。曾经成功过一次,说明它不是单纯的健康检查,它具备实际改变边界的能力,并且在“延迟劣化”这样的时刻自动(或半自动)关掉围栏,以换取所谓投递成功或链路畅通。
关掉围栏的那一刻,跨区就不再是偶发,而是机制允许。
如果这类机制在转运当夜也曾运行过――哪怕只是尝试――那么“关键期策略”与“紧急保障”就不只是人为选择,而是一套自动化权柄在关键时刻自作主张。自作主张的权柄,一旦被滥用,就能绕开所有书面流程。
这已经不是“流程缺陷”,而是“安全架构缺陷”。
林昼把这条信息转给梁组长和法务,附上一句:“脚本曾成功关围栏,性质升级,必须纳入取证审计与责任评估。”
梁组长很快回:“监管已要求第三方提交该历史事件原始审计。并将审计范围扩大到近六个月。”
扩大到六个月,意味着要挖更深。挖更深,意味着会碰到更多人的脚印。
脚印越多,反扑越狠。
林昼盯着手机屏幕,屏幕的光映在他眼里,像一层薄薄的冰。他忽然意识到,这件事从“追回原因”走到了另一个层面:追回的不仅是那封1920邮件的路径原因,而是追回一套行业里默认存在的“暗门逻辑”――遇到延迟就放开边界,遇到风险就用权限兜底,兜底之后再补录、再模板、再拒签。
如果暗门不拆,任何禁变窗口都可能形同虚设。
他抬头看了一眼走廊尽头的窗。窗外夜色沉静,城市的灯像远远的星,冷而不动。林昼在心里把这一晚压成一句话:
“脚本不是解释,它是证人;证人一旦开口,真正要被审计的就不再是某一次误触发,而是整套权柄为什么被允许存在。”_c