x64dbg-mcp-server: 윈도우 디버거 x64dbg를 Claude로 제어하는 Zig 기반 오픈소스 MCP 서버
윈도우 대표 역공학 디버거 x64dbg를 MCP(Model Context Protocol)로 연동하는 오픈소스 플러그인 x64dbg-mcp-server를 소개합니다. Zig 기반 단일 바이너리로 Python 의존성 없이 실행 제어, 중단점, 메모리 분석, OEP 탐지 등을 AI 에이전트
윈도우 환경에서 실행 파일의 바이너리 분석과 악성코드 역공학을 수행할 때 가장 널리 쓰이는 오픈소스 사용자 모드 디버거는 단연 x64dbg(x32dbg 포함)입니다. 그러나 전통적인 디버깅 방식은 분석가가 디스어셈블리 창을 주시하며 수동으로 중단점(Breakpoint)을 설정하고, F7/F8 키로 한 줄씩 코드를 스텝 실행하며, 레지스터 변화와 메모리 스택 덤프를 직접 추적해야 하는 고강도의 반복 작업을 요구했습니다. 이러한 리버스 엔지니어링의 수작업 병목을 해소하고 Claude Code나 Claude Desktop과 같은 최신 AI 에이전트가 디버거를 직접 조작할 수 있도록 지원하는 네이티브 플러그인 프로젝트 **x64dbg-mcp-server(duty1g/x64dbg-mcp-server)**가 오픈소스로 공개되었습니다.

이미지 출처: duty1g via GitHub
이 프로젝트는 앤트로픽이 제창한 AI 도구 연동 표준 규격인 MCP(Model Context Protocol)를 x64dbg 디버거 내부 엔진에 직접 접목한 것이 특징입니다. 별도의 무거운 외부 런타임 없이 단일 DLL 형태로 디버거 플러그인 디렉터리에 설치되며, Claude가 자연어 대화 맥락 속에서 80여 개에 달하는 디버깅 제어 API를 호출해 바이너리 분석을 자율적으로 수행할 수 있는 작업 환경을 제공합니다.
Zig 언어로 구축된 제로 의존성 네이티브 플러그인 구조
기존의 역공학 자동화 플러그인들은 종종 파이썬(Python) 런타임 환경, 무거운 서드파티 라이브러리, 또는 복잡한 인터프로세스 통신(IPC) 브릿지에 의존해 왔습니다. 이로 인해 분석 환경마다 버전 충돌이 발생하거나 실행 오버헤드가 커지는 문제가 있었습니다.
x64dbg-mcp-server는 시스템 프로그래밍 언어인 Zig(지그)로 작성되어 외부 라이브러리나 추가 런타임 의존성이 전혀 없는 '제로 디펜던시(Zero-dependency)' 단일 바이너리(DLL)로 빌드됩니다.
- 프로세스 내 직접 구동: 디버거 프로세스 메모리 내부에서 직접 구동되어 오버헤드를 최소화하며, MCP 표준 통신을 위해 HTTP 및 SSE(Server-Sent Events) 기반의 경량 JSON-RPC 2.0 서버를 호스팅합니다.
- x32 및 x64 아키텍처 전면 지원: 32비트(x32dbg)와 64비트(x64dbg) 윈도우 바이너리를 모두 지원하도록 크로스 컴파일 구성이 완비되어 있어, 구형 32비트 PE 파일부터 최신 64비트 애플리케이션까지 일관된 환경에서 디버깅 세션을 열 수 있습니다.
- 별도 프레임워크 불필요: 복잡한 웹 프레임워크나 런타임 설치 없이 컴파일된 DLL 파일 하나를 디버거 플러그인 경로에 배치하는 것만으로 즉시 구동됩니다.
80여 종의 디버깅 제어 API와 자연어 역공학 워크플로우
x64dbg-mcp-server의 가장 큰 실질적 가치는 AI 에이전트가 디버거를 실시간으로 제어할 수 있도록 80여 종의 세부 디버깅 제어 도구(Tools)를 노출한다는 점입니다.
- 실행 흐름 정밀 제어: 프로그램 초기화(init), 실행(run), 일시정지(pause), 단일 스텝(step into/over), 특정 주소까지 실행(run to), 재시작(restart), 중단(stop) 등 디버거의 핵심 제어 명령을 API로 제공합니다.
- 중단점 관리: 소프트웨어 중단점뿐만 아니라 하드웨어 중단점, 메모리 중단점, 조건부 중단점 설정 및 제거를 프로그래밍 방식으로 조작할 수 있습니다.
- 메모리 및 레지스터 분석: 가상 메모리 읽기·쓰기·검색은 물론, 범용 레지스터(GPR)와 SSE/AVX 확장 레지스터 덤프를 실시간으로 조회하여 연산 결과를 추적합니다.
- 패킹 해제(OEP) 탐지: 패킹된 실행 파일의 원본 진입점(OEP, Original Entry Point) 자동 탐지, 메모리 덤프, 역어셈블리 코드 추출 및 심볼 확인을 지원합니다.
실제 분석 환경에서 분석가는 Claude Code나 Claude Desktop을 통해 "샘플을 로드하고 진입점에서 중단한 뒤, 루프를 5단계 스텝 실행하여 복호화된 메모리 버퍼의 문자열을 덤프해 줘"와 같은 직관적인 자연어 명령을 내릴 수 있습니다. 그러면 AI 에이전트가 상황에 맞는 다수의 API를 연속 호출하여 수 초 내에 레지스터와 역어셈블리 분석 결과를 도출합니다.
실무 적용 시 배포 방식과 가상머신 격리 수칙
x64dbg-mcp-server를 분석 환경에 도입할 때 필요한 구성 방식과 안전 수칙은 다음과 같습니다.
- 플러그인 배치 및 클라이언트 연결: 컴파일된 DLL 바이너리를 x64dbg 설치 폴더 내의 각 플러그인 디렉터리(
x32/plugins또는x64/plugins)에 복사하고 디버거를 실행하면 백그라운드에서 MCP 엔드포인트가 활성화됩니다. 이후 Claude Desktop 구성 파일(claude_desktop_config.json)이나 Claude Code의 MCP 설정에 해당 엔드포인트를 등록하면 양방향 통신이 수립됩니다. - 가상머신(VM) 및 샌드박스 격리 필수: AI가 디버거를 자동 제어하더라도 악성코드나 출처가 불분명한 바이너리를 분석할 때는 반드시 호스트 시스템과 분리된 가상머신(VMware, VirtualBox, Hyper-V 등)이나 격리된 샌드박스 환경 내부에서 x64dbg를 실행해야 합니다. 자동화된 스텝 실행 과정에서 악성 페이로드가 실행될 수 있으므로 호스트 보호를 위한 환경 격리는 필수적입니다.
- 역할 범위와 실무 의의: 본 도구는 분석가의 지시를 받아 반복적인 디버깅 명령을 기계적으로 대행하고 맥락 데이터를 요약해 주는 보조 시스템입니다. 최종적인 악성 행위 판정이나 취약점 공격 벡터 분석은 보안 연구원의 검증을 통해 완성되어야 합니다.
x64dbg-mcp-server는 보안 연구원과 리버스 엔지니어들이 지루한 수작업 디버깅 루틴에서 벗어나 바이너리의 아키텍처적 의도와 핵심 알고리즘 규명에 집중할 수 있도록 돕는 실용적인 오픈소스 도구입니다.
출처
- GitHub 저장소: duty1g/x64dbg-mcp-server
- x64dbg 공식 프로젝트: x64dbg Official Website
- X 오픈소스 공개 신호: @mylifcc X 포스트