hongyeeet/DataQuest-CTF

GitHub: hongyeeet/DataQuest-CTF

一个以侦探故事驱动的 Python 与数据分析入门 CTF 挑战集,通过渐进式实战谜题教授编程和数字取证技能。

Stars: 0 | Forks: 0

# DataQuest CTF — ECHO 事件 一个对新手友好、以故事为驱动的夺旗赛(Capture The Flag),围绕一个虚构的取证案件展开。参与者将扮演一名初级分析师,负责调查一起数据泄露事件——通过解决 Python 和数据分析谜题(而非理论问题),逐步拼凑出**是谁**(WHO)干的、发生在**哪里**(WHERE)以及是**怎么**(HOW)发生的。 本次活动最初作为由 **DDAS** 组织的 **AI Frontier 2026** 的一部分在现场举办。现在它已向所有人开放,供大家尝试、自托管或学习。 ## 包含内容 - **6 个训练教程 (T1–T6)** —— 不计分的引导式热身练习,涵盖循环、字符串基础、CSV 文件和简单过滤。无需任何编程经验。 - **8 个简单、4 个中等、3 个困难的故事挑战 (E1–E8, M1–M4, H1–H3)** —— 每个挑战都与 ECHO 事件案卷挂钩。每解开一个挑战就会排除一名嫌疑人或一个地点,因此按顺序解题可以逐渐缩小罪犯、泄露地点和作案手法的范围,且全程不会直接揭晓答案。 - **2 个奖励挑战 (BONUS 1,2)** —— 独立存在,与主线故事无关,且难度大幅提高:包括 base64 → Caesar 密码 → 大文件搜索的解密链,hash 破解 → 重复密钥密码的解密链,以及一个二进制逆向工程谜题(解析未公开的记录格式并执行一个微型的恢复程序)。没有任何预制的解题器或 AI 工具可以在此走捷径——它们要求你针对大文件编写并运行真实的代码。 - 每个挑战文件夹都附带了其数据集、一个带有解释故事/任务 docstring 的 `challenge.py`(或 `tutorial.py`)桩代码,以及一个展示预期输出的 `answer.txt`。 ## 文件夹结构 ``` DataQuest-Challenges/ ├── tutorial/ T1-T6, ungraded warm-up drills ├── easy/ E1-E8 ├── medium/ M1-M4 ├── hard/ H1-H3 ├── bonus/ BONUS1-BONUS2 (unrelated to the story, very hard) ├── Answer-Sheet.md every flag + the reasoning behind it ├── Hints.md progressive hints per challenge └── Question-Context.md short blurbs for each challenge description ``` ## 自己动手尝试 本项目是为 [CTFd](https://ctfd.io) 构建的,这是一个免费、开源的 CTF 平台。 1. 搭建一个 CTFd 实例 —— 自托管(Docker)是最简单的方法。请参阅 `CTFd-Setup-Guide.md` 获取详细操作指南,包括每个难度级别的推荐分值。 2. 对于每个挑战,使用以下内容在 CTFd 的管理面板中进行创建: - **Description** —— 摘自 `Question-Context.md` - **Flag** —— 摘自 `Answer-Sheet.md`(建议设置为不区分大小写的精确匹配) - **Hints** —— 摘自 `Hints.md`,设置指南中包含建议的积分消耗 - **Files** —— 该挑战文件夹中除了 `answer.txt` 和 `challenge.py` 的解题注释以外的所有文件 ## 无需 CTFd 进行游戏 每个挑战文件夹都是独立的。打开 `challenge.py`,阅读 docstring 了解故事和任务,然后就可以开始解题了——不需要任何平台。如果你卡住了或想在事后检查你的结果,`Answer-Sheet.md` 中提供了解答。
标签:Python教学, 云资产清单, 代码示例, 安全教育, 密码学, 手动系统调用, 数字取证, 数据分析, 自动化脚本, 请求拦截, 逆向工具, 逆向工程