Skip to main content
Glama

Binary Ninja MCP

by fosdickio

바이너리 닌자 MCP

이 저장소에는 Binary Ninja 플러그인, MCP 서버, 그리고 Binary Ninja의 기능을 사용자가 선호하는 LLM 클라이언트와 원활하게 통합할 수 있는 브리지가 포함되어 있습니다.

특징

  • Binary Ninja와 MCP 클라이언트 간의 원활한 실시간 통합
  • AI 지원을 통한 향상된 역엔지니어링 워크플로
  • MCP 클라이언트로서 Claude Desktop에 대한 기본 지원이지만 다른 통합을 위해 확장 가능

예시

이진 분석 보고서 생성

이진 분석 보고서 생성

함수 이름 바꾸기

이름 바꾸기 함수 데모

구성 요소

이 저장소에는 두 개의 별도 구성 요소가 포함되어 있습니다.

  1. HTTP 엔드포인트를 통해 Binary Ninja의 기능을 제공하는 MCP 서버를 제공하는 Binary Ninja 플러그인입니다. MCP 프로토콜을 구현하는 모든 클라이언트에서 사용할 수 있습니다.
  2. 선호하는 MCP 클라이언트를 Binary Ninja MCP 서버에 연결하는 별도의 MCP 브리지 구성 요소입니다. Claude Desktop이 기본 통합 경로이지만, MCP 서버는 다른 클라이언트와 함께 사용할 수 있습니다.

지원되는 통합

다음 표에서는 현재 Binary Ninja와 어떤 통합이 지원되는지 자세히 설명합니다.

기능설명
get_binary_status로드된 바이너리의 현재 상태를 가져옵니다.
list_classes프로그램의 모든 네임스페이스/클래스 이름을 나열합니다.
list_data_items정의된 데이터 레이블과 값을 나열합니다.
list_exports내보낸 함수/심볼을 나열합니다.
list_imports프로그램에서 가져온 심볼을 나열합니다.
list_methods프로그램의 모든 함수 이름을 나열하세요.
list_namespaces프로그램의 모든 비전역 네임스페이스를 나열합니다.
list_segments프로그램의 모든 메모리 세그먼트를 나열합니다.
rename_data지정된 주소의 데이터 레이블 이름을 바꿉니다.
rename_function현재 이름을 사용하는 함수의 이름을 사용자가 정의한 새 이름으로 변경합니다.
search_functions_by_name주어진 부분 문자열이 포함된 함수를 검색합니다.
decompile_function특정 함수를 이름으로 디컴파일하고 디컴파일된 C 코드를 반환합니다.
set_comment특정 주소에 댓글을 설정합니다.
set_function_comment함수에 대한 주석을 설정합니다.
get_comment특정 주소로 댓글을 받아보세요.
get_function_comment함수에 대한 주석을 가져옵니다.
delete_comment특정 주소의 댓글을 삭제합니다.
delete_function_comment함수에 대한 주석을 삭제합니다.
get_assembly_function이름이나 주소로 함수의 어셈블리 표현을 가져옵니다.
function_at주소가 속한 함수의 이름을 검색합니다.
code_references주어진 함수를 호출하는 함수의 이름과 주소를 검색합니다.
get_user_defined_type사용자 정의 유형(구조체, 열거형, typedef, 공용체)의 정의를 검색합니다.
rename_variable주어진 함수 내에서 변수의 이름을 바꿉니다.
retype_variable주어진 함수 내에서 변수를 다시 입력합니다.
define_typesC 문자열 유형 정의에서 유형 정의를 추가합니다.
edit_function_signature주어진 함수의 서명을 유형 문자열로 편집합니다.

필수 조건

설치

바이너리 닌자 플러그인

Binary Ninja의 플러그인 관리자( Plugins > Manage Plugins )를 통해 플러그인을 설치할 수 있습니다.

플러그인 관리자 목록

