联邦监狱管理局南方管教所坐落在阿什兰市东南方向四十英里的荒漠里,一片被荆棘和铁网围成的灰色水泥方阵。早晨六点,太阳还没爬过围墙顶上的蛇腹形铁丝网,囚犯们已经在号房里等着第一道解锁铃。空气里混着消毒水、汗酸和过期麦片的气味,那是一种长期封闭空间才会产生的、几乎有重量的味道。
丹尼·里弗斯躺在C区二楼十二号房的铺位上,盯着天花板上一块椭圆形的霉斑。那块霉斑的形状让他想起德州东部老家谷仓顶上的一扇天窗。他已经看了它四年零八个月,早已记不清最初是从哪一天开始把它当作某种坐标。他翻了个身,铁架床吱呀叫了一声。对面铺位的马库斯·维加已经醒了,正盘腿坐在床角,用一根弯曲的塑料勺柄在水泥墙壁上轻轻画着什么。
里弗斯压低声音说:“昨天夜里外面亮过两次。不是灯,是电焊弧光。值夜班的人在修什么。”
维加没有回头,勺子继续划动,发出轻微的沙沙声。他用只有两人能听清的音量回应:“修的是地下配电间的防爆门。上个月那次水泵过载把门框烧变形了,工程部一直拖着,昨天突然批了材料。”
“谁批的?”
“副典狱长。据说是接到上面电话。”
里弗斯把目光从霉斑上移开,侧过身,看向维加的后脑勺。维加的肩膀很宽,但是瘦,颈后的椎骨像一串算盘珠顶着皮肤。他比里弗斯早进来两年,罪名是篡改市政供水系统的消毒剂投加量,导致三个居民区出现氯气轻度中毒。里弗斯记得他在档案室里偷翻过维加的卷宗——维加以前是阿什兰水利局的主任工程师,有二十五年的调度经验,对整座城市的地下管网了如指掌。
“你猜那个电话是谁打的?”里弗斯问。
维加把勺子放下,转过脸来。他的眼角有一道疤,不是打架留下的,是年轻时在工厂被钢索崩断划伤的。他盯着里弗斯看了两秒,然后用手指在墙上的划痕上点了三下。那三下排成一个三角形——是他们在过去两个月里约定的一套暗号之一,意思是“走廊里有人在听”。
里弗斯不再说话,重新躺平。脚步声从走廊尽头传来,很轻,但橡胶鞋底在环氧地坪上的摩擦声逃不过他的耳朵。一名狱警经过十二号房门口,没有停留,但窗玻璃上闪过一道反光——那名狱警的脸朝他们这边偏了零点几秒。
早餐铃响了。
食堂里排着三列纵队,不锈钢餐盘碰撞的声音像一场金属的雨。里弗斯端着盘子走到靠墙的角落,坐下,用塑料叉子戳开一块炒蛋。炒蛋是粉色的,混着番茄酱的残渣,他面不改色地吃下去。维加坐到他旁边,把面包撕成小块泡在牛奶里。
他们周围坐着几个其他街区的熟人,但没人说话。管教所食堂的规矩就是这样——多一句闲话,可能就会变成另一间号房的夜间交易筹码。里弗斯低头咀嚼的时候,余光扫到C区主管狱警摩尔从侧门走进来,站在饮料台旁边,眼神直直地落在他身上。
摩尔是个四十出头的白人,络腮胡修剪得很整齐,左臂有一块前海军陆战队的锚形刺青。他穿过几张餐桌,走到里弗斯对面,把一张折叠的打印纸放在餐盘旁边。
“你的律师传真过来的。联邦地区法院的裁定书。”
里弗斯没有立刻去拿。他把嘴里的面包咽下去,用手背擦了擦嘴角,然后才展开那张纸。纸上密密麻麻的字,他用不到三十秒扫完了关键段落——第二份人身保护令申请被归类为“连续申请”,地区法院不予受理,理由是“新证据不足以改变原审事实认定,且未能证明该证据在原审程序中因政府不当行为而未被披露”。
他把纸对折,塞进裤兜里。摩尔还站在对面,双臂抱在胸前。
“不写个申诉信什么的?”摩尔的声音不高,但带着一种故意拉长的、近乎怜悯的尾音。
“写给你看?你帮我寄出去?”里弗斯抬起头,笑了一下。那笑容很短,只牵动了右半边嘴角。
摩尔没有回话,转身走了。里弗斯继续吃他的炒蛋,叉子在盘底刮出两声响。
下午的自由活动时间,里弗斯没有去操场。他申请去了图书馆——一间只有三排书架和四台老式终端机的房间,终端机连接着监狱内部的教育网络,不能上网,只能调取预下载的法律资料和GED学习模块。管理员是个退休的小学教师,姓帕金斯,对囚犯们向来睁一只眼闭一只眼,只要不把终端机拆开就行。
里弗斯坐到最靠里的那台终端前面,打开一个州上诉法院的判例库,输入了阿什兰市电力公司最近的几份公共服务记录。这些记录在公开网络上都能查到,但监狱终端只缓存了部分,他需要翻页翻得很慢,等每一页加载出那些老旧的PDF扫描件。
他在一份半年前的变电站预防性维护报告里找到了一段不起眼的脚注——“SCADA系统于2025年3月完成远程诊断接口升级,新增备选登录路径以适配州级应急调度协议。”后面附了一个端口号列表,其中一段数字与他昨天夜里在脑海里默记的那串不完整的IP碎片吻合。
他把那个端口号记在了手心里,用指甲划进皮纹里。然后他关掉判例库,打开一个看起来完全无关的印第安部落土地权属争议的文档,假装在阅读。
维加没有来图书馆。他留在号房里,把那张被单拆下来,趁着洗衣时间在工业洗衣机旁边多待了十分钟。那台洗衣机的控制面板后面有一条数据线,连着管教所的楼宇自控系统——用来调节各区域的供暖、通风和水压。维加用一枚偷藏的螺丝刀尾端轻轻碰了一下接线端子的第三针,系统没有报警,但控制面板上的一个绿色指示灯闪了两下。
他回到号房时,里弗斯已经从图书馆回来了。两个人隔着铺位坐了一会儿,等到走廊里的巡视脚步声完全消失之后,维加伸出左手,掌心朝上,五指微微张开。
里弗斯看了一眼那个手势,把右手伸过去,用食指在维加的掌心里画了一个圆,然后在圆的底部加了一道横线。这是他们约定的一个信号——“已经确认通道”。
维加收回手,从床垫下的缝隙里摸出一小块指甲盖大小的东西——一个拆解后的收音机电容和一根铜线绕成的简易天线。他把这个东西嵌进墙壁的换气扇格栅后面,然后躺回床上,闭上了眼睛。里弗斯知道,从现在开始,维加可以在每天夜里十点到十点半之间,通过换气扇的金属共鸣,接收到管教所外部某个特定频率的极微弱的电磁信号——不足以传输数据,但足以确认“外面的人”是否还在。
那是一种比摩尔斯码更原始的方法:有信号,就是“继续”;没有信号,就是“撤离”。
里弗斯躺平,把目光重新投向天花板上的霉斑。他想起了七年前的地方法庭,那个作伪证的邻居,那个把关键监控录像“丢失”的警探,那个说“被告没有充分证明自己清白”的陪审团。他想起上诉庭上法官引用的一条判例,说第二次提交的人身保护令申请必须满足“先前未被提出的新事实”和“该事实若非由于政府过错便无法被合理发现”的双重门槛。他当时听不懂那些拉丁语,现在他懂了——那扇门早就焊死了。
但焊死的门,也可以用电流烧开。
晚上十点十分,C区熄灯。里弗斯躺在黑暗中,眼睛睁着。换气扇的扇叶在慢慢转动,发出有规律的咔嗒声。咔嗒,咔嗒,咔嗒——突然,节奏断了一拍。
维加在对面翻了个身,呼吸声变重了半秒。
里弗斯知道,那个信号来了。
第二天清晨,科尔多瓦站在南方管教所的大门外,把FBI探员证递给门岗。她一夜没睡好,眼眶底下泛着一圈青灰,但她的目光是清醒的。她今天来,不是为了调查里弗斯或维加——至少名义上不是。她手里拿的是一份由联邦监狱管理局区域办公室签发的协调函,内容是“应网络犯罪调查组要求,协助调取管教所公用网络出口的流量日志”。
门岗翻来覆去看了两遍,把协调函还给她的同时,低声说了一句:“你找我们技术科的老杜,他在C楼地下室。”
科尔多瓦走进大门,穿过两道安全门和一条铺着浅绿色瓷砖的走廊。空气闷得像没拧干的毛巾。她经过C区图书馆的时候,透过门玻璃看见一个穿橙色囚服的男人坐在终端机前面,背对着她,肩膀宽阔,后脑勺剃得很短。她只瞥了一眼,脚步没有停。
但她没有注意到,那个男人在玻璃反光里看到她的瞬间,手指在键盘上悬停了整整三秒。
科尔多瓦在地下室见到了技术科的老杜——一个头发花白、戴着厚眼镜的胖子,工位上堆满了拆开的服务器外壳。他一边打哈欠一边导出了管教所近三十天的上网行为日志,存在一张加密U盘里递给她。
“流量很大,你自己筛。但我要提醒你,很多 inmate 用教育终端翻墙看球赛,那些IP段都是乱的。”老杜耸了耸肩。
科尔多瓦把U盘收好,道了谢,转身往外走。经过C区走廊的时候,她又看了一眼那间图书馆,但那个穿橙色囚服的人已经不在了。窗玻璃上只剩下一台待机的终端机屏幕,蓝幽幽的光映在空椅背上。
她走出管教所大门,坐进车里,把U盘插入车载电脑。当她用自己编写的过滤器筛掉已知的普通浏览记录之后,一条异常会话浮了出来——就在停电发生前四十七秒,管教所公网IP池里的一个地址,通过那个精确的端口号,向外发出了一个SYN握手包。目标地址是市政电力公司SCADA系统的备用网关。
她握着鼠标的手停了下来。她反复核对那个源IP的内部映射记录,最后追溯到具体的那台终端机编号——C区图书馆四号机。
四号机在那个时段的使用登记表上,签着两个名字。第一个名字是丹尼·里弗斯。第二个名字,写在旁边一栏,作为“同时间段使用人”备案,是马库斯·维加。
科尔多瓦关掉电脑,靠在座椅上。前方的管教所围墙在高悬的太阳下白得刺眼。她盯着那扇铁门,脑海里浮现出疗养院里那个被气囊压了一整夜的老人。
但她忽然又想起一件事——那条半夜消失的短信,那个陌生号码,没有任何运营商记录的那串数字。
如果管教所的终端只能访问内部缓存的教育和法务资料,那么里弗斯和维加是怎么把那个SYN包发出去的?除非,有人替他们把门开了。
而她今天来索取流量日志这件事,管教所内部会在第一时间知道。老杜会写报告,副典狱长会知道,也许,那个人也会知道。
科尔多瓦伸手拧动车钥匙,引擎响了。但她没有挂挡。她在等——等今晚十点,她植入U盘里的那个静默追踪脚本,会不会在管教所网络里捕捉到第二个握手信号。


暂无评论,来抢沙发吧!