Token导航 LogoToken导航TokenDH.com
Neo Gdb MCP logo
运维云端stdio官方级别未说明来源级核验

Neo Gdb MCP

MCP Server

NEO-GDB-MCP是一个连接GDB与MCP的工具,特别适用于CTF Pwn环境的远程调试,允许从Windows主机直接控制远程Linux GDB。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
PythonVS Code云端部署VS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Mistyovo

提供方

Mistyovo

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

NEO-GDB-MCP

简介

这是一个将GDB连接到MCP的小项目。它对于CTF Pwn环境特别有用。通过启用的传统远程调试功能 gdbserver 仅将程序的执行信息发送到本地gdb。当本地gdb环境为Windows时,gdb无法加载 pwndbg 插件,意味着关键的CTF命令,如 heapbins 不可用。

通过此项目,建立了第二个远程调试通道,作为 gdbserver.

它有两个部分:

  1. gdb_plugin.py
  • 加载到GDB中
  • 添加 start-mcp-server GDB命令
  • 在GDB中执行命令,并为客户端公开TCP端口
  1. client.py (MCP标准客户端)
  • 在Windows主机上运行(由VS Code通过MCP启动)
  • 露出工具 run_gdb_command
  • 通过网络直接向远程GDB插件发送命令

简言之: 它允许代理直接从Windows主机控制远程Linux GDB.

安装

运行这个 两者 您的Windows主机和Linux VM/WSL:

cd neo-gdb-mcp
pip install -e .

用法

1.加载插件并在GDB中开始调试

在Linux环境中:

source /path/to/neo-gdb-mcp/gdb_mcp/gdb_plugin.py
start-mcp-server

*(默认情况下,它监听0.0.0.0:10000。您还可以使用自定义端口/主机 start-mcp-server 9876 127.0.0.1)*

2.在VS Code(Windows)中配置MCP

配置VS代码以使用 client.py。更新您的 .vscode/mcp.json 或全局MCP设置。替换 YOUR_LINUX_IP 使用您的VM或WSL的IP地址(例如。, 192.168.1.x 对于虚拟机,或 127.0.0.1 WSL):

{
  "servers": {
    "neo-gdb-mcp": {
      "command": "python",
      "args": [
        "-m",
        "gdb_mcp.client",
        "--host",
        "YOUR_LINUX_IP", // or "localhost"
        "--port",
        "10200"
      ]
    }
  }
}

3.开始使用它

连接就绪后,代理可以呼叫 run_gdb_command.

4.GDB中可用的命令

  • start-mcp-server [port] [host]:启动服务
  • stop-mcp-server:停止服务
  • mcp-status:显示状态

5.代理商提示

  1. 使用ida pro mcp彻底读取程序中的每个函数并识别漏洞。
  2. 根据发现的漏洞,编写exp.py。
  3. 使用tmux和gdb-mcp对exp.py进行动态调试。您可以参考下面的模板来启动调试代码。(调试时,请尝试使用pwndbg命令。)在每个调试会话中,在进行任何代码更改之前,必须停止调试器。
from pwn import *
context.binary = "./pwn" 
context.terminal = ["tmux", "splitw", "-h"]  
GDBSCRIPT = """
source /abs/path/to/neo-gdb-mcp/gdb_mcp/gdb_plugin.py
start-mcp-server
"""
def start():
    # return process(context.binary.path)
    return gdb.debug(context.binary.path, gdbscript=GDBSCRIPT)
p = start()
p.interactive()

笔记:

  • tmux是可选的:如果不使用tmux,请删除 context.terminal = ... pwntools将在当前终端中启动GDB。
  • 自定义端口:如果您更改了GDB插件端口(例如。 start-mcp-server 9876),在MCP客户端参数中传递它(--port 9876).
  • 避免端口冲突:关闭GDB或停止调试后,套接字将被清理。检查是否有剩余 gdb 如果端口保持锁定,则进行处理。

7.AI代理的常用Pwndbg命令

由于此MCP允许AI代理完全访问 pwndbg 在Linux内部运行时,您可以利用这些pwndbg特定的命令来有效地分析程序状态、查找漏洞和巧妙利用漏洞:

  • 上下文和二进制信息

- context:打印出当前CPU寄存器、反汇编、堆栈和回溯。 - checksec:检查加载的二进制文件(PIE、RELRO、NX、Canary)的安全功能。 - vmmap:打印出虚拟内存映射,显示所有段的权限和路径。

  • 堆栈和内存检查

- telescope [address] (或 tele):一个智能十六进制转储,递归地解引用指向字符串、代码或其他指针的指针。强烈推荐生食 x/gx 用于测量记忆。 - retaddr:查找本机存储在堆栈上的返回地址。 - canary:显示当前堆栈金丝雀值。 - search :在内存中搜索特定值或字符串。

  • GOT&PLT决议

- got:显示全局偏移表。使用此功能检查加载的libc地址并验证GOT覆盖。 - plt:查看程序链接表。

  • 堆分析(堆利用的关键)

- heap:打印当前堆竞技场中所有分配的块。 - bins, fastbins, tcachebins, unsortedbin:查看特定空闲块列表的状态,以识别泄漏或中毒块状态。 - arena:显示 malloc_state 变量和结构。 - vis_heap_chunks (或 vis):按上下文可视化堆块。 - find_fake_fast:识别适合快速箱损坏的重叠或错位区域。

  • 利用开发助手

- rop:转储内存中加载的ROP小工具。 - distance :计算两个地址之间的精确字节距离。

备注

  • GDB必须支持Python
  • 需要Python 3.10+
  • 适用于普通GDB以及pwndbg/GEF命令

目录标签

目录标签

PythonVS Code云端部署CTF工具本地部署远程调试GDB插件Pwn环境pwndbg

支持客户端

VS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP