摘要
协同攻击控制器(见实验 0008、0009)有一个时间边界漏洞:完整比较返回后,结果校验结束时如果刚好到达或超过截止时间,仍可能接受新的攻击。本实验修复了这一点,并复查另一个疑问——比较只用了一个假想随机样本,换成 2 个、4 个样本会不会改变选择。
要回答的问题
- 迟到的比较结果会不会被错误发布?
- 单样本比较的选择在多样本下是否稳定?
方法
截止修复。 在结果校验之后再检查一次截止时间;超时则保留最后一个预算内的完整选择,拒绝这次迟到更新。新增回归测试只控制“校验返回后时钟到达 4 秒”:旧代码复现失败,修复后返回 quick 的原选择 move:8,6,比较不被接受。它验证的是发布时机,不是说真实校验要花 4 秒。
多样本复查。 先保存协议和全部 48 个开局(来自实验 0009 的 8 个模板 × 3 种伤害配方 × 双方颜色,已用于开发,不是新样本)。只对原控制器实际进入完整比较的那几对,固定相同两个动作,分别用 2 和 4 个随机样本重比;其余设置不变,每对 10 秒离线保护。
结果
| 原控制器结果 | 状态数 |
|---|---|
| 已选择攻击/能力,直接保留 | 16 |
| 没有满足条件的协同候选 | 22 |
| 实际进入完整比较 | 10 |
10 对比较在 1、2、4 个样本下选择全部相同:2 对从等待改攻击,8 对仍等待。48 个原选择加 20 个新增多样本选择,共 68 个转移落盘重放一致。
失败与负结果
首次专项测试 25 通过、1 个临时目录设置错误(沙箱无法访问旧的共享临时目录),改用新目录后 26 通过。
局限
实际比较只覆盖两个模板,零幸运/士气、无英雄。没发生反转不证明单样本普遍可靠,也不支持直接增加默认样本数;没有重跑整局,不新增胜率结论。
结论与下一步
下一个缺口是候选覆盖:协同候选只在一个假想世界里发现,而士气额外回合等随机效果可能改变“下一位行动者是谁”。这在实验 0011 中检查。
Comments