Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
IDAssist — IDA Pro용 AI 기반 리버스 엔지니어링 플러그인 | Kitploit
도구/GitHubGitHub/symgraph/idassist
Static AnalysisVulnerability AnalysisCode AnalysisReverse EngineeringDebuggersInformation GatheringBinary AnalysisMachine LearningLearning & EducationAI-Assisted Reversing
GitHubsymgraph/idassist

IDAssist

70573123일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →

IDA Pro용 AI 기반 리버스 엔지니어링 플러그인

저장소 보기
공유

IDAssist

AI 기반 IDA Pro 리버스 엔지니어링 플러그인

Author: Jason Tang

설명

IDAssist는 LLM 기반 분석을 IDA 인터페이스에 직접 통합하는 IDA Pro 플러그인입니다. 구성 가능한 LLM 공급자, 의미론적 지식 그래프, RAG 문서 검색을 통해 AI 지원 바이너리 리버스 엔지니어링을 제공하며, 다양한 LLM 공급자를 지원합니다.

Python과 PySide6로 제작된 IDAssist는 IDA Pro 9.0+ 내에서 도킹 가능한 패널로 실행되며, LLM 공급자(OpenAI, Anthropic, Ollama, LiteLLM 등)와 통신하여 함수 분석, 이름 변경 제안, 코드에 대한 질문 응답, 전체 바이너리의 검색 가능한 지식 그래프 구축을 수행합니다.

스크린샷

핵심 기능

함수 설명 — 디컴파일된 함수에 대한 상세한 자연어 설명을 생성하며, 위험 수준, 활동 프로필, 보안 플래그, API 탐지를 포함한 자동 보안 분석을 제공합니다.