플러그인을 수동으로 구성하려면 이 저장소를 Binary Ninja 플러그인 폴더로 복사하면 됩니다.

클로드 데스크톱 브리지(선택 사항)

이 설정은 Claude Desktop을 MCP 클라이언트로 사용하려는 경우에만 필요합니다. 먼저 가상 환경이 구성되어 있는지 확인하세요.

지엑스피1

자동 구성(Mac)

Mac에서는 다음을 실행하여 설정을 자동화할 수 있습니다.

./scripts/setup_claude_desktop.py
수동 구성

다른 운영 체제에서 또는 Claude Desktop 통합을 수동으로 구성하려면:

  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" ] } } }

참고: /ABSOLUTE/PATH/TO 프로젝트 디렉터리의 실제 절대 경로로 바꾸세요. 설치된 종속성에 접근하려면 가상 환경의 Python 인터프리터를 사용해야 합니다.

용법

클로드 데스크탑

  1. Binary Ninja를 열고 Binary Ninja MCP 플러그인을 설치하세요.
  2. Binary Ninja를 다시 시작한 다음 바이너리를 엽니다.
  3. MCP 서버를 시작합니다( Plugins > MCP Server > Start MCP Server )
  4. Claude Desktop 실행

Claude Desktop을 열면 통합이 자동으로 사용 가능해집니다.

클로드 통합

이제 Claude에게 현재 열려 있는 바이너리에 대한 메시지를 표시할 수 있습니다. 메시지 예시:

  • "현재 바이너리에 대한 바이너리 분석 보고서를 생성합니다."
  • "현재 바이너리에서 함수 X의 이름을 Y로 바꾸세요."
  • "현재 바이너리의 모든 함수를 나열합니다."
  • "로드된 바이너리의 상태는 무엇입니까?"

기타 MCP 클라이언트 통합

적절한 통합 계층을 구현하여 브리지를 다른 MCP 클라이언트와 함께 사용할 수 있습니다.

개발

프로젝트 구조는 다음과 같이 구성됩니다.

binary_ninja_mcp/ ├── bridge/ # MCP client integration ├── plugin/ # Binary Ninja plugin ├── scripts/ │ └── setup_claude_desktop.py # Setup script for Claude Desktop

기여하다

기여를 환영합니다. 풀 리퀘스트를 제출해 주세요.

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

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Binary Ninja의 역엔지니어링 기능과 LLM 지원을 원활하게 통합할 수 있는 서버로, Claude와 같은 AI 도구가 실시간으로 바이너리 분석 기능과 상호 작용할 수 있습니다.

  1. 특징
    1. 예시
      1. 이진 분석 보고서 생성
      2. 함수 이름 바꾸기
    2. 구성 요소
      1. 지원되는 통합
        1. 필수 조건
          1. 설치
            1. 바이너리 닌자 플러그인
            2. 클로드 데스크톱 브리지(선택 사항)
          2. 용법
            1. 클로드 데스크탑
            2. 기타 MCP 클라이언트 통합
          3. 개발
            1. 기여하다

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that enables AI assistants to interact with IDA Pro for reverse engineering and binary analysis tasks.
                Last updated -
                8
                14
                Python
                MIT License
                • Linux
                • Apple
              • -
                security
                F
                license
                -
                quality
                A server that provides remote binary analysis capabilities through IDA Pro's headless mode, allowing users to manage and manipulate functions, variables, and other binary elements via the Multi-Client Protocol.
                Last updated -
                3
                Python
              • A
                security
                A
                license
                A
                quality
                An MCP server that enables Cline to analyze binaries using Binary Ninja with a Personal License through a bridge implementation.
                Last updated -
                4
                4
                Python
                GPL 3.0
              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server that enables Large Language Models to interact with Binary Ninja for reverse engineering tasks like viewing assembly code, decompiled code, renaming functions, and adding comments.
                Last updated -
                2
                Python
                MIT License
                • Linux
                • Apple

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/fosdickio/binary_ninja_mcp'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server