Ghidra Copilot
Ghidra용 AI 지원 컴패니언입니다. 현재 프로그램에 관한 질문에 답하고, 다음 단계를 제안하며, 대화에서 직접 작은 분석 도구를 실행할 수 있는 채팅 패널을 내장합니다.
기능
- 열려 있는 프로그램과 컨텍스트를 유지하는 Ghidra 내부 채팅.
- 심볼 검색, 데이터 추출, 리팩토링 도우미를 위한 도구 호출.
- Spring AI를 통해 OpenAI, Azure OpenAI, Anthropic, Ollama에서 작동합니다.
스크린샷
- 채팅 패널: 스크린샷 준비 중
- 도구 결과: 스크린샷 준비 중
요구 사항
- Ghidra 11.4.2 이상 호환 버전
- Java 17 이상
- 네트워크 접근 또는 Spring AI가 지원하는 온프레미스 모델 엔드포인트
설치
GHIDRA_INSTALL_DIR을 Ghidra 경로로 설정합니다.
- Linux/WSL:
export GHIDRA_INSTALL_DIR=/absolute/path/to/ghidra_11.4.2_PUBLIC
- Windows PowerShell:
$env:GHIDRA_INSTALL_DIR = "D:\\tools\\ghidra_11.4.2_PUBLIC"
- 확장 프로그램을 빌드합니다.
- Linux/WSL:
./gradlew buildExtension
- Windows PowerShell:
.\\gradlew buildExtension
- Ghidra의 Install Extensions 대화상자를 통해
dist/에서 생성된 zip을 설치합니다.
모델 구성
Ghidra 내부에서 Tool Options > Ghidra Copilot을 열어 공급자를 선택하고 API 키/기본 URL/모델 이름을 입력합니다. 설정은 Ghidra 사용자 디렉터리에 저장되며 다음 실행 시 재사용됩니다:
- OpenAI: API 키(선택적 기본 URL/모델 재정의)
- Azure OpenAI: API 키, 엔드포인트, 디플로이먼트, 선택적 모델
- Anthropic: API 키, 모델
- Ollama: 기본 URL, 모델
사용 방법
- Ghidra를 열고 도구 창에서 Ghidra Copilot을 활성화합니다.
- 현재 프로그램에 대해 질문합니다. 필요 시 도구 호출이 자동으로 실행됩니다.
- 패널 설정을 사용하여 모델 공급자 또는 키를 전환합니다.