Token导航 LogoToken导航TokenDH.com
Ida Pro MCP Multi logo
安全风控未说明官方级别未说明来源级核验

Ida Pro MCP Multi

MCP Server

一款支持多实例协同分析和漏洞扫描的IDA Pro逆向工程插件,适用于二进制安全研究和复杂软件分析场景。

工具数

48

提示词数

0

GitHub Stars

8

资源数

0
逆向工程PythonClaudeClaudeCursorVS Code

安装说明

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

作者 / 组织

QYmag1c

提供方

QYmag1c

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

IDA Pro MCP多功能

英语 | 中文

📌 基于:本项目基于 网络/ida-pro-mcp,通过多实例支持和漏洞扫描功能对其进行扩展。

一个强大的 MCP服务器 IDA Pro中的人工智能辅助逆向工程,支持同时分析多个二进制文件。

为什么是这个项目?

原版 ida亲mcp 是人工智能辅助逆向工程的优秀工具,但我们在现实世界中遇到了局限性:

问题1:单实例限制

当对复杂软件进行逆向工程时,您通常需要分析多个相关的二进制文件:

  • 主可执行文件(main.exe)
  • 多个DLL/共享库(helper.dll, crypto.dll等等)
  • 第三方图书馆

原始项目仅支持 一次一个IDA实例,使交叉二元分析变得乏味且低效。

问题2:没有内置漏洞检测

安全研究人员需要快速识别潜在的危险代码模式。手动搜索易受攻击的函数调用很耗时。

新功能

🔗 多实例支持

使用Gateway架构同时分析多个二进制文件:

AI Client ──MCP──> Gateway (port 13337) ──> IDA Instance 1 (main.exe, port 13338)
                                        ──> IDA Instance 2 (helper.dll, port 13339)
                                        ──> IDA Instance 3 (crypto.dll, port 13340)

工作原理:

  1. 第一个IDA实例会自动启动 网关服务器 (端口13337)
  2. 每个后续IDA实例都向网关注册并获得一个唯一的端口
  3. AI客户端连接到网关,网关将请求路由到适当的实例

实例管理工具:

工具说明
list_instances()列出所有已注册的IDA实例
switch_instance(target)切换默认目标实例(按ID或二进制名称)
get_current_instance()获取当前默认实例的相关信息
check_instance_health(target)检查实例是否正在响应
open_library(name)在新IDA实例中自动搜索并打开库文件

自动打开库:

在分析使用外部库的程序时,您可以要求AI自动打开它们:

  • 在当前目录和子目录中搜索库文件
  • 自动检测体系结构(x86/x64/ARM)
  • 在IDA Pro中打开自动分析(无对话框)
  • 加载后MCP插件自动启动

针对特定实例:

大多数工具都接受可选 target 参数:

{
  "method": "decompile",
  "params": {
    "addr": "0x401000",
    "target": "helper.dll"
  }
}

传统模式:

要禁用多实例支持,请执行以下操作:

IDA_MCP_LEGACY=1

🔍 漏洞扫描

全面的漏洞扫描,通过高级检测识别潜在危险的函数调用:

工具:

工具说明
vuln_scan(output_dir, categories, min_risk)扫描二进制文件以查找漏洞,返回摘要
vuln_scan_details(category, limit, offset, risk_level)获取特定类别的详细调查结果
vuln_scan_function(addr)扫描特定函数以查找漏洞模式
vuln_categories()列出所有漏洞类别和相关功能

支持的漏洞类别(11类,150多个危险功能):

类别危险功能描述
格式化字串printf、sprintf、scanf、snprintf、syslog等。非恒定格式字符串,%s没有宽度限制
缓冲区溢出strcpy、memcpy、get、recv、fread等。无边界副本,大小可控,扫描中为%s
命令注入系统、popen、exec\*、CreateProcess、ShellExecute等。非恒定命令
整数溢出malloc、calloc、realloc、alloca、VirtualAlloc等。可能溢出大小
免费后使用免费、删除、HeapFree、VirtualFree等。潜在UAF/双自由
路径遍历fopen、open、CreateFile、CopyFile等。可控路径
SQL注入sqlite3exec、mysql_query、PQexec等。非常量SQL查询
未经检查的退货malloc、setuid、setgid、chdir等。缺少返回值检查
竞态条件访问、统计、lstat等。TOCTU漏洞
信息泄露写、发送、发送到、fwrite等。可能泄露数据
签名比较strncmp、memcmp、memchr等。带符号比较的大小参数

检测特点:

  • 格式字符串分析:检查非恒定格式字符串和危险 %s 没有宽度限制的说明符
  • strlen检查:检测是否 strlen() 在无限制复制操作之前调用
  • 返回值检查:验证malloc/setuid/等返回值是否正确验证
  • MSVC安全功能:手柄 _s 后缀变体(strcpy_s、sprintfs等)
  • glibc强化函数:手柄 _chk 后缀变体(\_\_printf_chk、\_\_memcpy_chk等)
  • 风险评估:基于参数可控性的高/中/低/信息

