solve-challenge
2026/7/2CTF Skillsolve-challenge大约 3 分钟
solve-challenge
solve-challenge 是 ljagiello/ctf-skills 的入口 Skill。
它的作用不是深入解决每一种题,而是在题型不明确时先做分类和路由。可以把它理解成项目里的“分诊台”:先看题目材料,再决定应该进入哪个专业 Skill。
什么时候使用
适合使用 solve-challenge 的情况:
- 题目刚拿到,还不知道方向
- 只有一个压缩包或一组未知文件
- 题面很短,只给了一个服务地址
- 文件类型和题目方向不一致
- 题目可能是混合题
- Agent 已经在某个方向卡住,需要重新判断
不适合使用它的情况:
- 题型已经明确
- 已经进入某个方向的深层分析
- 只是要整理 writeup
- 用户已经指定必须分析某个 Skill
它的核心工作
solve-challenge 的工作可以拆成四步:
第一步是看材料,而不是猜题型。
第二步是做分类。它会观察文件扩展名、文件头、服务行为、关键词和题目提示。
第三步是路由。确认方向后,它把 Agent 引向 ctf-web、ctf-pwn、ctf-crypto 等专业 Skill。
第四步是 pivot。CTF 题经常跨方向,如果当前路线没有证据,就应该回到分类阶段。
路由信号
| 题目信号 | 可能 Skill |
|---|---|
| URL、HTTP 服务、登录页、API | ctf-web |
| ELF、栈溢出、远程交互服务 | ctf-pwn |
| 大整数、密文、签名、随机数 | ctf-crypto |
| 可执行程序、APK、WASM、字节码 | ctf-reverse |
| pcap、镜像、图片、音频、日志 | ctf-forensics |
| 地点、账号、公开资料、社交媒体 | ctf-osint |
| 可疑样本、C2、混淆脚本 | ctf-malware |
| 编码、jail、谜题、混合题 | ctf-misc |
| 模型、权重、LLM、对抗样本 | ctf-ai-ml |
这些不是绝对规则,而是第一轮判断。真正可靠的方向必须有证据支撑。
和其他 Skill 的关系
solve-challenge 是入口,不是上帝视角。
它可以决定“先去哪里”,但不能代替具体方向的专业流程。例如:
- 进入
ctf-web后,具体看 SQLi、SSTI、JWT 还是 SSRF,要由ctf-web继续判断。 - 进入
ctf-pwn后,具体是栈、堆、格式化字符串还是 ROP,要由ctf-pwn继续判断。 - 进入
ctf-forensics后,具体是 pcap、镜像、隐写还是内存取证,要由ctf-forensics继续判断。
新手容易误解的地方
注意
solve-challenge 不是“自动解题 Skill”。它主要解决开局分类问题。
如果你已经知道这是一道 Web 题,还反复让 solve-challenge 判断,只会浪费上下文。相反,如果你一开始不确定题型,却直接指定 ctf-pwn,Agent 也可能在错误方向越走越远。
正确使用方式
一个合理的开局提示可以是:
这是一道授权 CTF 题。请先使用 solve-challenge 的思路分类,不要直接猜 flag。
先列出题目材料、证据和可能方向,再选择对应 ctf-* Skill。这样的提示会促使 Agent 先做分诊,而不是立刻编解法。
小结
solve-challenge 是 ctf-skills 的入口和路由器。它让 Agent 在不确定题型时先收集证据、判断方向,再进入专业 Skill。理解它,就理解了整个项目的开局方式。