Binary Ninja MCP

Binary Ninja MCP

site icon
2025.04.11 31
Python反向工程工具AI辅助开发开发效率
Binary Ninja MCP 是一个插件和服务器桥接工具,旨在无缝集成 Binary Ninja 的反编译能力与 LLM 客户端(如 Claude Desktop)。它通过 HTTP 端点暴露 Binary Ninja 的功能,支持实时交互和 AI 辅助的反向工程工作流。
View on GitHub

Overview

基本能力

产品定位

Binary Ninja MCP 是一个用于增强 Binary Ninja 反向工程能力的插件和服务器桥接工具,通过与 LLM 客户端(如 Claude Desktop)的集成,提供 AI 辅助的反向工程工作流。

核心功能

  • 实时集成 Binary Ninja 与 MCP 客户端
  • 支持多种反向工程操作,如函数重命名、反编译、注释管理等
  • 提供 HTTP 端点暴露 Binary Ninja 的功能
  • 主要支持 Claude Desktop 作为 MCP 客户端,但可扩展其他集成

适用场景

  • 反向工程工作流中需要 AI 辅助的场景
  • 自动化生成二进制分析报告
  • 批量重命名函数或数据标签
  • 快速获取二进制文件的结构信息(如导入/导出函数、类、命名空间等)

工具列表

  1. Binary Ninja 插件:提供 MCP 服务器功能,通过 HTTP 端点暴露 Binary Ninja 的能力
  2. MCP 桥接组件:连接 MCP 客户端(如 Claude Desktop)与 Binary Ninja MCP 服务器

常见问题解答

  • 需要 Binary Ninja 和 Python 3.12+ 作为前置依赖
  • 主要支持 Claude Desktop 作为客户端,但可通过桥接组件扩展其他客户端
  • 提供自动化配置脚本(Mac)和手动配置指南

使用教程

使用依赖

安装教程

Binary Ninja 插件

  1. 通过 Binary Ninja 的插件管理器安装(Plugins > Manage Plugins)
  2. 或手动将仓库复制到 Binary Ninja 的插件文件夹

Claude Desktop 桥接(可选)

git clone [email protected]:fosdickio/binary_ninja_mcp.git
cd binary_ninja_mcp

python3 -m venv .venv
source .venv/bin/activate   # On macOS/Linux

pip install -r bridge/requirements.txt

自动化配置(Mac)

./scripts/setup_claude_desktop.py

手动配置

  1. 导航到 Settings > Developer > Edit Config
  2. 添加配置:
{
  "mcpServers": {
    "binary_ninja_mcp": {
      "command": "/ABSOLUTE/PATH/TO/binary_ninja_mcp/.venv/bin/python",
      "args": [
        "/ABSOLUTE/PATH/TO/binary_ninja_mcp/bridge/binja_mcp_bridge.py"
      ]
    }
  }
}

调试方式

  1. 打开 Binary Ninja 并安装插件
  2. 重启 Binary Ninja 并打开一个二进制文件
  3. 启动 MCP 服务器(Plugins > MCP Server > Start MCP Server)
  4. 启动 Claude Desktop

示例提示: - "Generate a binary analysis report for the current binary." - "Rename function X to Y in the current binary." - "List all functions in the current binary." - "What is the status of the loaded binary?"

许可证

该项目遵循 GPL-3.0 开源许可条款,请参阅 GPL-3.0 了解完整条款。