x64dbg_mcp
무엇인가
x64dbg_mcp는 AI 에이전트가 x64dbg 디버거의 상태를 읽고 변경하도록 디버거 조작면 전체를 도구 호출로 노출하는 MCP 서버다. 규율 대상은 디버깅 절차다. 중단점 설정, 메모리 읽기·쓰기·할당, 디스어셈블과 어셈블, 트레이스 기록, 안티디버그 은닉, PE 덤프와 IAT 복구를 에이전트가 직접 수행하게 만든다.
어떻게 동작하나
구성은 두 계층이다. x64dbg 내부에서 C++ 플러그인(x64dbg_mcp.dp64 / .dp32)이 127.0.0.1:27042에 REST 서버를 열고, TypeScript MCP 서버가 stdio로 클라이언트와 연결해 이 엔드포인트를 중계한다. 노출 단위는 23개 mega-tool이며 내부적으로 153개 REST 엔드포인트에 대응하고, 각 도구의 입출력은 Zod로 타입이 정의된다. 에이전트는 규칙 문장을 읽는 대신 도구 스키마를 받아 호출하고, 반환된 실제 디버거 상태를 다음 판단의 근거로 쓴다.
무엇과 다른가
프롬프트에 디버깅 절차를 적어 넣거나 x64dbg 스크립트를 직접 작성하는 방식과 구조가 다르다. 전자는 에이전트가 디버거 상태를 조회할 수 없어 추측에 머물고, 후자는 사람이 매번 스크립트를 작성해야 한다. 이 스킬은 규칙 파일이 아니라 실행 계층이다. 규칙을 주입해 행동을 제한하는 대신, 에이전트가 호출할 수 있는 조작 API 집합을 제공해 관찰과 실행을 같은 루프 안에 넣는다.
어떻게 쓰나
플러그인 DLL을 x64dbg/x64/plugins/ 또는 x32/plugins/에 넣거나 .\build.ps1 -Install로 빌드·설치한다. x64dbg를 실행하면 로그에 [MCP] x64dbg MCP Server started on 127.0.0.1:27042가 출력된다. 클라이언트 쪽은 mcpServers 항목에 npx -y x64dbg-mcp-server를 stdio로 등록한다(Claude Code는 cmd /c 래퍼가 필요하고, Claude Desktop·Cursor·Windsurf·Cline은 래퍼 없이 같은 블록을 쓴다). 대상 프로세스를 x64dbg에 열고 자연어로 요청하면 된다.
전제와 한계
x64dbg가 설치된 Windows에서만 동작하며, MCP를 지원하는 클라이언트(Claude Code·Claude Desktop·Cursor·Windsurf·Cline)가 필요하다. 플러그인이 로드된 x64dbg 인스턴스가 없으면 도구는 아무 동작도 하지 못한다. 통신은 127.0.0.1로 한정되고 원격 접근과 텔레메트리는 없다. 같은 머신의 다른 로컬 프로세스로부터 보호하려면 플러그인 Settings에서 토큰을 설정하고 X64DBG_MCP_TOKEN으로 전달해야 하며, 설정 전에는 인증 없이 엔드포인트가 열려 있다.