周砚看着那一排留白格,手指在桌面上停了半秒,像是把某个已经逼到眼前的答案按回了喉咙里。
“最后暗语不是一句话。”他说,“是一个位置。”
林序怔了怔。
“位置?”
“对。”周砚把屏幕往前推了一点,指着那一列灰色留白格,“它不是等你写内容,而是等你把名字、责任、签名、甚至补充说明,一起往里面塞。所谓暗语,不是让人记住什么,而是让人默认该在这里补上什么。谁补,谁认。谁认,谁先落钉。”
顾明盯着那几条调用记录,眉头皱得很深。
“这就对上了。”他说,“模板库里这个留白位,最近几轮抽样里都出现过。只是以前它太普通了,像格式里多出来的一小块空白,没人会特意看。现在一旦把证人册开了,它就不是空白了,它是导口。”
周砚没有接话,他在想更深一层的事。
模板与留白并排出现,说明对方不只是想统一口径,而是在统一“落名”的方式。证人册一开,证词要落印,决议要落印,见证位要落印,所有人都得把自己的动作从口头拖回纸面。可如果纸面上还藏着一个留白位,那就意味着最后一步签名可以被引导,甚至可以被预设。名字不是随便签上去的,是被推着签上去的。
而这,恰好就是那种最危险的影子。
它不站在灯下,却能决定灯照向哪里。
“把留白位对应的模板编号全部拉出来。”周砚说。
顾明立刻敲键盘,几秒后,屏幕上跳出一串批量记录。周砚扫了一眼,视线猛地定住。
其中一条编号后面,附着一个极短的内部标记。
bso017。
不是完整标题,也不是项目代号的正常格式,更像是一枚被刻意缩短过的影子编号。旁边没有解释,只挂着一个来源字段:跳板导出。
周砚的指尖一下收紧了。
“bso017……”他重复了一遍,声音很低。
林序立刻看向他:“你认得?”
“不是认得。”周砚盯着那串字符,“是见过这种写法。”
他脑子里迅速闪过几个月前那条被封存掉的线索,和第291卷以后逐渐浮出的各种灰层。编号、留白、模板、签名位,这些东西原本是分散的,甚至是各自独立的。可一旦编号前面多了一层跳板导出,那事情就不再是单纯的文档问题了,而是人和权限一起被转了一道手。
“跳板导出是谁做的?”他问。
顾明顺着记录往下翻,脸色一点点变沉。
“不是普通账号。”他停了一下,“是通过一台临时连接机导出的。连接机名义上挂在集团办公室外协运维名单里,但实际登录痕迹没有落在运维侧。它走的是一个中间跳板,导出后还重写了元信息。”
“重写元信息?”林序听得心口一紧。
“把原始来源洗掉。”顾明说,“这样你看到的不是谁导的,而是‘从哪台机器导的’。来源变成了机器,责任就被藏起来了。”
周砚冷冷地看着那条记录。
“这就是他们为什么先动跳板,再动签名。”他说,“跳板决定能不能碰到源头,签名决定碰到之后谁背。bso017这种编号不是自然生成的,是从跳板里吐出来的影子编号。它一旦出现,后面就一定有人准备把签名位也一并改成‘看起来合法’。”
“你确定?”林序问。
“确定。”周砚说,“你看这里。”
他把屏幕上那一页往下拉,露出另一条极短的修订痕迹。那条痕迹并没有直接写“签名修改”,而是写着一行看似无害的字段:
落款样式同步至统一签发模板
这句话很轻,轻得像在调格式。
可周砚知道,这就是刀。
统一签发模板,意味着所有人的签名位置、抬头方式、落点格式、甚至印章大小,都能被统一到同一个标准里。标准本身没错,错的是标准如果被提前套进留白,就会把每一个签名都带进同一个方向。你以为你签的是你的意见,实际上你签的是他们设计好的出口。
“签名位开始动了。”周砚说。
顾明吸了一口气:“也就是说,模板库里那个留白不是单独存在的,它是和签发模板联动的。”
“对。”周砚的眼底沉得像压着一层冷铁,“留白是引子,签名是落点。谁先碰签名位,谁就会先问名。”
屋里一时没人说话。
问名。
这两个字很轻,却把整件事的重心一下翻了过来。
以往都是别人来问周砚的名分,问他谁授权,问他谁让他查,问他凭什么插手。现在不一样了。现在该轮到他问,编号从哪来,跳板是谁开的,签名准备往谁身上落,bso017到底是谁给出的影子名。
“把跳板链路放大。”周砚说。
顾明把图往右一拉,跳板链一下展开。中间那台临时连接机像一根细得几乎看不见的针,扎在集团办公室外协运维与内部签发模板之间。再往后,竟然还连着一个本来不该出现在这里的账户域:risk.office.owner。
“这账号怎么会在这里?”林序脱口而出。
顾明摇头:“不是这个账号本身进了这里,是它被当成了中继标签。你可以理解成,签发动作被套了一层风险域的外衣。外面看是风险,里面其实是授权。”
周砚眼神一冷。
“他们在拿风险域做掩护。”
“更麻烦的是。”顾明继续往下翻,“这条链路最后还落到了一个二次签名节点上。节点备注只有一个字:名。”
“名?”林序皱眉。
“对,名字的名。”顾明说,“像是专门留给后面的人看的。它不是签名,它是‘问名’。意思很明显,签之前,先确认这个名字能不能落。能落,才签。”
周砚慢慢抬起眼。
这句话像一扇门,忽然把所有细节都打开了。
跳板与签名先动,就得问名。
不是先问内容,不是先问结论,而是先问这个名字到底归谁。名字一旦归错,后面所有签字、见证、封存都会跟着错位。对方不是想单纯偷一个文件,他们是想把责任名和动作名一起换掉。让你签下来的不是你的动作,而是他们预设好的身份。
“bso017的影子就露出来了。”周砚低声说,“它不是一份内容,它是一个名字的壳。”
林序沉着脸:“那现在怎么办?”
周砚没有马上回答。他盯着那条跳板导出记录,手指缓缓点在“临时连接机”四个字上。
“先别急着碰签名。”他说,“先问名。”
“怎么问?”
“把签名位从模板里剥出来,单列问名页。”周砚说,“所有准备落签的人,先写明自己的身份归属、授权来源、签发链、是否经过跳板导出、是否知悉编号bso017对应的影子模板。谁不敢写,谁就说明这名字不是他的。”
林序眼神一变:“你要直接把问名页并入正式册?”
“对。”周砚说,“不然他们会把签名藏回模板里。模板里有留白,留白里有暗语,暗语一旦和签名黏住,后面就会变成‘系统自动生成’。现在我们要做的,是把签名从自动生成里拆出来,逼它回到人的身上。”
纪检负责人听到这里,已经明白周砚要做什么。
他把手边的正式册翻到附页空白处,直接拉出一张新的问名页模板。