工作流程:

  1. 要求AI“扫描漏洞”
  2. AI呼叫 vuln_scan() 按类别和风险级别获取摘要
  3. 查看摘要并选择类别进行深入分析
  4. AI使用 vuln_scan_details(category)decompile() 分析具体发现

注: 详细结果保存到 .ida-mcp-vuln/ 文件夹,以尽量减少令牌使用。

先决条件

  • IDA Pro (8.3或更高,推荐9)
  • 任何兼容MCP的客户端(Claude、Cursor、VS Code、Roo Code等)

安装

适用于已安装原始ida pro mcp的用户

如果您之前安装了原始版本 ida亲mcp,您需要先卸载它,然后强制重新安装:

# Uninstall old versions
"D:\your\path\to\ida\python311\python.exe" -m pip uninstall -y ida-pro-mcp ida-pro-mcp-multi

# Force reinstall the new version
"D:\your\path\to\ida\python311\python.exe" -m pip install --no-cache-dir --force-reinstall --upgrade git+https://github.com/QYmag1c/ida-pro-mcp-multi

# Reinstall IDA plugin and configure MCP clients
"D:\your\path\to\ida\python311\Scripts\ida-pro-mcp.exe" --install

# View MCP configuration
"D:\your\path\to\ida\python311\Scripts\ida-pro-mcp.exe" --config

然后重新启动IDA Pro和MCP客户端。

______________________________________________________________________

新安装

步骤1:安装MCP包

在IDA的Python目录中打开一个终端并运行:

# Navigate to IDA's Python directory
cd "D:\your\path\to\ida\python311"

# Install the MCP package
python.exe -m pip install --upgrade git+https://github.com/QYmag1c/ida-pro-mcp-multi

步骤2:安装IDA插件并配置MCP客户端

# Install IDA plugin and configure MCP clients
"D:\your\path\to\ida\python311\Scripts\ida-pro-mcp.exe" --install

# View MCP configuration for manual setup
"D:\your\path\to\ida\python311\Scripts\ida-pro-mcp.exe" --config

注: 替换 D:\your\path\to\ida 使用您的实际IDA Pro安装路径。

步骤3:重新启动

重要:完全重新启动IDA Pro和MCP客户端以使安装生效。

验证安装

  1. 打开IDA Pro并加载二进制文件
  2. 首选 Edit → 插件→ MCP (或按 Ctrl+Alt+M)
  3. 你应该看看 [MCP] Server started 在输出窗口中

建筑

src/ida_pro_mcp/
├── server.py              # MCP server + instance management tools
├── gateway.py             # Gateway Server for multi-instance routing
├── ida_mcp.py             # IDA plugin loader (registers with Gateway)
└── ida_mcp/
    ├── api_core.py        # Core functions (decompile, disasm, etc.)
    ├── api_analysis.py    # Analysis operations
    ├── api_vuln.py        # Vulnerability scanning (NEW)
    ├── api_memory.py      # Memory operations
    ├── api_types.py       # Type operations
    ├── api_modify.py      # Modification operations
    ├── api_stack.py       # Stack frame operations
    ├── api_debug.py       # Debugger operations
    └── ...

所有可用工具

该项目包括原始项目中的所有工具,以及新的多实例和漏洞扫描功能。

实例管理(新)

  • list_instances(), switch_instance(), get_current_instance(), check_instance_health()

漏洞扫描(新增)

  • vuln_scan(), vuln_scan_details(), vuln_scan_function(), vuln_categories()

核心功能

  • lookup_funcs(), int_convert(), list_funcs(), list_globals(), imports(), decompile(), disasm(), xrefs_to(), callees()

修改操作

  • set_comments(), patch_asm(), declare_type(), rename()

内存操作

  • get_bytes(), get_int(), get_string(), get_global_value(), patch(), put_int()

分析操作

  • py_eval(), analyze_funcs(), find_regex(), find_bytes(), find_insns(), find(), basic_blocks(), callgraph()

类型操作

  • set_type(), infer_types(), read_struct(), search_structs()

堆栈操作

  • stack_frame(), declare_stack(), delete_stack()

调试器操作(需要 --unsafe 旗帜)

  • dbg_start(), dbg_exit(), dbg_continue(), dbg_step_into(), dbg_step_over()等等。

致谢

许可证

MIT许可证-请参阅 许可证 了解详情。

目录标签

目录标签

逆向工程PythonClaude本地部署漏洞扫描多实例分析二进制安全IDA插件

支持客户端

ClaudeCursorVS Code

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

48

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP