Skip to content

v0.7.9 - Dynamic Flag Injection Redesign

Choose a tag to compare

@No-Github No-Github released this 12 May 09:10
· 180 commits to master since this release

动态 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 值。