swayam-mishra/OSCTF
GitHub: swayam-mishra/OSCTF
OSCTF 是一个开源自托管平台,用于快速部署网络安全竞赛(CTF)、实验靶场和安全培训环境。
Stars: 0 | Forks: 0
# OSCTF
CTF 是切入点;长远目标是成为开放的基础设施层,供大学、社区和公司在其上构建安全教育。完整愿景与路线图请参阅 [`docs/project-desc.md`](docs/project-desc.md)。
## 快速开始(黄金路径)
```
git clone && cd OSCTF
cp .env.example .env # then edit OSCTF_ADMIN_EMAIL / OSCTF_ADMIN_PASSWORD
docker compose up -d --build
```
几分钟内,你即可获得身份验证、团队功能、带有内置示例的挑战面板、带计分的 flag 提交、实时记分牌以及管理面板——尽在 。无需云账户,无需许可证密钥,也无需外部服务。
## 本地开发
```
make setup # install pinned tools + npm ci
make dev # start Postgres, Redis, MinIO (compose)
make dev-api # run the Go API on :8080
make dev-web # run the Vite dev server on :5173 (proxies /api -> :8080)
```
- API:
- Web (开发环境):
- MinIO 控制台 (开发环境):
如需了解其他所有信息——架构、如何添加 endpoint、如何编写挑战——请阅读 [`AGENTS.md`](AGENTS.md) 和 [`docs/`](docs/)。
## 目录结构
| 路径 | 内容 |
|---|---|
| `api/` | Go 后端(模块化单体架构):HTTP、服务、存储、runtime |
| `dashboard/` | React + TypeScript SPA (Vite) |
| `examples/` | 内置示例挑战(`challenge.yaml` 格式) |
| `deploy/` | Prometheus/Grafana/Caddy 配置(可选的 compose profile) |
| `docs/` | 构建规范(`docs/v0.1/`)和愿景(`docs/project-desc.md`) |
| `scripts/` | 冒烟测试与开发辅助脚本 |
## License
[Apache License 2.0](LICENSE)。贡献均按同一 license 接受(参见 [`NOTICE`](NOTICE))。
## 按团队分配实例 (v0.2)
在管理编辑器中将 `container` 挑战标记为 `per_team`;参与者随后点击 **Start** 即可获取他们专属的 container(独立端口、网络隔离、可选的按团队唯一 flag),并可通过 **Stop**/**Extend** 进行管理。调度器会在 TTL 到期后自动过期实例,并在活动结束时将其全部销毁。可通过 `OSCTF_INSTANCE_TTL`、`OSCTF_INSTANCE_EXTEND`、`OSCTF_INSTANCE_MAX_TTL`、`OSCTF_TEAM_INSTANCE_QUOTA` 和 `OSCTF_FLAG_PREFIX` 进行调优(参见 [`.env.example`](.env.example))。现在每个挑战 container 都运行在带有 egress 控制的 read-only-rootfs 下;按团队分配实例需要在宿主机上开放更大的 `OSCTF_PORT_RANGE` (30000–32767)。完整规范:[`docs/v0.2/`](docs/v0.2/README.md)。
## 状态
v0.2,功能已完善。在 v1.0 之前不提供 API 稳定性承诺。
标签:CTF平台, Docker Compose, EVTX分析, Go, React, Ruby工具, Syscalls, 搜索引擎查询, 日志审计, 测试用例, 漏洞修复, 版权保护, 网络安全培训, 自定义请求头, 自托管, 请求拦截