SI

susuya233/ida-mcp-gui

API development

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

10 stars 3 forks 품질 51 트렌드 18

IDAMCP的修改版,AI YYDS

개요

IDA Pro 漏洞扫描与分析插件 - 集成 MCP (Model Context Protocol) 支持的 IDA Pro 安全分析工具。 自动检测二进制文件中对危险函数的调用: - : strcpy, strcat, sprintf, memcpy 等 - : printf, syslog 等 - : scanf, sscanf 等 - : system, popen, exec* 等 - : fopen, unlink 等 - : websGetVar, nvram_get, cgi_get 等 - : check_auth, verify_password 等 基于污点分析的命令注入漏洞检测: - 自动识别 (用户可控输入点) - 自动识别 (危险命令执行函数) - 追踪数据流,生成 - 可控性分析与风险等级评估 - 目录穿越检测 - 符号链接攻击 - 竞争条件 (TOCTOU) - 临时文件攻击 - 污点传播路径 - Mermaid/DOT 图表生成 - Source→Sink 路径分析 - NVRAM: nvram_get, nvram_safe_get, bcmGetNvram - UCI: uci_get, uci_get_option - CGI: websGetVar, cgiGetValue, httpGetParam - JSON: cJSON_GetObjectItem, json_get_value - 环境变量: QUERY_STRING, REQUEST_METHOD, HTTP_COOKIE - : 现代化暗色主题,支持筛选、展开详情、复制内容 - : 原生 Chooser 窗口,双击/Enter 快速跳转到代码位置 仓库内提供 Cursor Agent Skill,便于在 Cursor 中按规范调用 IDA MCP、减少卡死。Skill 位于 (随仓库一起推送到 GitHub)。在 Cursor 中打开本仓库后,将 skill 复制到项目内供 Cursor 加载:

README

원문 README의 일부입니다. 원문 보기.

IDA-MCP-GUI

IDA Pro 漏洞扫描与分析插件 - 集成 MCP (Model Context Protocol) 支持的 IDA Pro 安全分析工具。支持 IDA 7.x / 8.x / 9.x(含 9.2)。

功能特性

🛡️ 危险函数扫描

自动检测二进制文件中对危险函数的调用:

  • 内存拷贝函数: strcpy, strcat, sprintf, memcpy 等
  • 格式化字符串函数: printf, syslog 等
  • 输入函数: scanf, sscanf 等
  • 命令执行函数: system, popen, exec* 等
  • 文件操作函数: fopen, unlink 等
  • CGI处理函数: websGetVar, nvram_get, cgi_get 等
  • 认证函数: check_auth, verify_password 等

💉 命令注入扫描

基于污点分析的命令注入漏洞检测:

  • 自动识别 Source(用户可控输入点)
  • 自动识别 Sink(危险命令执行函数)
  • 追踪数据流,生成 利用链路径
  • 可控性分析与风险等级评估

🔧 缓冲区溢出分析

  • 栈缓冲区溢出检测
  • 堆缓冲区溢出检测
  • 整数溢出风险分析

📝 格式化字符串漏洞

  • 格式化函数调用检测
  • 可控性分析
  • 利用链追踪

📂 路径穿越分析

  • 目录穿越检测
  • 符号链接攻击
  • 竞争条件 (TOCTOU)
  • 临时文件攻击

🔀 函数调用链可视化

  • 污点传播路径
  • Mermaid/DOT 图表生成
  • Source→Sink 路径分析

🏗️ 自动结构/枚举建议

  • 内存访问模式分析
  • 魔数识别与枚举匹配
  • 类型修复建议

🤖 LLM 语义分析接口

  • 函数上下文提取
  • 结构化分析提示词生成
  • 批量危险函数分析

📱 MIPS/CGI 嵌入式设备支持

针对路由器、IoT 设备固件的深度支持:

支持的厂商特定函数:

厂商 命令执行 输入获取
D-Link lxmldbc_system, fwSystem cgibin_get
TP-Link tpSystem, httpRpmDoSystem httpGetEnv, tpHttpdGetEnv
Netgear acosSystem, acosSysExec acosNvramConfig_get
ASUS doCmd, notify_rc tcapi_get
Tenda formSysCmd, tenda_system websGetVar, GetValue
华为 ATP_UTIL_ExecShell, VOS_System ATP_DBGetPara
小米 mi_system, miot_system -
GoAhead websLaunchCgiProc, cgiHandler websGetVar, ejArgs
OpenWrt luci_sys_exec, ubus_call uci_get

支持的输入源:

  • NVRAM: nvram_get, nvram_safe_get, bcmGetNvram
  • UCI: uci_get, uci_get_option
  • CGI: websGetVar, cgiGetValue, httpGetParam
  • JSON: cJSON_GetObjectItem, json_get_value
  • 环境变量: QUERY_STRING, REQUEST_METHOD, HTTP_COOKIE

📊 双重界面

  • Web 界面: 现代化暗色主题,支持筛选、展开详情、复制内容
  • IDA 内置窗口: 原生 Chooser 窗口,双击/Enter 快速跳转到代码位置

Cursor Skill(配合 MCP 用)

仓库内提供 Cursor Agent Skill,便于在 Cursor 中按规范调用 IDA MCP、减少卡死。Skill 位于 skills/ida-mcp/(随仓库一起推送到 GitHub)。在 Cursor 中打开本仓库后,将 skill 复制到项目内供 Cursor 加载:

mkdir -p .cursor/skills && cp -r skills/ida-mcp .cursor/skills/

详见 skills/README.md。

快捷键

快捷键 功能
Ctrl+Alt+M 启动 MCP 服务器
Ctrl+Shift+D 危险函数扫描窗口
Ctrl+Shift+I 命令注入扫描窗口
Ctrl+Shift+S 输入源函数窗口
Ctrl+Shift+B 缓冲区溢出扫描
Ctrl+Shift+F 格式化字符串扫描
Ctrl+Shift+P 路径穿越扫描
Ctrl+Shift+A 打开所有扫描窗口

安装(让 IDA 能用)

兼容 IDA 7.x / 8.x / 9.x(含 9.2)。

⚠️ 必须先让 IDA 使用 Python

本插件是 Python 插件。若 IDA 当前是 IDC 模式(底部控制台旁显示 “IDC - Native built-in language”),Python 插件不会加载,菜单里也不会出现 MCP。

切换到 Python 的方法:

  • 方法一(推荐):在终端执行 IDA 自带的 Python 切换工具(先完全退出 IDA):
    "/Applications/IDA Professional 9.2.app/Contents/MacOS/idapyswitch"
    
    按提示选择本机已安装的 Python 3,然后重新打开 IDA。
  • 方法二:在 IDA 底部控制台左侧,点击当前显示的 “IDC”,在下拉菜单里选择 “Python 3” 或 “Python”,使当前脚本语言变为 Python。部分版本下,Python 插件只有在用该方法选过 Python 后才会被加载。

切换成功后,重启 IDA,再在 Edit → Plugins 里应能看到 MCP。


  1. 找到 IDA 的 plugins 目录
GitHub에서 전체 README 보기

설치

This server does not publish a one-line install command.

Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →

설정

{ "mcpServers": { "ida-mcp": { "url": "http://127.0.0.1:13337/sse" } } }