Binary Ninja MCP Server

MIT License
  • Linux
  • Apple

Integrations

  • Supports running the Binary Ninja MCP Server on Linux, with specific paths for plugin installation in the Linux environment.

  • Supports running the Binary Ninja MCP Server on macOS, with specific paths for plugin installation in the macOS environment.

  • Provides a Python module interface for the Binary Ninja MCP Server, allowing it to be run as a Python script.

바이너리 닌자 MCP 서버

Binary Ninja 상호작용 및 자동화를 위한 모델 컨텍스트 프로토콜 서버입니다. 이 서버는 대규모 언어 모델을 통해 Binary Ninja와 상호작용할 수 있는 도구를 제공합니다.

개요

Binary Ninja MCP 서버는 대규모 언어 모델이 모델 컨텍스트 프로토콜(MCP)을 통해 Binary Ninja와 상호 작용할 수 있도록 하는 플러그인 및 서버 구현입니다. 다음과 같은 기능을 제공합니다.

  • 함수에 대한 어셈블리 코드 가져오기
  • 함수에 대한 디컴파일된 코드(HLIL) 가져오기
  • 함수 및 변수 이름 바꾸기
  • 댓글 추가

설치

uv 사용(권장)

uv 사용하면 별도의 설치가 필요하지 않습니다. uvx 사용하여 binja_mcp를 직접 실행합니다.

PIP 사용

또는 pip를 통해 binja-mcp 설치할 수 있습니다.

지엑스피1

설치 후 다음을 사용하여 스크립트로 실행할 수 있습니다.

python -m binja_mcp

바이너리 닌자 플러그인 설치

이 저장소를 복제하거나 복제된 저장소를 Binary Ninja의 플러그인 디렉토리에 연결합니다.

  • 리눅스: ~/.binaryninja/plugins/
  • macOS: ~/Library/Application Support/Binary Ninja/plugins/
  • 윈도우: %APPDATA%\Binary Ninja\plugins\

구성

Claude Desktop/Cursor와 함께 사용

claude_desktop_config.json 또는 Cursor MCP 서버에 다음을 추가하세요.

"mcpServers": { "binja": { "command": "uvx", "args": [ "-n", "mcp-server-binja" ] } }
"mcpServers": { "binja": { "command": "python", "args": [ "-m", "mcp_server_binja" ] } }

용법

  1. Binary Ninja를 열고 바이너리를 로드하세요.
  2. 도구 메뉴 또는 키보드 단축키를 사용하여 MCP 서버를 시작합니다.
  3. Claude Desktop, Cursor 또는 선호하는 MCP 클라이언트를 사용하여 바이너리와 상호 작용합니다.

사용 가능한 명령

다음 명령은 MCP 인터페이스를 통해 사용할 수 있습니다.

  • binja_get_function_assembly : 명명된 함수에 대한 어셈블리 코드를 가져옵니다.
  • binja_get_function_decompiled : 지정된 함수의 디컴파일된 코드를 가져옵니다.
  • binja_get_global_variable : 전역 변수에 대한 정보를 가져옵니다.
  • binja_get_current_function_assembly : 현재 함수에 대한 어셈블리를 가져옵니다.
  • binja_get_current_function_decompiled : 현재 함수에 대한 디컴파일된 코드를 가져옵니다.

개발

로컬 개발을 수행하는 경우 변경 사항을 테스트하는 방법은 두 가지가 있습니다.

  1. MCP 검사기를 실행하여 변경 사항을 테스트하세요.
npx @modelcontextprotocol/inspector uvx binja_mcp
  1. claude_desktop_config.json 에 다음을 추가하여 Claude 데스크톱 앱을 사용하여 테스트하세요.
{ "mcpServers": { "binja": { "command": "uv", "args": [ "--directory", "/<path to mcp-server-binja>/src", "run", "mcp-server-binja" ] } } }

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

-
security - not tested
A
license - permissive license
-
quality - not tested

대규모 언어 모델이 바이너리 닌자와 상호 작용하여 어셈블리 코드 보기, 디컴파일된 코드, 함수 이름 변경, 주석 추가 등의 역엔지니어링 작업을 수행할 수 있도록 하는 모델 컨텍스트 프로토콜 서버입니다.

  1. Overview
    1. Installation
      1. Using uv (recommended)
      2. Using PIP
      3. Binary Ninja Plugin Installation
    2. Configuration
      1. Usage with Claude Desktop/Cursor
    3. Usage
      1. Available Commands
        1. Development
          1. License
            ID: 7q8rq07sbh