For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /guide/features/challenge.md.

题目类型

CBCTF 支持三种题目类型,覆盖从传统静态题到复杂网络靶机的完整场景。

类型概览

特性静态题动态附件题容器题
类型标识staticdynamicpods
静态附件✓—✓
动态附件—✓—
静态 Flag✓✓✓
动态 Flag✓*✓✓
UUID Flag✓*✓✓
容器靶机——✓
运行题目实例—✓✓

静态题(static)

静态题共享同一份附件,通常使用所有队伍相同的静态 Flag。

  • 上传静态附件,所有队伍共享下载
  • flag 使用 static{} 类型(所有队伍相同),也支持 leet{} 和 uuid{}(每队不同,但无法通过附件向选手传达个人 flag)
  • 无需启动题目实例;平台本身仍需部署在 Kubernetes 集群中

* 共享附件不会为每队改写内容,因此静态题通常选择 static Flag。

动态附件题(dynamic)

动态附件题为每支队伍独立生成附件,通常配合动态 flag 使用,防止抄答案。

  • 需要出题人编写生成器 Docker 镜像,平台在 Kubernetes 中运行生成器容器
  • 附件按队伍独立生成,每支队伍下载不同的 zip
  • flag 类型支持 static{}、leet{}、uuid{}
  • 需要 Kubernetes 集群

详见动态附件生成。

容器题(pods)

容器题为每支队伍部署独立的靶机容器,由出题人编写 docker-compose.yaml 配置。

  • 每队拥有独立的容器实例,互不干扰
  • 支持 Pod 网络模式(简单多容器)、VPC 网络模式(复杂网络拓扑)和 KubeVirt VM 模式
  • docker-compose.yaml 支持 service 级扩展字段 x-kubevirt: true,用于标记该 service 按 KubeVirt VM 配置处理;可配合 x-boot 和 x-cloudinit 传递启动与 cloud-init 字段配置
  • flag 通过环境变量或文件 volume 注入容器
  • 需要 Kubernetes 集群(VPC 模式还需要 Kube-OVN + Multus,VM 模式还需要 KubeVirt)

详见动态靶机。

题目测试模式

管理员可在将题目加入比赛之前,通过题目测试模式启动/停止容器靶机进行验证,无需创建队伍。

详见题目管理 - 测试。