CTF Similar Search 是一个用于查找相似 CTF 题目 writeup 的技能,基于 Tavily API 完成搜索与内容提取。
用途 当用户需要查找相关题目、参考相似挑战的解法或 writeup 时,可以使用本技能。它适合在拿到竞赛名、题名、代码片段、错误信息等线索后,快速检索公开的解题文章。
主要能力 技能提供两个接口:Tavily Search 用于按关键词搜索 writeup 和文章,命令为 ./search.sh search <keyword>;Tavily Extract 用于从指定 URL 提取内容,命令为 ./search.sh extract <url1> [url2] ...。搜索结果通常包含 AI 生成的摘要(如可用)、带标题和内容预览的 URL 列表,以及 API 额度使用信息。
使用方式 使用前需安装依赖:pip install requests tavily,并设置从 https://tavily.com 获取的 API 密钥:export TAVILY_API_KEY='tvly-...'。搜索时根据掌握的信息选择关键词:已知竞赛名和题名时,格式为“竞赛名 题名”,不超过 3 个词,例如 ./search.sh search "DASCTF URL Storage";只有题名时直接使用题名,同样不超过 3 个词,例如 ./search.sh search "URL Storage";有唯一标识符(代码片段、特殊字符串、错误信息)时,可使用完整片段,不受词数限制,例如 ./search.sh search "def encrypt_flag(key): return base64"。搜索结果中如有看似相关的链接,可再用 extract 提取全文,支持一次传入多个 URL。
关键词规则 非代码类查询必须控制在 3 个词以内,并去掉年份、“CTF”“competition”“writeup”“solution”等填充词,只保留最具区分度的词。代码片段、错误信息和唯一标识符不受词数限制。应避免使用单一漏洞类型(SSRF、XSS)、泛化类别词(web、pwn、crypto)、完整句子、冠词以及 flag{ 等通用字符串,这些会返回大量无关结果。
分析与后续 提取内容后,可据此识别相似题目中的常见技巧,判断其方法是否适用;如果题目已明确分类,可转向对应的 ctf-* 专项技能;如需 OSINT 技巧可使用 ctf-osint;解题后需要生成 writeup 可使用 ctf-writeup。
适用场景 适用于 CTF 备赛与解题过程中查找相似题目的公开 writeup、参考他人思路,以及按唯一代码或错误信息定位相关文章。
限制 技能本身不包含题目分析或自动解题能力,结果质量取决于 Tavily 的搜索覆盖范围与关键词选择;搜索会消耗 API 额度;具体收费、价格与配额信息暂未提供。