Munstar0s/CrewDBG

GitHub: Munstar0s/CrewDBG

结合 crewAI 多智能体框架与 Windows 调试器,让用户能够通过自然语言指令自动化完成逆向工程、漏洞利用开发与恶意软件分析。

Stars: 0 | Forks: 0

CrewDBG

面向 Immunity Debugger 和 WinDbg 的 AI 驱动的二进制分析与漏洞利用开发工具

基于 crewAI 构建

CrewDBG 将 crewAI 的多智能体框架与 Windows 调试器连接起来,让你能够使用**自然语言提示**来自动化逆向工程、漏洞研究、漏洞利用开发和恶意软件分析 -- 并提供可选的 **PDF 知识库**以获取上下文智能。 **支持的调试器:** - **Immunity Debugger** (x86,通过 ImmLib 的 Python 2.7 桥接) - **WinDbg / WinDbg Preview** (x86 和 x64,通过 PyKD 的 Python 3 桥接) ## 亮点 - **27 个调试器工具** -- 内存、反汇编、断点、寄存器、栈/堆/SEH、模块、ROP gadget 搜索、执行控制,以及 WinDbg 特有的崩溃分析、线程管理、符号解析和类型转储 - **5 个专业 AI 智能体** -- 漏洞利用分析师、恶意软件分析师、漏洞研究员、二进制分析师、ROP 专家 - **4 个 crew 工作流** -- 用于漏洞利用开发、恶意软件分析、漏洞研究和常规分析的多智能体流水线 - **PDF 知识集成** -- 将研究论文、API 文档和技术参考作为上下文输入 - **与提供商无关的 LLM** -- 支持 OpenAI、Anthropic 或任何 crewAI 支持的提供商 - **多调试器架构** -- 共享的智能体、crews 和工具,带有可插拔的调试器后端 ## 架构 ``` ┌───────────────────────────┐ │ Immunity Debugger (x86) │ ┌───────────────────────────────────┐ │ Bridge: ImmLib / Py 2.7 │──HTTP──>│ │ └───────────────────────────┘ │ CrewDBG Server (Python 3.x) │ │ │ ┌───────────────────────────┐ │ FastAPI /analyze endpoint │ │ WinDbg (x86 / x64) │──HTTP──>│ │ │ │ Bridge: PyKD / Py 3 │<──HTTP──│ Tools call back into bridge │ └───────────────────────────┘ │ │ │ │ Agents + Crews + Knowledge (PDF) │ └───────────────────────────────────┘ ``` 轻量级的 HTTP 桥接运行在调试器**内部**,将调试器操作作为 JSON 端点暴露出来。CrewDBG 服务器作为一个托管了 crewAI 智能体的 Python 3 进程运行在调试器**外部**,这些智能体会回调桥接以读取内存、反汇编代码、设置断点等。 两个调试器后端都实现了**相同的桥接协议**,因此无论你使用哪种调试器,所有的智能体、crews、知识和工具都能完全相同地工作。 ## 前置条件 - 在 Windows 上安装 **Immunity Debugger** 或 **WinDbg** - 在同一台机器(或可访问的主机)上安装 **Python 3.10+** - **PyKD**(仅限 WinDbg):`pip install pykd` - 一个 **LLM API 密钥**(OpenAI、Anthropic 或任何 crewAI 支持的提供商) ## 安装说明 ### 1. 安装 CrewDBG (Python 3) ``` cd crewdbg pip install -e . ``` ### 2a. Immunity Debugger 设置 将 `immdbg/` 目录中的内容复制到 Immunity Debugger 的 PyCommands 目录中: ``` crewdbg.py → C:\...\Immunity Debugger\PyCommands\crewdbg.py crewdbg_bridge.py → ...\PyCommands\crewdbg_bridge.py crewdbg_config.py → ...\PyCommands\crewdbg_config.py crewdbg_lib\ → ...\PyCommands\crewdbg_lib\ (entire folder) ``` ### 2b. WinDbg 设置 将 `windbg/` 目录中的内容复制到一个工具目录并加载 PyKD: ``` crewdbg_windbg.py → C:\tools\crewdbg\crewdbg_windbg.py crewdbg_bridge.py → C:\tools\crewdbg\crewdbg_bridge.py crewdbg_config.py → C:\tools\crewdbg\crewdbg_config.py crewdbg_lib\ → C:\tools\crewdbg\crewdbg_lib\ (entire folder) ``` 在 WinDbg 中输入:`.load pykd` ### 3. 设置你的 API 密钥 ``` export OPENAI_API_KEY="sk-..." # 或 export ANTHROPIC_API_KEY="sk-ant-..." ``` ## 快速开始 **终端:** ``` crewdbg serve ``` **Immunity Debugger:** ``` !crewdbg_bridge start !crewdbg analyze Find the buffer overflow and suggest an exploit strategy ``` **WinDbg:** ``` .load pykd !py C:\tools\crewdbg\crewdbg_bridge.py start !py C:\tools\crewdbg\crewdbg_windbg.py analyze Find the buffer overflow and suggest an exploit strategy ``` ## 使用说明 ### 命令 | 调试器 | 启动桥接 | 分析 | |----------|-------------|----------| | **ImmDbg** | `!crewdbg_bridge start` | `!crewdbg analyze ` | | **WinDbg** | `!py crewdbg_bridge.py start` | `!py crewdbg_windbg.py analyze ` | ### 分析类型 | 命令 | Crew | 流水线 | |---------|------|----------| | `analyze ` | 通用 | 单智能体,所有工具,提示驱动 | | `exploit ` | 漏洞利用开发 | 4 个智能体: 侦察 → 漏洞 → 漏洞利用 → ROP | | `malware ` | 恶意软件 | 2 个智能体: 二进制侦察 → 行为分析 | | `vuln ` | 漏洞 | 2 个智能体: 侦察 → 漏洞分类 | | `status` | — | 检查服务器和桥接的连通性 | ### 示例提示词 ``` exploit EIP is 0x41414141 after sending 3000 A's. Build a working exploit with DEP bypass. malware Trace API calls and identify C2 communication endpoints. vuln Characterize the crash at current EIP. Is this exploitable? analyze List all non-ASLR modules and search for JMP ESP gadgets. ``` ### REST API ``` # 检查状态 curl http://localhost:8000/status # 运行分析 curl -X POST http://localhost:8000/analyze \ -H "Content-Type: application/json" \ -d '{"prompt": "Find ROP gadgets for DEP bypass", "crew_type": "exploit"}' # 上传 PDF 知识库 curl -X POST http://localhost:8000/knowledge/upload \ -F "files=@rop_techniques.pdf" ``` | 方法 | 端点 | 描述 | |--------|----------|-------------| | `GET` | `/status` | 服务器健康状态 + 桥接连通性 | | `POST` | `/analyze` | 运行一个分析 crew | | `POST` | `/knowledge/upload` | 将 PDF 作为知识上传 | | `GET` | `/knowledge/list` | 列出已加载的 PDF | | `DELETE` | `/knowledge/clear` | 清除所有知识 | ## PDF 知识库 将研究论文、API 文档和漏洞利用技术参考提供给你的智能体: ``` curl -X POST http://localhost:8000/knowledge/upload \ -F "files=@windows_api_reference.pdf" \ -F "files=@heap_exploitation.pdf" ``` 智能体在分析过程中会使用 RAG(检索增强生成)自动查询知识库。 ## 智能体 | 智能体 | 专长 | 核心工具 | |-------|-----------|-----------| | **Binary Analyst** | 结构映射,RE | Disasm, Modules, Strings, Memory | | **Exploit Analyst** | 漏洞利用构建 | Memory, Stack, SEH, Gadgets, Breakpoints | | **Vuln Researcher** | 缺陷分类 | Memory, Stack, Heap, Disasm | | **Malware Analyst** | 行为追踪 | Breakpoints, Execution, API trace | | **ROP Specialist** | Gadget 链构建 | SearchInstructions, Modules, Memory | ## 工具 ### 标准工具 (22 -- 两种调试器通用) | 类别 | 工具 | |----------|-------| | **内存** | ReadMemory, WriteMemory, SearchMemory | | **反汇编** | Disassemble, DisassembleFunction | | **断点** | SetBreakpoint, ListBreakpoints, RemoveBreakpoint | | **寄存器** | GetRegisters, SetRegister | | **栈/堆/SEH** | AnalyzeStack, AnalyzeHeap, GetSEHChain | | **模块** | ListModules, GetModuleInfo | | **搜索** | SearchInstructions (ROP), SearchStrings | | **执行** | StepInto, StepOver, Run, Pause | | **表达式** | EvalExpression | ### WinDbg 专用工具 (5) | 工具 | WinDbg 命令 | 描述 | |------|---------------|-------------| | **CrashAnalysis** | `!analyze -v` | 自动化崩溃分类与可利用性评估 | | **ListThreads** | `~*` | 列出所有线程及其状态 | | **SwitchThread** | `~Ns` | 将调试器上下文切换到指定线程 | | **ResolveSymbol** | `ln` | 将地址解析为最近的符号 | | **DumpType** | `dt` | 转储类型化结构(例如 `_EPROCESS`, `_TEB`) | ## 配置 编辑 `crewdbg/src/crewdbg/config/settings.yaml`: ``` bridge: host: "127.0.0.1" port: 9100 timeout: 30 server: host: "0.0.0.0" port: 8000 llm: model: "gpt-4o" # Any crewAI-supported model knowledge: chunk_size: 4000 chunk_overlap: 200 embedder: provider: "openai" config: model: "text-embedding-3-small" ``` 可通过环境变量覆盖:`CREWDBG_MODEL`、`CREWDBG_BRIDGE_HOST`、`CREWDBG_BRIDGE_PORT`、`CREWDBG_HOST`、`CREWDBG_PORT`。 ## 项目结构 ``` crewdbg/ ├── pyproject.toml # Package config ├── README.md # Detailed project README ├── DEVELOPMENT.md # Developer guide ├── docs/ │ ├── tools.md # Full tools API reference │ ├── agents-and-crews.md # Agent roles + crew pipelines │ └── knowledge.md # PDF/RAG integration guide ├── src/crewdbg/ # Shared Python 3 package │ ├── tools/ # 27 debugger tools │ ├── agents/ # 5 agent factories │ ├── crews/ # 4 crew workflows │ ├── knowledge/ # PDF knowledge manager │ ├── config/ # YAML configs │ ├── server.py # FastAPI server │ └── cli.py # CLI (crewdbg serve/status) ├── immdbg/ # Immunity Debugger backend (Python 2.7) │ ├── crewdbg.py # !crewdbg PyCommand │ ├── crewdbg_bridge.py # !crewdbg_bridge PyCommand │ └── crewdbg_lib/ # ImmLib bridge server + handlers ├── windbg/ # WinDbg backend (Python 3 + PyKD) │ ├── crewdbg_windbg.py # Analysis command script │ ├── crewdbg_bridge.py # Bridge start/stop script │ └── crewdbg_lib/ # PyKD bridge server + handlers + wrapper └── tests/ ``` ## 文档 | 文档 | 描述 | |----------|-------------| | [crewdbg/DEVELOPMENT.md](crewdbg/DEVELOPMENT.md) | 如何添加工具、智能体、crews 和知识源 | | [crewdbg/docs/tools.md](crewdbg/docs/tools.md) | 所有 27 个工具的完整 API 参考 | | [crewdbg/docs/agents-and-crews.md](crewdbg/docs/agents-and-crews.md) | 智能体角色、crew 流水线、自定义 | | [crewdbg/docs/knowledge.md](crewdbg/docs/knowledge.md) | PDF 知识集成与 RAG 配置 | | [crewdbg/immdbg/README.md](crewdbg/immdbg/README.md) | ImmDbg 设置、桥接 API 参考与疑难解答 | | [crewdbg/windbg/README.md](crewdbg/windbg/README.md) | WinDbg 设置、PyKD 安装与附加端点 | ## 调试器后端对比 | 功能 | Immunity Debugger | WinDbg | |---------|-------------------|--------| | **架构** | 仅限 x86 | x86 和 x64 | | **桥接语言** | Python 2.7 | Python 3.10+ | | **调试器 API** | ImmLib | PyKD | | **标准端点** | 23 | 23 | | **附加端点** | 0 | 5(崩溃分析、线程、符号、类型) | | **总工具数** | 22 | 27 | | **内核调试** | 否 | 可能(未来支持) | ## 许可证 MIT
标签:AI安全, AI驱动分析, API接口, Chat Copilot, Conpot, Crash分析, crewAI, DAST, DLL 劫持, DNS 反向解析, Exploit, Fuzzing, Immunity Debugger, JARM, LLM, NLP, PDF解析, PyKD, PyRIT, Python, ROP链构造, Ruby, SEH分析, TLS抓取, Unmanaged PE, Wayback Machine, WinDbg, Windows安全, 二进制分析, 二进制安全, 云安全运维, 云资产清单, 内存分析, 反汇编, 堆栈分析, 多智能体框架, 多智能体系统, 大语言模型, 安全人工智能, 恶意软件分析, 情报收集, 插件架构, 无后门, 漏洞利用开发, 漏洞研究, 知识库, 符号解析, 线程管理, 网络安全, 自动化分析, 跨站脚本, 软件安全, 逆向工具, 逆向工程, 隐私保护