这个仓库就做一件事:
把题目、WP、脚本统一归档,并用网页可视化查看。
先启动服务:
tools\open_dashboard.cmd 8090然后打开:
- 题库面板:
http://127.0.0.1:8090/dashboard/index.html
在题库面板中:
- 左侧看题目列表
- 右侧看题目详情/WP
- 点击题目列表时会自动填充 case,便于追加 WP/脚本
- 向下滚动到第二屏
添加题目/WP,可选大类/子类/难度/标签后再提交
先进入仓库根目录后执行:
tools\ai_intake.cmd "D:\CTF\题目\sample.exe" "MyCTF" 2026
tools\ai_current.cmd
tools\ai_add.cmd wp "D:\CTF\wp\sample.md" done
tools\ai_add.cmd script "D:\CTF\tool\solve.py"
tools\rebuild_dashboard.cmd
tools\serve_dashboard.cmd 8090浏览器打开:http://127.0.0.1:8090/dashboard/index.html
ai_intake.cmd:新题入库(自动分类),并设为“当前题目”ai_current.cmd:查看当前题目是谁ai_add.cmd wp ...:给当前题加 WPai_add.cmd script ...:给当前题加解题脚本rebuild_dashboard.cmd:重建网页索引serve_dashboard.cmd:启动本地网页
tools\pre_share.cmd它会自动执行:
sanitize:清理可能泄露本机路径的元数据rebuild:重建dashboard/catalog.json
chmod +x tools/*.sh
./tools/ai_intake.sh "/path/to/sample" "MyCTF" 2026
./tools/ai_current.sh
./tools/ai_add.sh wp "/path/to/sample.md" done
./tools/ai_add.sh script "/path/to/solve.py"
./tools/pre_share.sh
./tools/serve_dashboard.sh 8090每题会被放到:
<category>/<subcategory>/<case-slug>/
metadata.json
challenge/
wp/
scripts/
patches/
files/
notes/
-
题目分类不准怎么办?
用python tools/ctf_bank.py create --source <path> --category <cat> --subcategory <subcat>手动指定。 -
不想依赖“当前题目”怎么办?
用python tools/ctf_bank.py add --case "<id>" --kind wp --input "<file>"。 -
哪些东西不能提交?
任何 token、私钥、VPN、付费平台文件、不可公开题目资源。