리버스 엔지니어링용 Ghidra MCP 서버
(github.com/LaurieWired)- ghidraMCP는 대형 언어 모델(LLM)이 애플리케이션을 자율적으로 리버스 엔지니어링할 수 있도록 지원하는 Model Context Protocol (MCP) 서버
- Ghidra의 핵심 기능을 MCP 클라이언트에 노출하여 LLM이 분석 도구를 직접 활용할 수 있게 함
- 기존의 수동 분석 프로세스를 자동화함으로써 리버스 엔지니어링 속도 및 효율성 향상에 기여
- AI 기반의 보안 분석, 악성코드 분석, 바이너리 디버깅 등 다양한 분야에 활용 가능
주요 기능
-
MCP 서버 및 Ghidra 플러그인 구성
- LLM과 Ghidra 간의 연결 인터페이스 제공
- Ghidra 기능을 API 형태로 MCP 프로토콜에 노출
-
바이너리 디컴파일 및 분석
- Ghidra를 통해 ELF, PE 등 다양한 형식의 실행 파일을 디컴파일하고 분석 수행
-
자동 메서드 및 데이터 이름 지정
- 난독화되거나 이름이 없는 메서드 및 데이터에 의미 있는 이름 자동 부여
- 코드 가독성과 분석 속도 향상
-
코드 구조 조회 기능
- 메서드, 클래스, import 및 export 리스트를 추출
- 코드 흐름 및 의존성 분석에 유용함
Hacker News 의견
-
언젠가 모든 독점 바이너리를 소스 코드로 변환할 수 있는 도구가 생기길 바라는 의견이 있음. 모든 게임의 "오픈 소스" 버전을 갖는 것이 재미있을 것임
- 현재 <a href="https://github.com/Try/OpenGothic" rel="nofollow">OpenGothic</a>과 <a href="https://github.com/SFTtech/openage" rel="nofollow">openage</a> 같은 프로젝트가 있지만, 이는 커뮤니티의 오랜 노력이 필요함
-
LLMs가 코드를 해결하려면 AST-네이티브여야 한다고 생각함. 코드는 트리 구조인데, 우리는 이를 선형적으로 모델에 입력함
- 오늘날의 모델은 반복성이나 진정한 기억력이 부족하여 계층적 구조를 효과적으로 추론할 수 없음
-
현재 MCP를 호출할 수 있는 도구에 대한 질문이 있음. Claude의 데스크톱 애플리케이션이 MCP를 로컬에서 사용할 수 있다는 것을 알게 되었음
- 원격으로 MCP를 사용할 수 있는 채팅 인터페이스가 있는지 궁금함
- ChatGPT, Claude, Gemini의 웹 인터페이스에서 MCP 엔드포인트와 기능을 지정하여 서버를 원격으로 호출할 수 있기를 바람
-
Ghidra와 LLM의 이전 통합에 대한 좋은 비디오가 있었음
- Malimite – iOS 및 macOS 디컴파일러에 대한 정보가 있음
- 그녀의 유튜브 채널을 본 적이 없다면 확인해보기를 추천함. 기술적인 내용 외에도 레트로 OS 그래픽으로 편집된 것이 재미있음
-
radare2에 대한 정보도 있음
- <a href="https://github.com/dnakov/radare2-mcp" rel="nofollow">radare2-mcp</a>
-
Ghidra에서 LLM으로 복사하여 붙여넣기만 하는 경험은 성공적이지 않았음. 이러한 것들에 대한 벤치마크가 있으면 좋겠음
-
MCP 서버에 프로그램의 임의 읽기 및 쓰기와 같은 더 많은 기능이 있으면 좋겠다는 의견이 있음
- 예를 들어, XOR된 명령어를 사용하는 셀프 언패킹 CTF 챌린지를 작업 중이었음. XOR된 주소의 값을 읽을 수 있으면 좋겠음
-
모든 바이너리를 즉시 완벽하게 리버스 엔지니어링할 수 있다면 보안이 어떻게 변할지에 대한 사고 실험이 있음
-
MCP 서버의 "카탈로그"를 작업 중인 사람이 있는지 궁금함. Github에서 검색하는 것이 이를 발견하는 최선의 방법은 아님