前言¶
出一道能用的 CTF Web 赛题,难点不在写一个有漏洞的页面,而在把整条链路闭合:漏洞要真实可打、flag 要埋在合理位置、预期解和非预期解要分开、题面要让玩家能读懂、writeup 要能复盘。自己从头捋这些环节,常见结果是题目做完了却留了后门式解法,或者写文档时才发现逻辑接不上。
下面介绍的 Skill 针对的就是这件事:它把出题拆成七个阶段,每个阶段结束都停下来等确认,最后再用一个独立 agent 只凭玩家材料实解一遍,用来抓硬编码和不可解的问题。
这是什么¶
一句话定位:一个面向 CTF Web 安全方向的出题编排 Skill,覆盖从需求采集到第三方解题自检的完整流程。
- 出品方:社区发布者
user_c874bd48,来源标记为community,分类dev-programming。 - 坐标:
@user_c874bd48/ctf-web-challenge-master,当前版本1.1.1。 - 是否需要密钥:标签
requires_api_key=false,即不需要额外 API key。 - 解决什么:当你要设计、规划并制作一道 CTF Web 安全题目(含漏洞设计、攻击拓扑、flag 埋设、题面与 writeup)时,用它来按流程推进,而不是凭感觉东拼西凑。
核心功能:七阶段流程¶
这个 Skill 的核心不是某个单点能力,而是一套固定的推进顺序:
1、需求采集
2、攻击拓扑与预期解设计
3、方案规划
4、二次确认
5、内容制作与题解
6、成果审阅
7、第三方解题自检
其中两个设计值得单独说明:
- 每个阶段都要等用户反馈确认。前一阶段产物确认后才进入下一阶段,避免一路做完才发现方向偏了。
- 第三方解题自检在收尾。用一个独立 agent,仅凭玩家材料实解题目,用来验证两点:题目可解、且不存在硬编码常量导致的非预期解。
这一步直接回应了出题最容易踩的坑——玩家绕过你设计的漏洞,靠读源码里的固定字符串拿到 flag。自检不是为了写得好看,是为了让题目在交付前被真正打一遍。
安装与启用¶
该 Skill 通过 SkillHub 分发,官方地址:
https://www.skillhub.cn/skills/user_c874bd48/ctf-web-challenge-master
坐标形式为 @user_c874bd48/ctf-web-challenge-master。它是一个基于通用 SKILL.md 格式的社区 Skill,被平台识别后即可按 Skill 方式调用。
说明:可核实的安装命令(如各编辑器的 CLI 安装命令)在现有资料中未提供,官方页面本次抓取未成功,因此这里不写出具体命令,避免编造。启用前以官方页面为准确认当前版本的安装方式。
典型用法¶
这个 Skill 的触发来自自然语言需求。当用户提出下列意图时使用:
出 CTF 题
Web 方向出题
设计安全题目
CTF web challenge
帮我出一道 web 题
一个可复现的调用路径是直接陈述需求,例如「帮我出一道 Web 方向的 CTF 题,主题是 SQL 注入」。Skill 收到后会进入第一阶段(需求采集)并向你确认需求要点,你反馈确认后,它才会推进到攻击拓扑与预期解设计,依此走完七个阶段。
它不要求你一次性把题目想清楚。七阶段、阶段间确认,正是为了让你在每个节点都能纠偏。
适用场景与注意¶
适合谁:
- 需要出 CTF Web 题目、且希望题目经过自检而非直接上线的人。
- 想要把出题流程结构化,减少漏项(题面、writeup、flag 埋设)的人。
限制和坑:
- 它覆盖的是「编排 + 自检」流程,不会替你决定题目难度和知识点;难度定位仍需你在需求采集阶段给出。
- 第三方解题自检依赖一个独立 agent 实解,模型能力会影响自检的可信度,极端情况下可能存在漏检。
- 安装命令与各编辑器(Cursor / Codex CLI / Claude Code)的具体差异,本次未能从官方页面核实,使用前以官方地址为准。
结语¶
这个 Skill 的价值在于把出题从一次性的创作,变成有自检兜底的流程:七阶段推进、阶段间确认、收尾第三方实解,用来压掉不可解和硬编码这两类最常见的返工原因。它不替你想题目,而是让题目在交付前被打一遍。
官方地址:https://www.skillhub.cn/skills/user_c874bd48/ctf-web-challenge-master