ljagiello/ctf-skills
Agent skills for solving CTF challenges - web exploitation, binary pwn, crypto, reverse engineering, forensics, OSINT, and more
这是什么
ctf-skills 是一个 Agent Skills 集合。Agent Skills 是遵循 Agent Skills 规范(例如 Claude Code)的任何 AI 代理平台都可以加载的小型、自包含的知识模块。每个技能都打包了:
- 一个 CTF(夺旗赛)子领域(Web、二进制 pwn、加密、逆向、取证、OSINT、恶意软件等)的简短描述,
- 在该子领域工作所需的先决工具,
- 以及一系列现成的脚本、速查表和参考资料,代理在解决挑战时可以调用。
简而言之,它把庞大的 CTF 知识库转变为 LLM 驱动的代理可以消费并采取行动的形式。
为什么重要
CTF 竞赛是安全研究人员常见的游乐场,也是训练 AI 代理进行对抗性推理的场所。最大的摩擦点是 工具设置——代理需要可用的编译器、调试器、加密库、payload 集合等。ctf-skills 通过以下方式解决这一问题:
- 提供 单一安装程序(
scripts/install_ctf_tools.sh),可以一次性或按焦点的组来配置所有常见的渗透测试工具(Python 包、通过 apt/brew 的系统包、Go 二进制文件、Ruby gems 等)。 - 在每个技能的 先决条件 部分编码了所需的确切工具列表,这样代理可以在现场比赛中即时请求缺失的工具。
- 将庞大的 PayloadsAllTheThings 仓库打包为按需浅克隆,使仓库保持轻量,同时仍然让代理访问庞大的 payload 库。
由于技能是根据 Agent Skills 规范编写的,任何支持该规范的未来 LLM 代理(Claude Code、即将推出的 OpenAI 插件等)都可以立即使用相同的知识库,无需自定义集成工作。
如何开始
将技能集添加到你的代理
npx skills add ljagiello/ctf-skills这会将整个集合注册到你的本地 Agent-Skills 运行时。
安装所需工具(比赛前推荐)
bash scripts/install_ctf_tools.sh all # 完整安装 # 或者只安装你需要的,例如: bash scripts/install_ctf_tools.sh python # 仅基于 Python 的工具使用
--dry-run预览,--verify检查已存在的,--force重新安装。运行编排器
/solve-challenge <CTF 问题的描述或 URL>编排器解析挑战,选择合适的技能(例如 SQLi 用
ctf-web),并调用底层脚本或速查表。迭代——随着代理的工作,它会读取每个技能的
先决条件部分,如果缺少工具,你可以使用相同的安装脚本按需安装它。
谁应该使用它
| 受众 | 为什么有帮助 |
|---|---|
| CTF 参赛者 | 不再浪费时间连接数十种工具;安装程序替你完成,技能文件提供现成的漏洞利用模板。 |
| 安全教育者 / 培训师 | 为学生提供可重复、版本控制的工具箱,在每台机器上都能同样工作。 |
| AI 代理开发者 | 一个具体的、真实世界的知识库,遵循 Agent Skills 规范,对安全任务上的 LLM 代理训练或评估很有用。 |
| 红队自动化工程师 | 将技能集插入内部自动化管道,自动生成初始漏洞利用想法或取证分流步骤。 |
限制与未决问题
- 自动化范围——仓库提供脚本、速查表和 payload 参考,但实际漏洞利用生成仍依赖 LLM 的推理。它不是完全自动化的单击 pwn。
- 工具版本漂移——安装程序拉取许多系统包的最新版本;跨年份的可复现性可能需要手动固定版本。
- 代理规范依赖——要受益,你需要一个实现 Agent Skills 规范的代理(目前提到了 Claude Code)。其他平台可能需要适配器。
- 安装程序的安全性——运行一个安装系统包并克隆外部仓库的脚本,在敏感环境中使用前应进行审计。
TL;DR
ctf-skills 将庞大的 CTF 知识(Web、二进制、加密、取证、OSINT 等)转化为 LLM 驱动代理可以加载的 Agent Skills。它附带一个用于所有常见渗透测试工具的一键安装程序和一个编排器(/solve-challenge),将挑战描述路由到正确的技能。非常适合参赛者、培训师以及任何构建需要现成安全工具箱的 AI 代理的人。
相关
- 项目
- 项目
- 项目
- 项目
- 项目