Repolode
symgraph

symgraph/GhidrAssist

리버스 엔지니어링 워크플로에 AI 기반 코드 설명, 채팅, 에이전트 분석 기능을 더하는 Ghidra용 LLM 확장 프로그램입니다.

스타
767
포크
77
열린 이슈
4
마지막 커밋
5일 전

어떤 프로젝트인가요?

GhidrAssist는 리버스 엔지니어가 대규모 언어 모델을 사용할 수 있도록 연결해 주는 Ghidra용 Java 플러그인입니다. 로컬 서버인 Ollama와 LM Studio부터 OpenAI, Anthropic, Azure 같은 클라우드 제공업체까지 OpenAI v1 호환 API라면 무엇이든 사용할 수 있습니다. 디스어셈블리나 디컴파일된 pseudo-C 코드의 함수를 설명하고, 대화 기록을 저장하면서 여러 차례 대화를 이어 가거나, 함수 컨텍스트를 포함한 사용자 지정 쿼리를 바로 실행할 수 있습니다.

기본적인 프롬프트 기능 외에도 플러그인은 명령문, 블록, 함수, 모듈, 바이너리 수준에 걸쳐 바이너리의 시맨틱 지식 그래프를 구축합니다. LLM 요약을 SQLite에 저장하고, Leiden 알고리즘으로 함수 커뮤니티를 감지하며, 위험 수준과 함께 네트워크, 파일 I/O, 암호화 API 사용을 추출합니다. ReAct 에이전트 모드는 조사 단계를 계획하고, 도구를 호출하며, 조사 결과를 종합할 수 있습니다. MCP를 지원해 GhidrAssistMCP 서버의 Ghidra 전용 도구를 사용할 수 있습니다.

이 프로젝트는 Ghidra 안에서 LLM의 도움을 받고 싶은 리버스 엔지니어와 보안 연구자를 대상으로 합니다. Ghidra 11.0 이상이 필요합니다.

핵심 기능

  • 01디스어셈블리와 디컴파일된 pseudo-C 코드에서 함수를 설명합니다.
  • 02기록을 유지하는 다중 턴 채팅을 지원합니다.
  • 03SQLite에 저장하는 계층형 시맨틱 지식 그래프를 구축합니다.
  • 04위험 수준과 함께 네트워크, 파일 I/O, 암호화 API 사용을 추출합니다.
  • 05조사 단계를 계획하고 실행하는 ReAct 에이전트를 실행합니다.
  • 06SSE를 통해 MCP 서버에 연결해 Ghidra 전용 도구를 사용합니다.

활용 사례

  • 바이너리 트리아지 중 익숙하지 않은 함수를 빠르게 파악합니다.
  • 위험 표시와 함께 바이너리에서 네트워크, 파일 또는 암호화 API 사용을 검색합니다.
  • 코드를 클라우드 서비스로 보내지 않고 독점 바이너리에 로컬 LLM을 사용합니다.
  • 함수 간 데이터 흐름 추적과 같은 여러 단계의 질문을 합니다.

빠른 시작

  1. 1

    바이너리 릴리스 ZIP을 Ghidra의 Extensions 디렉터리에 복사합니다(필요한 경우).

  2. 2

    Ghidra에서 File > Install Extension으로 이동해 GhidrAssist를 활성화합니다.

  3. 3

    CodeBrowser를 열고 GhidrAssist를 활성화한 다음, 설정에서 API 호스트와 API 키를 지정합니다.

사용 전 알아둘 점

  • OpenAI v1 호환 LLM API가 필요하며, 유료 API 키나 로컬 모델 서버가 필요할 수 있습니다.
  • Ghidra 11.0 이상이 필요합니다.
  • 에이전트 모드와 Actions를 사용하려면 도구 호출을 안정적으로 지원하는 모델이 필요합니다.

토픽

자주 묻는 질문

GhidrAssist은(는) 무엇인가요?
리버스 엔지니어링 워크플로에 AI 기반 코드 설명, 채팅, 에이전트 분석 기능을 더하는 Ghidra용 LLM 확장 프로그램입니다. GhidrAssist는 리버스 엔지니어가 대규모 언어 모델을 사용할 수 있도록 연결해 주는 Ghidra용 Java 플러그인입니다. 로컬 서버인 Ollama와 LM Studio부터 OpenAI, Anthropic, Azure 같은 클라우드 제공업체까지 OpenAI v1 호환 API라면 무엇이든 사용할 수 있습니다. 디스어셈블리나 디컴파일된 pseudo-C 코드의 함수를 설명하고, 대화 기록을 저장하면서 여러 차례 대화를 이어 가거나, 함수 컨텍스트를 포함한 사용자 지정 쿼리를 바로 실행할 수 있습니다.
GhidrAssist은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
GhidrAssist은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
GhidrAssist은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. GhidrAssist의 마지막 커밋은 2026년 10월 16일입니다.
GhidrAssist은(는) 어디에 사용할 수 있나요?
바이너리 트리아지 중 익숙하지 않은 함수를 빠르게 파악합니다. 위험 표시와 함께 바이너리에서 네트워크, 파일 또는 암호화 API 사용을 검색합니다. 코드를 클라우드 서비스로 보내지 않고 독점 바이너리에 로컬 LLM을 사용합니다. 함수 간 데이터 흐름 추적과 같은 여러 단계의 질문을 합니다.
GhidrAssist는 어떻게 설치하나요?
바이너리 릴리스 ZIP을 Ghidra의 Extensions 디렉터리에 복사합니다(필요한 경우). Ghidra에서 File > Install Extension으로 이동해 GhidrAssist를 활성화합니다. CodeBrowser를 열고 GhidrAssist를 활성화한 다음, 설정에서 API 호스트와 API 키를 지정합니다.
GhidrAssist은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/symgraph/GhidrAssist

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트