起源于@MuWinds闲来无事,所以打算写个Ai Agent练手
项目并不打算局限于BUUCTF,所以现在是手动输入题面的(更主要是我懒)。
愿景:成为各路CTF大手子的好伙伴,当然如果Agent能独当一面的话那最好不过~
- 支持全自动解题,包括题目分析,靶机探索,代码执行,flag分析全流程
- 支持命令行交互式解题
- 目前项目内置支持在本地 Bash 环境执行命令进行解题(如系统安装了 Python 也可通过 Bash 调用)
- 可扩展的CTF工具框架
- 可自定义的Prompt和模型文件
先决条件
- Python 3.10+
git clone https://github.com/MuWinds/BUUCTF_Agent.git
cd BUUCTF_Agent# Windows PowerShell
python -m venv .venv
.venv\Scripts\Activate.ps1
# macOS / Linux
# python3 -m venv .venv
# source .venv/bin/activatepip install -r requirements.txt- 复制配置模板:
cp config_template.json config.json- 编辑
config.json,填入你的 API Key。
示例(请替换为你自己的凭证):
{
"llm": {
"model": "gpt-4o-mini",
"api_key": "your-api-key",
"api_base": "https://api.openai.com/v1"
}
}API 兼容性说明: 本项目通过 OpenAI Python SDK 进行 LLM 调用,仅支持 OpenAI Chat Completions 格式的接口。以下服务可直接使用:
- OpenAI(GPT-4o 等)
- 任何兼容 OpenAI API 格式的服务(DeepSeek、Moonshot、vLLM、Ollama、one-api 等),通过修改
api_base即可接入
不支持原生非 OpenAI 格式的服务(如 Anthropic Claude 原生 API、Google Gemini API)。
命令行模式:
python main.py命令行参数说明:
| 参数 | 说明 |
|---|---|
--session-id |
已有测试会话 ID(接管模式) |
--session-name, -n |
测试会话名称 |
--duration, -d |
测试时长(分钟) |
--challenge, -c |
题目编号(可多次指定) |
--all |
使用所有可用题目 |
--url, -u |
XBOW 平台 URL(默认 http://10.0.0.53:8000) |
--auto-start |
自动启动测试会话(默认开启) |
--wait-timeout |
等待容器启动超时时间(秒,默认 300) |
--plain |
关闭彩色输出 |
允许用户本地环境运行Python代码(已完成)- 支持更多工具,比如二进制分析等,不局限于Web题和Web相关的密码学之类的
提供更美观的界面,比如Web前端或者Qt界面(已完成)将不同工具的LLM进行区分,或者按照思考推理与代码指令编写两种任务分派到不同的LLM(已完成)更好的MCP支持(已完成)实现不同OJ平台的自动化,提供手动输入题面之外更便捷的选择(已实现)支持附件输入已实现,需要在项目根目录的attachments目录下放入附件
QQ群:


