symgraph/IDAssist

AI-Powered Reverse Engineering Plugin for IDA Pro

해결하는 문제

IDAssist는 AI 기반의 IDA Pro 플러그인으로, 복잡한 바이너리 역분석 과정을 단순화합니다. 분석가가 디컴파일된 함수의 목적을 식별하고, 바이너리의 전반적인 구조를 이해하며, AI 제안에 기반해 변수와 함수의 이름을 자동으로 변경하는 등 반복적인 작업을 자동화하는 데 도움을 줍니다.

작동 방식

이 플러그인은 IDA Pro 인터페이스에 직접 통합되어 도킹 가능한 패널로 제공됩니다. OpenAI, Anthropic, Ollama 등의 다양한 LLM 제공업체에 연결하여 코드를 분석합니다. 다음과 같은 기술을 조합하여 맥락을 제공합니다:

  • RAG (Retrieval-Augmented Generation): 사용자는 참조 문서를 업로드하여 LLM에 특정 외부 지식을 제공할 수 있습니다.
  • 세마틱 지식 그래프: 바이너리의 함수, 호출 관계, 데이터 흐름을 그래프로 구축하여 세마틱 검색과 커뮤니티 탐지가 가능합니다.
  • ReAct 에이전트: 자율적인 에이전트 모드로 조사 전략을 계획하고 바이너리에서 정보를 수집하기 위한 도구를 실행할 수 있습니다.
  • MCP 통합: Model Context Protocol (MCP) 서버를 지원하여 LLM이 디어셈블리 내용을 프로그래밍 방식으로 검사하고 IDB를 수정할 수 있도록 합니다.

대상 사용자

IDA Pro 9.0 이상을 사용하고, LLM을 활용해 컴파일된 바이너리 분석을 가속화하고자 하는 역분석 전문가 및 보안 연구자.

주요 기능

  • 자동 분석: 함수에 대한 자연어 설명을 생성하고, 보안 분석(위험 수준 및 API 탐지)을 수행합니다.
  • 인터랙티브 쿼리: 코드, 주소, 또는 디어셈블리 범위를 인젝트할 수 있는 컨텍스트 매크로가 있는 채팅 인터페이스.
  • AI 기반 이름 변경: 함수, 변수, 타입의 이름 변경을 신뢰도 점수와 함께 제안합니다.
  • 협업 통합: SymGraph 플랫폼과 데이터를 동기화하여 공동 역분석을 가능하게 합니다.
  • 유연한 LLM 지원: Ollama를 통한 로컬 모델과 LiteLLM를 통한 클라우드 API 등 다양한 제공업체와 호환됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트