Lyther/CTFVault
GitHub: Lyther/CTFVault
一个结构化的 CTF 挑战与 writeup 个人记录仓库,提供目录规范、脚手架脚本和统计功能,帮助参赛者系统化整理赛事笔记与解题过程。
Stars: 0 | Forks: 0
# CTT Vault
CTF 挑战与 writeup 的个人记录。
## 目录结构
```
.
├── / # one folder per CTF event (top-level)
│ ├── ... # see "Two challenge conventions" below
│ └── README.md # event summary, score, ranking
├── notes/ # personal cheatsheets & playbooks
├── tools/ # reusable scripts (decoders, helpers)
├── templates/ # challenge/event/writeup templates (Convention A)
├── scripts/ # bootstrap helpers (new-event, new-challenge, stats)
└── docs/ # repo conventions & roadmap
```
## 两种挑战规范(均支持)
| 规范 | 目录结构 | 文件 | 来源 |
| ---------- | --------------------------------------------- | -------------------------------------------------------------- | -------------- |
| **A** (CPCTF 风格) | `Event/NN-slug/` | `DESCRIPTION.md` + `WRITEUP.md` + solver + artifacts | 手动编写 |
| **B** (CIT/CTFd 风格) | `Event/Category/NN-slug/` | `challenge.{md,json}` + `README.md` + `writeup.md` + `files/` `scripts/` `solution/` `other/` | 平台导出 |
`make stats` 能够识别这两种规范。引导脚本仅生成 **A**。
## 快速开始
```
make event NAME="DEF CON Quals 2026" STYLE=numbered # or STYLE=categorized
make chall EVENT="DEF CON Quals 2026" NAME="cool-pwn" # A, auto NN
make chall EVENT="DEF CON Quals 2026" NAME="cool-pwn" ID=42 # A, force NN=42
make chall EVENT="DEF CON Quals 2026" NAME="cool-pwn" CATEGORY="Pwn" # A categorized
make chall EVENT="DEF CON Quals 2026" NAME="cool-pwn" CATEGORY="Pwn" ID=42 # A categorized + NN
make stats # events / challenges / writeups / pending
make lint # markdownlint + shellcheck
make clean # nuke .DS_Store, __pycache__
```
## 规范
- 每个最底层的文件夹 = 一个挑战。至少包含 `DESCRIPTION.md`、`challenge.md` 或 `challenge.json` 中的一个。
- 保持原始 artifacts 原样存放(不要重命名)。Solver 放置在它们旁边。
- 大型 binaries / pcaps / 磁盘镜像 → 使用 Git LFS(参见 `.gitattributes`)。
- 在赛事结束**之后**,在 writeup 中展示 flag 是可以的。在此之前,请标记为 `[REDACTED]`(A)或 `TBD`(B)。
- 笔记存放在 `notes/` 目录中,切勿放置在赛事文件夹内。
- 规范 B 导出的文件为上游原始文件 — 请勿修改它们,仅添加 `writeup.md` 并将 solver 放入 `scripts/`。
## 赛事
- [CPCTF 2026](./CPCTF%202026/) — 规范 A (`NN-slug/`),54 个挑战
- [CIT 2026](./CIT%202026/) — 规范 B (`Category/NN-slug/`),44 个挑战
- [KubSTU 2026](./KubSTU%202026/) — 规范 B,**53** 个挑战文件夹 + `scripts/sync_from_ctfd.py`
## 许可证
代码:MIT。Writeup:CC BY 4.0。外部存放的挑战 artifacts:归其主办方所有。参见 [LICENSE](./LICENSE)。
标签:Cutter, Shell脚本, Writeup, 文档管理, 笔记, 逆向工具, 防御加固