v0.7.9 - Dynamic Flag Injection Redesign
动态 Flag 注入机制重设计
本次更新从根本上修复了动态 flag 注入机制的架构缺陷,解决了题目提交验证失败的问题。
核心变更
平台侧 — 新注入算法
canaries字段现在是 flag 的唯一真相来源(Single Source of Truth)- 始终全量扫描所有文本文件中的 flag 字面量(不再是 fallback)
- canary 匹配的 flag → 替换为动态
flag{uuid}(可提交验证) - 其他
FLAG{...}字面量 → 替换为随机假 flag(不可提交) - .env 独立处理,避免双重替换 bug
向后兼容
- 当
canaries为空时自动 fallback 到旧逻辑(从 .env + 源码扫描收集 flag) - 记录警告日志,不会阻止平台启动
- 允许用户先升级平台,再逐步更新靶场文件
镜像预热检测修复
- 使用
docker images -q替代docker image inspect检测已缓存镜像 - 修复 Docker Desktop containerd 模式下 daemon 启动阶段的瞬态检测失败
修复的问题
- APEX-033-25 等题目因 .env flag 与源码 flag 不一致导致提交验证失败
- 45 个题目 canaries 为空导致平台无法验证任何提交
- Docker 重启后镜像预热页面显示已缓存为 0
升级说明
建议同步更新靶场文件(benchmark-challenges 仓库已推送修复),所有题目现已包含正确的 canaries 值。