第166章 第193步的崩塌(1/11)
九月一日,晚上八点零六分。
江临结束军训,洗完澡回到402室时,研究支持单元转来的材料已经躺在固定窗口队列里。
邮件标题经过了重新编号。
【A-1/bb5/第一轮复现材料/仅供本地审查】
附件没有直接进入电脑。
附件中包含外部代码。
即使代码公开,也可能访问不该访问的文件,或者在异常输入下长期占用处理器和内存,因此必须放进断网、限权的隔离环境中复现。
江临先核对来源、文件清单、公开decider仓库的提交记录,以及内部证书草案的版本清单。
确认哈希校验无误后,他才把压缩包下载到一块专门负责外部代码审查的物理介质里。
联网电脑的网线随即被拔除,无线模块物理断电,介质接入旁边的隔离工作站。
工作站的屏幕亮起,展露出核心材料的真容。
三份来自公开仓库的decider代码。
三套包含数千个边界情况的测试集。
三份由清华团队根据现有decider输出格式整理出来的未公开证书草案。
以及二十七个已经被原始工具验证通过,却在统一草案中暴露出字段冲突、错误拒绝或兼容性问题的边缘样例。
目录和昨晚建立的三个空项目一一对应。
【cyclers_Reproduction】
【translated_cyclers_Reproduction】
【backward_Reasoning_Reproduction】
江临没有运行作者提供的一键脚本。
在不可信的环境中运行自动化脚本,无异于把系统底层的控制权交出去。
他新建虚拟机快照,固定了编译器版本、底层运行库和所有第三方依赖,将三个项目的网络权限从内核层面全部切断,又为原始代码目录设置了只读挂载。
每一次编译产生的中间文件、标准输出和异常退出记录,都被定向写入一个单独的复现日志系统。
第一轮复现很快失败。
程序能够正常完成编译,首个证书的哈希却无法与原记录对齐。
cycler项目引用了一个用于证书持久化的序列化库。
原作者环境中保留着旧版本,本地构建脚本却没有写明依赖上限。
新版接口改变了字段的默认编码顺序,同一个证书对象写入磁盘后,字节表示与原环境不再一致。
江临没有修改源码,也没有强行兼容新版编码,而是根据提交日期回退依赖版本,并在复现日志中记录环境差异。
八点四十三分,第一组样例完成复现。
屏幕上出现第一组机器编号和运行记录。
【machine_Id: cY-Rp-017】
【State_count: 5】
【Symbol_count: 2】
【t1: 186】
【t2: 254】
本章未完,请翻下一页继续阅读.........