林远舟被隔离调查的消息在四个小时内传遍了避难所的每一层。
安保调查处的效率这回快得反常。曹维亲自带了六个人去C区行政楼,把林远舟办公室的门口贴了封条。封条是红底白字的标准格式,上面写着“安保调查中·禁止入内”。落款盖了两个章——安保调查处和军部联合安全管理委员会。
两个章。上一次用两个章的案子是Omega事件。
林远舟本人被请到了A区的隔离谈话室。不是审讯室。措辞上有区别——“谈话”意味着你还是委员,“审讯”意味着你什么都不是了。但门从外面锁着,窗户没有,空调出风口焊了防拆格栅。
顾盼没能看到林远舟被带走的过程。因为她自己也没走成。
——
变异体事件结束后两小时。下午五点十七分。
顾盼正在C区四号实验室里处理钟岩的血样。离心完成,分层清晰。血清层的颜色偏深——胆红素高,和她之前观察到的巩膜黄染对得上。
她正准备取上层血清做病毒载量检测。门禁系统响了。
不是有人刷卡进来。是门禁被锁定了。从外面。
她的虹膜和掌纹是唯一录入的生物特征。从外面锁定门禁需要覆盖整个系统的管理员权限。C区的管理员权限归政务会。
终端弹出一条通知。
发件人:政务会常务副主席办公室。
内容:因安全事件调查需要,C区四号备用实验室临时列入管控区域。在调查期间,该区域内人员不得擅自离开。如有配合需要,请联系安保调查处。
软禁。
用的是“管控区域”这个行政术语。不是拘留,不是逮捕,没有走司法程序。但效果一样——门打不开,人出不去。
孟宪文的。
顾盼坐回作台前。把那条通知读了第二遍。
孟宪文不是傻子。她在负二层晚宴厅当众掏出一份文件把林远舟钉在墙上,打的是林远舟的脸,扇的是整个政务会的耳光。政务会内部的烂账被一个E区的技术顾问翻出来,这叫什么?叫失控。
政务会不喜欢失控。
林远舟要查,但揭盖子的人也不能放着不管。隔离调查是给林远舟的。软禁是给她的。逻辑很通畅——你既然知道这么多,在调查结束之前就老实待着,别再往外捅了。
顾盼把血样放进冷藏柜。
实验室里的设备还能用,水电没断,内部网络权限也在。孟宪文没有赶尽绝——他还需要她治钟岩。林远舟被隔离了,但林远舟答应她的治疗条件已经兑现了一半。设备在,实验室在,血样在。
差的是人身自由。
顾盼在作台前坐了五分钟。不是发呆。她在看天花板。
天花板左侧角落是被剪断电源线的监控摄像头。右侧角落是空调出风口。出风口的格栅是标准的ABS塑料件,四颗十字螺丝固定,边缘有老化开裂的痕迹——半年没用的房间,塑料件的老化速度比有人的房间快,因为没有常温湿度调节的缓冲。
出风口连着C区的空气循环管道。管道直径四十厘米。人钻不进去。
但声音可以。
以及信号。
——
当天晚上十一点。
实验室的灯关了。顾盼躺在折叠行军床上——这是实验室原有的配置,应急医疗站的标配。
她没有睡。
接收模块从袖口暗袋里取出来,放在枕头旁边。陆衡之的工具包里有一个她之前没用过的功能——短距离无线信号发射。有效半径大约二十米。功率很低,低到避难所的常规信号扫描设备检测不到。
二十米的范围能覆盖什么?
C区四号实验室隔壁是三号实验室,再隔壁是二号。一号在走廊另一头。行政楼一层是值班室和接待大厅。大厅里有一台公共终端,接入避难所的内部网络——内网。
内网是避难所的公共信息系统。通知公告、积分查询、岗位信息、投诉建议。两万多人都能看到。
公共终端的无线接入模块和实验室之间的直线距离——顾盼用步数估算了一下,从实验室门口到大厅公共终端的位置,大约十五到十八米。
在接收模块的有效范围内。
但有一个问题:短距离无线信号能传到公共终端附近,不等于能直接往内网里发帖。公共终端需要用户登录,需要身份验证。
陆衡之的工具包里没有直接入侵内网的脚本。
但有一个更简单的办法。
公共终端的投诉建议模块有一个“匿名提交”选项。避难所建立初期设计的功能,允许居民匿名提交对管理层的意见。匿名意味着不需要登录身份。
匿名提交的内容需要管理员审核才能发布到公共信息板。审核周期正常是二十四小时。
但匿名提交的内容在审核之前,会以“待审核”状态暂存在内网的队列缓存里。缓存区的访问权限——顾盼在AHU-C07维护终端上翻设施管理手册的时候顺手查过——是C区行政级。
她现在的终端就是C区行政级权限。
流程理清了。
第一步:用接收模块的短距离无线功能连接公共终端的无线接入模块。
第二步:通过公共终端的匿名提交通道,把内容推送到内网的待审核队列。
第三步:用C区行政级权限访问待审核队列,手动将内容状态从“待审核”改为“已通过”。
绕了一个圈。但每一步都在现有权限范围内。
顾盼从接收模块的存储区里调出了三份内容。
第一份:昨晚联合晚宴的膳食成分检测结果。溴酚蓝反应、免疫球蛋白的存在。不含技术细节——普通居民看不懂分子量和效价,只需要知道一件事:高层吃的饭里加了保护他们不被感染的东西,你们没有。
第二份:负二层AHU空气处理单元的控制代码截取。BXV_inject函数的变量名和注释。同样做了简化处理——把变量名翻译成了白话。“BXV注入”“剂量控制”“扩散速率”“目标浓度”。每一条后面加了一句话的解释:你呼吸的空气里可能被投放病毒,而坐在桌子边喝汤的人不受影响。
第三份:今天下午变异体事件的现场描述。没有用医学术语。用的是任何人都能看懂的描写——一个在负二层昨晚的宴会上活的普通工作人员,因为长期在那个空间暴露在有毒的空气里,变成了不像人的东西。力气大到能把防暴盾拍变形。最后被制服了,但已经不可逆。
三份内容合在一起,标题——
顾盼想了一下。
“避难所空气安全报告:谁在喝汤,谁在呼吸毒气?”
标题有点长。但够直接。避难所的居民不需要华丽的措辞,他们需要知道自己是不是安全的。答案是不安全。
凌晨零点十二分。顾盼启动了接收模块的短距离无线功能。
信号连接用了七分钟。公共终端的无线接入模块接受了连接请求——没有加密验证,公共终端的无线模块是开放的,这是为了让居民可以用个人终端连接内网。
匿名提交。内容推送。待审核队列。
顾盼切换到实验室终端,用C区行政级权限进入内网管理后台。待审核队列里多了一条新内容。提交者:匿名。
她点了“通过”。
内容发布到了避难所内网的公共信息板。
时间戳:凌晨零点二十一分。
——
第二天上午八点。
顾盼是被门禁系统的开锁声吵醒的。
不是正常开锁。是有人在外面用管理员权限强制解除门禁,但解除了一半又锁回去了——反复了三次。像是两个不同的管理员权限在打架。
然后她的终端收到了九条消息。
前三条来自安保调查处,内容一模一样:“请立即配合调查,不要发布任何信息。”
第四条来自E区实验室的女兵:“顾姐你了什么啊内网炸了!!!”
第五到第八条来自不同的政务会办公室,措辞各异但意思相同:谁允许你发的?
第九条来自一个她没见过的发件人编号。没有署名。只有一行字:
“文件副本还没给我。”
沈寒川。
顾盼把终端放下。打开内网的公共信息板看了一眼。
她昨晚发布的那条内容——
浏览量:6,417。
避难所总人口两万出头。三分之一的人看过了。
评论区关了。不是她关的。是管理员关的。但评论关闭之前已经有一百多条留言。她扫了前几条:
“汤里加了什么?我们喝的水呢?”
“E区和A区的空气是不是单独过滤的?”
“我儿子上周咳嗽一直没好是不是跟这个有关?”
“出来解释。”
“政务会的人每天吃什么?跟我们一样吗?”
恐慌。
不是她想制造恐慌。是恐慌本来就在,她只是把盖子掀了。
上午九点。门禁解锁了。这次是真解锁。
进来的是曹维。安保调查处副处长。身后跟了两个人,没带武器,但腰上挂了束线带和通讯器。
“顾医护。”曹维的脸色不好。他大概一夜没睡。眼袋往下坠,左眼的毛细血管密得发红。“内网上那条信息是你发的。”
不是问句。
“匿名提交通道的系统志保留了信号源的MAC地址。”曹维说。“和这间实验室里那台终端的无线模块地址匹配了。”
顾盼没否认。否认没意义,技术证据在那摆着。
“你知道你做了什么吗?”曹维压着嗓子。“C区今早六点开始有人在走廊里聚集。D区的情况更差——有人把你发的内容打印出来贴在了饮水站旁边。饮水站。两千多人每天排队取水的地方。”
“内容有不实的部分吗?”顾盼问。
曹维盯着她看了三秒。
“你跟我走一趟。”
——
顾盼被带到了A区的行政会议室。不是隔离谈话室——规格不一样。行政会议室有长桌、有投影、有矿泉水。
桌子两侧坐了七个人。
政务会这边:孟宪文,常务副主席;两名委员,顾盼叫不出名字但昨晚在宴会上见过;一名秘书模样的人在角落做记录。
军部这边:沈寒川。就他一个。
还有曹维站在门口。
七加一加一。
顾盼被安排坐在长桌短边。面对所有人。
孟宪文没有寒暄。
“顾医护,昨天下午你在负二层晚宴厅提交了一份涉及基础设施维护的文件,该文件目前正在调查核实中。昨晚,你在被管控期间,通过技术手段将未经核实的信息发布到避难所内网公共信息板。截至今晨八点,该信息已被超过六千名居民浏览。C区和D区出现了聚集和恐慌情绪。”
他把一份显示屏转向顾盼。屏幕上是她发布的那条内容的截图。
“你有什么要说的?”
顾盼看了看屏幕。又看了看孟宪文。
“信息里描述的空气循环系统代码是真实存在的。”她说。“AHU处理单元的控制代码中确实包含BXV-7病毒载体的注入程序。昨天下午在负二层发生变异的工作人员是活的证据。如果这些内容是不实信息,安保调查处可以去查AHU的代码,查不到我认罚。”
孟宪文没接话。
沈寒川坐在军部那侧。从顾盼进来到现在没开过口。他的坐姿和昨晚宴会上一样——靠着椅背,右手搭在扶手上。看着顾盼的方向,但视线焦点不太确定是在她脸上还是在她身后的墙上。
“问题不在于信息真不真。”孟宪文说。“问题在于你绕过了所有正规渠道,直接把涉及避难所核心安全的机密信息公开发布。你是什么身份?E区技术顾问。你有权限决定什么该公开什么不该公开吗?”
“我被软禁在实验室里。”顾盼说。“正规渠道对一个被软禁的人来说不存在。”
“管控措施是保护性的——”
“我的终端收到的通知里写的是'不得擅自离开'。我确实没离开。我人一直在实验室里。”
孟宪文的嘴角动了一下。不是笑。是一种忍耐到极限的肌肉反应。
旁边一名委员开口了:“你是在狡辩。”
“我在陈述事实。”
另一名委员:“发布机密信息,按避难所《信息安全管理条例》第十七条,最高可处三十天禁闭加剥夺全部积分。”
顾盼说:“我发布的信息里没有标注任何密级。因为这些信息在避难所的公文系统里本来就没有被定密。AHU处理单元的维护代码归类在'基础设施运维'目录下,访问权限是C区行政级。C区行政级的权限覆盖范围包括政务会中层以上全部人员和C区行政楼的授权终端。一份几百人都能看到的文件,你告诉我它是机密?”
会议室安静了。
这是一个程序漏洞。BXV-7注入代码被预置在基础设施的维护目录里,而不是被单独加密保存在机密数据库中。要么是设计者疏忽了,要么是设计者压没想到会有人翻到这一层。无论哪种,顾盼用合法权限访问到的内容,在现有的信息安全框架下确实没有被正式定密。
当然,孟宪文可以现在补一个定密决定。追溯定密,然后追溯惩罚。行政权力这种事不需要什么法律依据——避难所又不是法治社会。
但有六千多人看过了。追溯定密等于官方盖章确认内容为真。你越封锁,越说明里面有东西。
曹维在门口轻咳了一声。
“副主席,”他说,“C区走廊的聚集人数还在增加。D区饮水站那边,有人开始要求政务会出面回应内网上的内容。如果长时间没有官方说法——”
“我知道。”孟宪文打断了他。
又安静了十几秒。孟宪文和旁边两名委员交换了几个眼神。那种在权力圈子里泡久了的人才看得懂的眼神交流——嘴不动,眉毛动,眼球转一个方向就是一层意思。
顾盼没去猜他们在交流什么。她在等。
“顾医护。”孟宪文再开口的时候,语气变了。不是软了,是换了一种硬法。“你想要什么?”
直球。
顾盼没有犹豫。她等这句话等了一个早上。
“司法豁免。”
孟宪文的眉毛没动。但旁边那个秘书的笔停了。
“我发布信息的行为——不管你们最终定性为什么——不受追诉。我的人身自由即时恢复。我在E区的技术顾问岗位不受影响。C区四号实验室的使用权保留到我完成当前治疗为止。”
“你的条件开得挺全。”
“条件很简单。人、岗位、实验室。三样东西,都是我现在已经有的。我没有多要。”
孟宪文看向沈寒川。
这是今天第一次有政务会的人主动看向军部的方向。
沈寒川的右手从扶手上抬起来,拢了一下袖口。衬衫是今天新换的,看不见昨天那道擦伤。
“顾盼的E区岗位归属军部管辖。”沈寒川说。声音不大,但会议室的声学设计让每个音节都清清楚楚。“政务会对E区人员没有处分权。软禁措施,越权了。”
孟宪文的脸色变了一个色号。
“人可以放。”沈寒川站了起来。“条件,她说的那些,我没意见。”
他没有征求政务会同意。他只是告知了一下这边的态度,然后往外走。
路过顾盼的时候停了一下。
“副本。”
一个词。
顾盼从口袋里摸出一张折叠的A4纸递过去。文件副本。她凌晨两点准备好的。比昨天交给曹维的那份多了两行字。
多的那两行写在文件末尾的备注栏:
“本文件所涉及的设施改造工单原始存档位于A区核心服务器·设施管理数据库·加密目录FMD-0097。”
路径是编的。但沈寒川拿到这份文件,就有了一个理由去查A区核心服务器的加密目录。查不到这个路径没关系——查的过程中能看到什么才重要。
沈寒川接过纸,没有当场展开看,折进了军装口袋里。
走了。
孟宪文被晾在会议室里。七个人对面一张空椅子。政务会的常务副主席,此刻的表情很难用一个词概括——大概是一个人在同一天里被两个不同的人各打了一巴掌之后的表情。
“记录。”他对秘书说。
秘书提笔。
“避难所安全事务联席会议纪要。关于近期安全事件的处理决定——第一,C区四号备用实验室解除管控,恢复正常使用。第二,E区技术顾问顾盼的相关行为纳入安保调查处的后续评估,调查期间不采取限制措施。第三,内网公共信息板的匿名提交功能即时关闭,已发布内容标注'待核实'标签。第四——”
他停了一下。
“第四,顾盼列入避难所高危人员监控名单。”
秘书写完。
孟宪文没有再看顾盼。收拾桌上的文件起身。两名委员跟着走了。
曹维最后离开。经过顾盼的时候轻声说了一句。
“六千人看到的东西收不回来了。你知道后果是什么。”
“知道。”
“知道就行。”
曹维走了。
会议室只剩顾盼一个人。矿泉水她没喝。拧开盖子闻了一下——纯净水,没有C区直饮水的矿物质涩味。A区的水。
她喝了两口。站起来走出会议室。
走廊里没人拦她。
自由了。
打了引号的自由——高危人员监控名单意味着她的行踪会被追踪。每到一个区域,门禁记录会实时推送到安保调查处。她的终端通讯可能被监听。和她接触的人可能被记录。
但门能开,路能走,实验室能用。
够了。
——
回到C区四号实验室。钟岩不在了。
林远舟被隔离,他的人自然被收走了。血样还在冷藏柜里。治疗方案要继续做——不管钟岩在谁手上,病毒不等人。
顾盼关上门。坐到作台前。
接收模块取出来。
陆衡之的三份文件,她看过了前两份。第三份一直没打开——这几天的事情太密,没有整块的时间。
现在有了。
第三份文件。文件名:“FEP_layout_v3_final”。FEP——F区工程参数。
F区。
避难所公开的区划是A到E五个区。F区不在任何公开文件里。但陆衡之的笔记里多次提到这个编号。
文件打开。
不是文字。是一组工程图纸。AutoCAD格式,转成了PDF。顾盼对工程图的理解有限,但基本的平面布局能看懂。
F区位于避难所的最底层。比负二层还深四层。总面积比其他任何单个区域都小——大约是E区的三分之一。但净高惊人。主体结构的层高标注是十二米。
十二米。其他区域的层高是三点五米标准。十二米的净高,要么是大型设备的容纳空间,要么是——
图纸的第二页是剖面图。F区主体空间被标注为“垂直通道·VT-01”。
垂直通道。
顾盼翻到第三页。通道的顶部连接了一个气闸舱结构。气闸舱上方的标注只有两个字:
“地表”。
她盯着这两个字看了很久。
F区的垂直通道通向地表。
避难所有出口。
或者说——避难所的设计者留了一条出路。不在A区的主入口,不在B区的物资通道。在一个公开区划里本不存在的第六区。
图纸的第四页标注了VT-01的技术参数。通道直径四米。内壁安装了攀爬梯和货运升降平台。升降平台的承载量是两吨。电力供给来自独立的备用发电系统,不依赖避难所的主电网。
气闸舱有三道门。内门、中间缓冲舱、外门。每道门的解锁方式不同——内门是生物特征识别,中间门是机械密码锁,外门是远程授权。
三道锁。三种开法。
生物特征识别录的是谁的数据?机械密码是多少?远程授权找谁?
图纸上没写。
但图纸的最后一页有一行手写备注。不是打印的——是有人用笔直接在PDF上做的标注。笔迹凌乱,但顾盼认得。
陆衡之的字。
“VT-01入口位于E区与F区连接通道的交汇处。坐标:E-7区段,地面标高-47.5m。入口伪装为设备维护井盖,编号EMH-E7-003。”
“注意:入口外围50m范围内有军部固定哨位。24h轮值。双岗。装备不明。”
顾盼把接收模块关了。
坐在作台前。实验室里安静得能听见冷藏柜压缩机的运转声。
逃生通道存在。位置清楚了。
入口在E区。她每天走来走去的E区。
但入口外围五十米是军部的固定哨位。全天候双岗。这不是门禁刷卡能解决的问题。
沈寒川把守着唯一的出路。
他知不知道那条通道通向哪里?
顾盼把这个问题放在脑子里翻了翻。没有答案。暂时不需要答案。
她重新打开冷藏柜,取出钟岩的血清样本。移液器、反应板、试剂盒。
手上的活先。
通道的事,慢慢想。