下一章 上一章 目录 设置
4、名字先上了论坛 旧关系图与 ...
-
第四天早上,许砚知的名字第一次出现在学院论坛标题里。
【新生导引异常对象与寒灯旧成员疑似提前组队】
帖子没有直接写“许砚知”,却贴出了A201后排座位图、route_to_xz文件名和一张被裁掉边缘的共同申请表。申请人的签名只露出一个“许”字,足够让同班同学认出来。
陈以宁在宿舍把手机递给他时,正在系鞋带:“发帖时间五点四十二,最早三条回复五点四十三,账号都注册了半年以上。不是临时水军,或者说,至少准备得比临时更早。”
许砚知把页面存档,记录楼层数和评论方向。大部分人还在猜,没有直接攻击;第十七楼却贴出一句话:
“系统为什么偏偏选他?也许他本来就在名单里。”
这句话把问题从“数据从哪里来”改成“许砚知是不是特殊对象”。
陈以宁问:“你打算回吗?”
“不回。”
“那去上课?”
“先把共同申请表泄露范围报给贺承远。”
“你不生气?”
许砚知关掉页面:“生气和回复没有必然关系。”
陈以宁系好另一只鞋,抬头看了他一眼:“你这句话通常意味着很生气。”
离散数学课在七点五十分开始。许砚知进教室时,原本散落的交谈停了一瞬,又迅速恢复。有人主动和他打招呼,也有人低头避开视线。沈砺川坐在最后一排靠过道的位置,桌上放着两个空座位,像提前替谁划了边界。
许砚知走过去,把书放在他旁边。
“我以为你会坐前面。”沈砺川说。
“前面没有插座。”
“你今天不需要电脑。”
“我需要知道帖子发出后谁先联系你。”
沈砺川把手机推过来。凌晨五点四十七分,周闻发来一句:退出还来得及。五点五十一分,一个无头像账号发来A401门牌照片。六点零二分,学院导引系统自动通知两人参加二期测试。
“你没回复?”许砚知问。
“遵守三秒停顿,停完以后觉得任何一句都像上钩。”
“做得对。”
沈砺川看着他:“今天夸得这么直接?”
“事实明确。”
老师走进教室,把一张校园道路图投到屏幕上,要求每组用图论表示节点、边和可达关系。题目本来很普通:从宿舍区到教学区,如何在部分道路封闭时保证通行。
林疏月从前排转过来,直接把自己的椅子搬到他们旁边:“我们四个人一组。陈以宁刚好也选这节。”
沈砺川问:“你什么时候决定的?”
“看见论坛标题以后。”
“为了帮忙?”
“为了避免你们两个把作业写成证据保全申请。”
老师让各组先画有向图。林疏月拿起马克笔,在白纸中央写下“A401”,四周分别写“旧U盘”“B3-07”“论坛”“导引系统”“WEN”“SLC”“XZ”。
“课堂题先放一边。”她说,“帖子已经把你们推到公开区,先画谁知道什么。”
陈以宁把各条信息按时间贴到节点旁。许砚知负责区分已证实、待核验和纯推测,沈砺川补充旧项目的权限路径。
图越画越密,唯一不合理的地方越来越明显:每条公开信息出现前,都有一个学院内部动作。
旧U盘被封存后,论坛出现路线截图。
B3-07被申请保全后,周闻主动现身。
成员表被录像后,共同申请表泄露。
“有人能看到我们的申请流程。”陈以宁说。
“贺承远、信息中心、实验中心、辅导员。”林疏月列出四个节点。
沈砺川补:“还有A401控制机。如果它仍接入旧通知服务,申请调取门禁时可能自动触发日志。”
许砚知问:“旧通知服务会把信息发给谁?”
“以前发项目管理员。”
“WEN和SLC?”
“还有ROOT-LAB。”
林疏月在三个账号外画了一个圈:“先别把账号当人。我们现在能确定的是,信息会沿旧服务流出去。”
许砚知看着她:“你昨天说讨厌半张截图。”
“今天也讨厌把账号直接等同于人。”
老师从他们身后经过,停下脚步:“你们这个图不像道路。”
四个人同时看向桌面。
白纸上写满寒灯相关缩写,显然没法假装是交通模型。
许砚知正准备解释,林疏月先把另一张空白纸盖上去:“我们在讨论信息传播作为有向图,等下会换成匿名节点。”
老师没有追问,只说:“图不是越复杂越好。节点定义不清,边越多,错误越难找。”
这句话让许砚知重新看向A401节点。
他们一直把A401当地点,却没有区分门禁控制机、旧实验室、通知服务和公共终端。一个名字下面压了四种不同对象,任何人都能利用这种混淆制造“同一地点发生的一切都属于同一责任人”的错觉。
许砚知把A401拆成四个节点。
拆开后,图中出现一条以前被遮住的路径:共同申请表进入门禁调取流程,A401通知服务被唤醒,旧管理员收到请求,论坛随即出现材料。
“泄露不一定来自某个看过申请的人。”他说,“可能是旧服务自动推送。”
沈砺川立刻拿手机,随后停住,先看向许砚知。
“给贺承远发?”
“发。只说推测和验证方法。”
沈砺川把消息打完,发出前递给他看。许砚知删掉“肯定”,改成“可能”,又补上“建议暂时断开旧通知服务,不删除日志”。
发完后,沈砺川把手机扣在桌上:“共同确认一次。”
“嗯。”
那不是值得庆祝的进步,但许砚知记住了。沈砺川没有因为事情紧急就跳过约定,也没有把“我更懂系统”当作替别人决定的资格。
课间,论坛帖子突然更新。
楼主贴出一张关系图,中心是SLC,向外连着寒灯、A401、旧U盘和XZ。图旁边写着:
“新生许某不是意外卷入。他在入学前就通过XZ身份进入寒灯系统,沈某负责接应。”
下面附了一条门禁记录:三月十七日凌晨两点十七分,XZ进入A401。
教室里有人发出一声很轻的“啊”。
这次没有模糊截图。记录里有日期、终端、门禁动作和人员别名,格式完整得像正式导出。
许砚知把图片放大。
三月十七日,他正在家里准备高考二模,离澄陵大学一千多公里,也没有学校门禁卡。可记录写着XZ刷卡成功,进入A401,停留四十七分钟。
沈砺川站起来:“这就是假的。”
“坐下。”许砚知说。
“你那时候根本不在学校。”
“所以更需要查原始记录,不能只说假。”
“他们把你写进去了。”
“我看见了。”
沈砺川没有坐。他的声音压得很低:“你为什么还能这么冷静?”
“因为现在冲出去找楼主,能证明什么?”
“至少让他知道——”
“知道你会按他预设的方式行动。”
这句话把沈砺川钉在原地。
许砚知抬头看他:“坐下。一起申请原始门禁数据。”
几秒后,沈砺川拉开椅子,坐回去。他没有道歉,也没有继续争。林疏月把那张关系图保存为原图,陈以宁开始核对图中字段格式。
“有个问题。”陈以宁说,“正式门禁导出不会只写别名,会同时有卡号或人员编号。这张图把编号列裁掉了。”
“又是半张。”林疏月说。
许砚知在帖子下方找到图片源链接。原图托管在校内临时文件服务,上传者使用一次性令牌。令牌申请时间正好在他们早上向贺承远报告泄露后五分钟。
“对方在线。”沈砺川说。
“而且能看到我们报告。”
下课后,四个人没有去食堂,直接到贺承远办公室。旧通知服务已经被断开网络,日志完整保留。贺承远把门禁调取申请退回记录给他们看:“实验中心拒绝了普通查询,但同意在本人身份争议的情况下核验一条记录。许砚知签授权。”
授权书要求填写“申请原因”。许砚知写:本人在未获得校卡、未入校期间出现异常入楼记录,请核验原始人员编号与映射规则。
沈砺川站在旁边:“把我也写进去。”
“为什么?”
“帖子说我接应。查同一时间我的门禁。”
“你当时可能确实在学校开放营。”
“所以更应该查。”
许砚知把第二项申请递给他。两个人分别签名,没有合并成一张“共同证明”。他们需要的是各自完整的记录,而不是为了看起来站在一起,把边界弄模糊。
等待实验中心回复的两个小时里,许砚知去上英语课,沈砺川参加新生程序赛说明会。两个人没有一直在线,却在共享台账里按约定更新位置和接触人。许砚知并不喜欢这种像报告行踪一样的方式,沈砺川也抱怨“比军训点名还细”,可谁都没有擅自删掉。
下午三点二十,原始门禁数据送到A307。
贺承远只让许砚知、沈砺川和实验中心老师在场。记录多出论坛截图没有的两列:原始人员ID和显示别名。
三月十七日两点十七分,进入A401的原始ID是`CL-TEST-017`,显示别名是`XZ`。
许砚知的学号字段为空。新生导引系统在今年八月迁移数据时,把`CL-TEST-017`的别名XZ错误映射到了他的个人账号,因为他的姓名拼音缩写相同。
“所以三月进入A401的不是我。”他说。
实验中心老师点头:“从原始ID看不是。论坛图省略了关键字段。”
沈砺川没有松口气,反而问:“CL-TEST-017是谁?”
老师调出旧卡登记。登记姓名一栏不是“许砚知”,而是“徐知行”。
许砚知第一次看见这个名字。
沈砺川却明显认识。他盯着屏幕,脸色一点点变白。
“你认识?”贺承远问。
“寒灯测试营里有个初中生叫徐知行。”沈砺川说,“他和陆星迟不是一个人。他是最早被系统推荐退出竞赛方向的学生。”
“后来呢?”
“家长投诉后,名单被撤回。我们以为他的记录已经删除。”
许砚知看着原始ID。旧测试对象没有真正从系统里消失,只是姓名被压成缩写,几年后又因为相同缩写落到了另一个人身上。
论坛上的谣言因此不完全建立在伪造上。它利用了真实门禁、真实别名和错误映射,只裁掉能解释差异的那一列。
这种手法比凭空编造更难处理。
“我要公开澄清吗?”许砚知问。
贺承远说:“实验中心可以出具身份不一致说明,但公开到什么程度由你决定。说明会暴露徐知行的旧ID,可能再次伤害他。”
房间里安静下来。
许砚知当然想马上证明自己没有进A401。只要放出原始记录,他就能从帖子中心退出。代价是另一个早已离开的人被重新拖回来。
沈砺川看着他,没有说“你先保护自己”,也没有替他决定应该沉默。他只问:“能不能只证明不是你的学号,不公布原姓名?”
实验中心老师想了想:“可以出具脱敏说明,写原始ID对应历史测试卡,与现学生身份无关。具体姓名不公开。”
许砚知点头:“用这个。”
“帖子里还会有人说你们遮掩。”沈砺川提醒。
“那是他们的推测。我们不需要为了让所有人闭嘴,交出不属于我们的隐私。”
脱敏说明在傍晚发布。论坛帖子没有立刻消失,争论却开始转向“为什么历史测试卡会被映射到新生账号”。这是许砚知更愿意面对的问题。
但问题换了方向,不代表人群立刻恢复正常。
晚饭时,食堂二楼几乎坐满。许砚知端着餐盘走到靠窗区,原本有两个空位的一桌在他靠近时把书包放到了椅子上。动作不算恶意,甚至有人对他歉意地笑,说“这里有人了”。他没有问那个人什么时候来,只转去最边上的长桌。
沈砺川跟在后面,把自己餐盘放到他对面。
“那桌没人。”他说。
“我知道。”
“你不生气?”
“已经发生了。”
“这不是回答。”
许砚知夹起一块青菜,没有吃:“如果我现在回去要求他们把包拿走,能改变什么?”
“至少不用装作没看见。”
“我没装。”许砚知抬眼,“我只是选择不把每一件事都处理成冲突。”
沈砺川盯着那张被占住的椅子,几秒后站起来。
“坐下。”许砚知说。
“我去拿汤。”
“汤在另一边。”
“那我顺便绕路。”
许砚知把筷子放下:“你现在过去,是为了我,还是为了让自己舒服?”
沈砺川停在桌旁。
这问题很不客气,却把他从已经准备好的动作里拽了出来。他看了看那桌,又看许砚知,最终坐回去。
“都有。”他说。
“那先处理能解决的部分。”
“怎么处理?”
“吃饭。明天继续查。”
沈砺川拿起勺子,明显还有气:“你是不是对所有人的恶意都能做成待办事项?”
“不是。”许砚知说,“有些恶意没有核验价值,只能决定我以后是否和他们合作。”
“已经决定了?”
“嗯。”
“那桌的人以后找你组队呢?”
“拒绝。”
沈砺川终于笑了:“还以为你真没脾气。”
“我只是不用你的方式发。”
他们吃到一半,那桌其中一名同学端着饮料过来,站在旁边解释:“刚才不是针对你。我们只是怕论坛的人截图,说我们也参与……”
许砚知问:“你们认识论坛楼主?”
“不认识。”
“那为什么觉得和我坐一桌会被截图?”
对方一时答不上来。
“你可以担心。”许砚知说,“但不用替自己的选择找一个不存在的观察者。”
同学脸上发热,匆匆说了句抱歉,转身走了。
沈砺川低头喝汤,肩膀抖了一下。
“你笑什么?”
“你刚才比我过去吵一架狠多了。”
“我只问了两个问题。”
“所以狠。”
饭后,两人在食堂外看论坛后续。有人开始追问导引系统的数据治理,也有人继续说“学校出说明就是内部保护”。沈砺川打开编辑框,输入一大段自己当年的权限错误和公开致歉。
许砚知伸手按住发送键上方,没有碰屏幕:“你要发什么?”
“把火引回我这里。至少他们不会继续猜你是不是特殊对象。”
“你的责任事实核验完了吗?”
“我确实没换主密码。”
“这和今天的门禁映射不是同一件事。”
“公众不会分。”
“那你更不能替他们混在一起。”
沈砺川看着编辑框:“可这样对你最省事。”
“对我省事,不等于正确。”许砚知把他的手从手机边移开,“而且我没授权你用自我归责的方式保护我。”
“你连这个也要授权?”
“涉及我的选择,当然。”
沈砺川站在食堂门口,背后是不断进出的人流。他脸上的怒气并没有立刻退,可那段准备发布的文字最终被他存进草稿,没有发出去。
“那我能做什么?”他问。
“把SLC密码共享、告警关闭、权限回收分别写清楚。以后需要公开时,按事实公开。”
“你呢?”
“我负责说明映射错误和个人身份无关。”
“各自承担各自的?”
“共同查,不共同模糊。”
沈砺川把手机锁屏:“这句话我记住了。”
回教室拿书时,林疏月还在整理那张关系图。她把许砚知节点旁边“入楼”那条实线改成了虚线,随后又删掉。
“为什么删?”沈砺川问。
“因为那不是他的边。”她说,“图不是为了把每个人都画进去,是为了避免把别人的路径错接到他身上。”
许砚知看向白纸中央。A401拆成四个节点以后,所有路径不再围着沈砺川,也不再围着他。真正度数最高的是“身份映射服务”。它把旧测试卡、导引别名、门禁显示和新生账号串在一起。
“下一步查映射规则。”他说。
陈以宁把笔帽扣上:“还有谁创建了CL-TEST-017。”
“以及为什么旧卡没删除。”林疏月补充。
沈砺川最后说:“还有徐知行后来去了哪里。”
四个人第一次在同一张纸上写下各自负责的任务。没有人被固定成中心,也没有人被允许只做旁观者。
晚上九点,许砚知回宿舍后收到实验中心补发的一页映射日志。系统迁移时,所有两字母别名会优先匹配新生姓名缩写;若重复,则按“推荐路径相似度”选择。
XZ不止对应徐知行和许砚知。
旧库里还有第三个XZ。
日志没有显示姓名,只显示状态:`record_owner: removed`。
许砚知把这一行发进共享台账。沈砺川很快打来电话。
“先别查名字。”他说。
“理由。”
“removed在寒灯旧库里不是删除,表示成员身份被移出显示名单,但原始记录保留。”
许砚知看着那行状态:“像周闻。”
“也可能是另一个被从成员表移走的人。”
电话那头传来键盘声,随后沈砺川停住。
“我没继续。”他说,“等你确认。”
许砚知打开共享页面,把第三个XZ的查询任务设成双人执行:“明天下午,公共机房。先写解析器,只读导出。”
沈砺川应了一声。
几秒后,许砚知的校园卡应用弹出一条门禁授权通知:
【您已获得A401临时访问权限,有效期:明日14:00—14:30。】
他没有申请。
沈砺川那边也收到了同样的授权。
两个人隔着电话同时沉默。许砚知先截屏、导出通知编号,再拨给贺承远。
通知详情最下方写着授权来源:`ROOT-LAB`。
贺承远接通后让他们不要确认授权,也不要点击取消。实验中心后台显示,这份权限不是人工审批生成,而是A401旧控制机按照“历史成员回访”规则自动发放。规则名单里没有许砚知和沈砺川的现学号,只有两个别名:XZ、SLC。
“系统把别名重新认成了你们。”贺承远说,“明天十四点前,我会带实验中心老师到门口。你们不提前靠近。”
许砚知应下,正准备挂断,授权页面又展开一条管理员备注:
请携带CL-TEST-017原卡,完成身份合并。
那张三年前属于徐知行的测试卡,按档案记录早已销毁。
沈砺川把备注截图后,没有再碰页面。他问许砚知:“如果明天门认错人,怎么办?”
“先让它保留认错的全过程。”
“然后?”
“然后把XZ从名字改回编号,把每一条不属于我的边拆掉。”
沈砺川看着他,点了一下头。电话没有挂,两个人各自在自己的宿舍里等待贺承远完成后台封存,直到权限页面变成灰色,谁也没有先退出。
后台封存完成前,ROOT-LAB又尝试续期一次。系统拒绝后,把失败请求写进日志:目标不是A401门锁,而是身份映射服务。
许砚知把失败请求加入明天的只读导出清单。沈砺川没有提出提前查看,只在任务旁边签了自己的名字。