跳到主要内容

简介

Go Version MySQL Redis Kubernetes License

CBCTF 是由 0RAYS 开发的 Kubernetes 原生 CTF 竞赛平台。平台使用 Go 语言编写,将 React 前端嵌入单一二进制,部署简单,同时深度集成 Kubernetes,支持动态容器靶机、VPC 网络隔离、流量捕获等高级功能。

核心功能

功能问答题静态题动态附件题容器题
共享附件
动态附件(per-team)
静态 Flag
动态 Flag
UUID Flag
容器靶机
Pod 网络
VPC 网络隔离
流量捕获
需要 Kubernetes

架构

CBCTF 后端采用 Go 1.26 + Gin 框架,前端使用 React 19 + Vite 7,生产构建产物通过 go:embed 嵌入 Go 二进制。平台运行时依赖 MySQL 存储数据、Redis 缓存与任务队列,并通过 client-go 与 Kubernetes 集群交互以管理容器靶机。

依赖说明

组件版本要求用途
MySQL8.0+主数据存储
Redis6.0+缓存、Asynq 任务队列
Kubernetes1.20+动态附件生成、容器靶机
KubeOVN推荐 v1.14.5VPC 网络隔离(可选)
Multus CNI最新稳定版多网卡支持,VPC 模式必须(可选)

Kubernetes、KubeOVN 和 Multus 仅在使用动态附件题或容器题时需要。若仅使用问答题和静态题,只需 MySQL 和 Redis。

技术栈

技术
后端语言Go 1.26
Web 框架Gin v1.11
前端框架React 19 + Vite 7
任务队列Asynq v0.26(基于 Redis)
ORMGORM v1.31 + MySQL 驱动
K8s SDKclient-go v0.35
网络隔离KubeOVN + Multus CNI
认证JWT(golang-jwt/jwt v5)+ 设备指纹
流量捕获gopacket v1.5(需 libpcap)
地理信息MaxMind GeoLite2-City