调试器服务器

一个基于Windows调试工具(CDB和KD)的MCP服务器,专为逆向工程和漏洞研究设计,提供LLM驱动的调试会话,支持断点、内存、寄存器和进程状态的全面控制。

  • by drvcvt
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 drvcvt/debugger-mcp

使用说明

调试器mcp

MCP服务器,用于通过CDB和KD进行交互式Windows调试。专为逆向工程和漏洞研究工作流程而构建。

将Windows调试工具(CDB用于用户模式,KD用于内核模式)封装在模型上下文协议后面,允许LLM驱动的调试会话完全控制断点、内存、寄存器和进程状态。

它做什么

  • 会话管理 --针对用户模式进程或内核目标启动、附加、分离和关闭调试会话
  • 过程控制 --进入/结束/退出,继续执行,闯入正在运行的目标
  • 断点 --地址或符号处的软件断点、条件断点、硬件观察点(数据断点)
  • 内存操作 --各种格式(字节、单词、双字、qwords、ASCII、Unicode、指针)的读/写/搜索内存,查询内存保护和布局
  • 注册访问权限 --读写CPU寄存器
  • 烟囱检查 --调用堆栈跟踪、局部变量显示
  • 符号解析 --按模式解析符号,找到最接近地址的符号,列出加载的模块
  • 分析工具 --自动碰撞分析(!analyze -v)、堆检查、句柄枚举、线程堆栈转储
  • 内核调试 --内核模块列表、驱动程序对象枚举、设备对象检查、IRP分析、池标签查询

需求

  • Windows 10/11
  • Windows SDK 或 WinDBG 已安装(提供 cdb.exe 和 kd.exe)
  • Python 3.10+
  • 依赖关系: pip install -r requirements.txt

设置

pip install -r requirements.txt
python server.py

服务器使用MCP协议通过stdio进行通信。将您的MCP客户端指向 python server.py.

对于内核调试,请使用适当的权限运行,并配置您的内核调试连接(本地、串行、网络),就像您对Winge/KD一样。

配置

服务器使用默认的Microsoft符号路径。集 _NT_SYMBOL_PATH 自定义符号分辨率。

建筑

debugger/
  server.py              # MCP server, tool definitions
  engines/
    session.py           # Session lifecycle, CDB/KD process management
    commands.py          # Command builders and output parsers
    symbols.py           # Symbol path configuration
  utils/                 # Shared helpers

所有调试器交互都通过子进程管道到达CDB/KD。服务器对命令进行消毒,以防止shell注入并阻止危险操作(.shell, .create等等)。保护关键系统进程(PID 0、4、csrss、lsass等)免受意外连接。

许可证

CC BY-NC-SA 4.0——见 许可证.