> For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.

# 题目类型

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

## 类型概览

| 特性        |    静态题   |   动态附件题   |   容器题  |
| --------- | :------: | :-------: | :----: |
| 类型标识      | `static` | `dynamic` | `pods` |
| 静态附件      |     ✓    |     —     |    ✓   |
| 动态附件      |     —    |     ✓     |    —   |
| 静态 Flag   |     ✓    |     ✓     |    ✓   |
| 动态 Flag   |    ✓\*   |     ✓     |    ✓   |
| UUID Flag |    ✓\*   |     ✓     |    ✓   |
| 容器靶机      |     —    |     —     |    ✓   |
| 运行题目实例    |     —    |     ✓     |    ✓   |

## 静态题（static）

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

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

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

## 动态附件题（dynamic）

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

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

详见[动态附件生成](/guide/features/attachment.md)。

## 容器题（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）

详见[动态靶机](/guide/features/container.md)。

## 题目测试模式

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

详见[题目管理 - 测试](/admin/challenges.md#测试)。