대화형 쿼리 채팅 — 지속적인 채팅 기록을 통해 바이너리에 대해 질문하세요. 컨텍스트 매크로(#func, #addr, #line, #range)를 사용하여 함수 코드, 주소 또는 디스어셈블리 범위를 쿼리에 삽입할 수 있습니다.

자동화된 작업 — 함수, 변수, 유형에 대한 AI 기반 이름 변경 제안. 신뢰도 점수가 포함된 테이블에서 제안된 변경 사항을 검토하고 선택한 작업을 IDB에 적용합니다.

의미론적 지식 그래프 — 바이너리의 함수, 호출 관계, 데이터 흐름, 보안 특성에 대한 지식 그래프를 구축하고 탐색합니다. 시각적 그래프 렌더링, 의미론적 검색, 커뮤니티 탐지를 포함합니다.

RAG 문서 검색 — 참조 문서(, , , )를 업로드하고 LLM 쿼리 중 컨텍스트로 사용합니다. Whoosh 인덱싱을 통한 하이브리드 텍스트+벡터 검색을 지원합니다.

.txt
.md
.rst
.pdf

SymGraph 통합 — 함수 이름, 변수 이름, 유형, 그래프 데이터를 SymGraph 협업 플랫폼에 푸시 및 풀합니다. 풀에 대한 충돌 해결 기능이 포함된 다단계 마법사를 제공합니다.

설정 관리 — 여러 LLM 및 MCP 공급자를 구성하고, SymGraph API 자격 증명을 관리하며, 시스템 프롬프트를 사용자 정의하고, 데이터베이스 경로를 설정합니다.

고급 기능

ReAct 에이전트

Query 탭은 자율적인 ReAct(추론 + 행동) 에이전트 모드를 지원합니다. 활성화되면 LLM이 조사 전략을 계획하고, 정보 수집을 위해 도구를 실행하며, 결과를 반영하고, 포괄적인 답변을 종합합니다. 이 모든 과정이 여러 추론 라운드에 걸쳐 자동으로 수행됩니다.

확장 사고

LLM이 응답하기 전에 "생각"하는 정도를 제어하도록 추론 노력 수준을 구성합니다.

레벨사고 예산적합한 용도
없음비활성화빠르고 간단한 쿼리
낮음~2K 토큰간단한 분석
보통~10K 토큰중간 복잡도
높음~25K 토큰심층 분석, 복잡한 코드

MCP 통합

IDAssist는 외부 MCP 서버에 연결하여 도구 기반 LLM 상호 작용을 지원합니다. 모델은 추론 중에 함수를 프로그래밍 방식으로 검사하고, 디스어셈블리를 읽고, 상호 참조를 질의하고, IDB를 수정할 수 있습니다. URL 기반 MCP 서버(SSE 또는 Streamable HTTP)와 로컬 CLI 명령으로 시작된 stdio 기반 MCP 서버를 모두 지원합니다. 또한 IDAssist는 외부 MCP 서버 없이 함수 호출을 위한 내장 내부 도구를 제공합니다.

함수 호출

도구 호출을 지원하는 LLM 공급자는 대화 중간에 IDA 분석 함수를 호출할 수 있어, 수동 개입 없이 반복적인 조사가 가능합니다.

RLHF 피드백

설명 및 쿼리 응답에 대해 긍정/부정 피드백을 제공합니다. 피드백은 로컬에 저장되며 프롬프트 엔지니어링 및 모델 선택 개선에 사용할 수 있습니다.

아키텍처

IDAssist는 MVC(모델-뷰-컨트롤러) 패턴을 따릅니다.

  • 뷰 (src/views/) — 사용자 상호 작용 시 신호를 방출하는 PySide6 탭 위젯
  • 컨트롤러 (src/controllers/) — 뷰 신호를 서비스 호출에 연결하고 상태를 관리
  • 서비스 (src/services/) — 비즈니스 로직, LLM 공급자, 데이터베이스 액세스, 그래프 분석
  • 내부 도구 (src/services/internal_tools.py) — LLM 함수 호출을 위한 IDA 특정 도구 정의
  • 그래프 도구 (src/services/graphrag/graphrag_tools.py) — LLM 상호 작용을 위한 의미론적 그래프 읽기/쓰기 도구

주요 설계 원칙:

  • 모든 IDA API 호출은 execute_on_main_thread()를 통해 메인 스레드에서 실행
  • LLM 응답은 UI에 점진적으로 스트리밍
  • 영속성을 위한 로컬 SQLite 데이터베이스(외부 데이터베이스 불필요)
  • 스레드 안전 초기화를 갖춘 싱글톤 서비스 레지스트리

빠른 시작

  1. 플러그인 설치 (권장 — IDA Plugin Manager):

    root@kitploit:~
    hcli plugin install idassist
    

    그러면 플러그인과 해당 Python 종속성이 IDA 환경에 자동으로 설치됩니다.

  2. 또는 수동 설치 (릴리스 tarball에서):

    최신 릴리스 zip을 GitHub Releases에서 다운로드하여 IDA 플러그인 디렉토리에 압축을 풉니다.

    Linux / macOS:

    root@kitploit:~
    unzip IDAssist-*.zip -d ~/.idapro/plugins/
    

    Windows: %APPDATA%\Hex-Rays\IDA Pro\plugins\에 zip 압축을 풉니다.

    그런 다음 IDA에 번들된 Python(시스템 Python이 아님)을 사용하여 종속성을 설치합니다.

    Linux / macOS:

    root@kitploit:~
    <IDA_INSTALL_DIR>/python3/bin/pip3 install -r ~/.idapro/plugins/IDAssist/requirements.txt
    

    Windows:

    root@kitploit:~
    "<IDA_INSTALL_DIR>\python3\python.exe" -m pip install -r "%APPDATA%\Hex-Rays\IDA Pro\plugins\IDAssist\requirements.txt"
    

    <IDA_INSTALL_DIR>를 IDA Pro 설치 경로(예: /opt/idapro-9.0 또는 C:\Program Files\IDA Pro 9.0)로 바꾸십시오.

    팁: IDAUSR 환경 변수를 plugins/ 하위 디렉토리를 포함하는 사용자 정의 디렉토리로 설정할 수도 있습니다.

  3. IDAssist 열기: IDA Pro를 실행하고 바이너리를 연 다음, Ctrl+Shift+A를 누르거나(또는 Edit > Plugins > IDAssist) 엽니다.

  4. 공급자 구성: Settings 탭으로 이동하여 LLM Providers에서 Add를 클릭하고 원하는 공급자를 구성합니다.

  5. 함수 분석: 원하는 함수로 이동하여 Explain 탭을 클릭하고 Explain Function을 누릅니다.

자세한 설정 지침은 Getting Started를 참조하세요.

LLM 공급자 설정

IDAssist는 다음 공급자 유형을 지원합니다.

유형인증 방법비고
anthropic_platformAPI 키Anthropic API 직접 호출
anthropic_oauthOAuth (브라우저)브라우저 기반 인증
anthropic_claude_cli로컬 CLIclaude CLI 바이너리 사용
bedrockAWS 자격 증명AWS Bedrock Converse API 직접 호출
openai_platformAPI 키OpenAI API 직접 호출
openai_oauthOAuth (브라우저)브라우저 기반 인증
ollama없음 (로컬)자체 호스팅 모델
litellm프록시 URL다중 공급자 프록시

권장 모델

공급자모델장점
Anthropicclaude-sonnet-4-6강력한 코드 분석, 확장 사고
OpenAIgpt-5.3-codex빠르고 좋은 일반 분석
Ollamaqwen2.5-coder:32b로컬, API 키 불필요

의미 그래프 사용

의미 그래프 탭은 바이너리의 지식 그래프를 제공합니다.

  1. ReIndex Binary — 함수 구조, 호출 그래프 및 상호 참조 추출
  2. Semantic Analysis — 각 함수에 대한 LLM 요약 생성
  3. Security Analysis — 취약점 패턴 및 보안 관련 API 탐지
  4. Network Flow — 호출 그래프 전반의 네트워크 작업 추적
  5. Community Detection — 관련 함수를 모듈로 그룹화

List View(호출자, 호출 수신자, 에지, 플래그), Visual Graph(N-홉 확장이 가능한 대화형 노드 다이어그램) 또는 Search(의미 검색, 유사 함수, 호출 컨텍스트 등 7가지 쿼리 유형)를 통해 그래프를 탐색할 수 있습니다.

컨텍스트 메뉴 작업

디스어셈블리 또는 의사 코드 뷰에서 마우스 오른쪽 버튼을 클릭하여 다음에 액세스합니다.

작업단축키효과
함수 설명Ctrl+Shift+EExplain 탭을 열고 설명 생성
선택 항목에 대해 질문Ctrl+Shift+Q#func 컨텍스트로 Query 탭 열기
이름 변경 제안—Actions 탭을 열고 제안 생성

요구 사항

  • IDA Pro 9.0+ (Python 3 및 PySide6 포함)
  • Hex-Rays 디컴파일러 (의사 코드 기능에 권장)
  • requirements.txt에 나열된 Python 패키지

문서

  • 문서 인덱스
  • 시작하기
  • 탭 참조: Explain | Query | Actions | Semantic Graph | RAG | Settings
  • 워크플로: Explain | Query | Semantic Graph

홈페이지

https://symgraph.ai

라이선스

자세한 내용은 LICENSE 파일을 참조하세요.

도구 다운로드