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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
BinAIVulHunter — IDA PRO HexRays 디컴파일러와 OpenAI(ChatGPT)를 사용하여 바이너리에서 가능한 취약점을 찾습니다. | Kitploit
도구/GitHubGitHub/ke0z/binaivulhunter
Static AnalysisVulnerability AnalysisCode AnalysisExploitationReverse EngineeringBinary AnalysisAI-Assisted Reversing
GitHubke0z/binaivulhunter

BinAIVulHunter

IDA PRO HexRays 디컴파일러와 OpenAI(ChatGPT)를 사용하여 바이너리에서 가능한 취약점을 찾습니다.

저장소 보기
372289개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

BinAIVulHunter

바이너리에서 취약점을 찾는 데 도움이 되는 IDA PRO 플러그인입니다.

IDA PRO HexRays 디컴파일러와 OpenAI(ChatGPT)를 사용하여 바이너리에서 가능한 취약점을 찾습니다.

면책 조항: AI를 사용하여 바이너리 취약점을 찾는 과정에서 생성되는 응답에는 오탐(false positive)이 포함될 수 있습니다. 하지만 제가 진행한 많은 CTF(간단/중간 수준... 일부 어려운 수준)에서는 효과가 있었습니다.

Gepetto에서 영감을 받음 : https://github.com/JusticeRage/Gepetto

설치:

IDA Pro 플러그인 위치에 파이썬 스크립트를 넣으세요.

사용 방법:

디컴파일된 코드에서 마우스 오른쪽 버튼을 클릭하고 "Find possible vulnerability in function"을 선택하세요.

image

image

파이썬 익스플로잇 샘플 생성 기능 추가 (때로는 좋고, 때로는 형편없음)

image

Gepetto의 이름 변경 및 설명 기능 추가

image

BinAIVulHunter - IDA Pro용 AI 기반 취약점 분석 플러그인

Python IDA Pro License

BinAIVulHunter는 여러 AI 제공자(OpenAI GPT, Google Gemini, Ollama)를 활용하여 디컴파일된 함수에 대한 지능형 취약점 분석, 코드 설명, 보안 평가를 수행하는 고급 IDA Pro 플러그인입니다.

🚀 기능

  • 다중 AI 제공자 지원: OpenAI GPT, Google Gemini 또는 Ollama 선택 가능
  • 취약점 탐지: CWE(Common Weakness Enumeration, 공통 약점 열거) 분류 체계 기반 자동 스캔
  • 코드 설명: 디컴파일된 함수에 대한 AI 기반 분석 및 설명
  • 변수 이름 변경: 더 나은 변수 및 함수 이름에 대한 지능형 제안
  • 일괄 처리: 메모리 관리를 통한 바이너리 내 전체 함수 스캔
  • CWE 참조 통합: 내장 CWE 조회 및 상세 취약점 분류
  • 헤드리스 모드: 자동 분석을 위한 명령줄 지원
  • 로컬 AI 지원: Ollama를 통한 프라이버시 중심 분석(클라우드 의존성 없음)

📋 목차

  • 설치
  • AI 제공자 설정
    • OpenAI
    • Google Gemini
    • Ollama (로컬 AI)
  • 구성
  • 사용 방법
    • 대화형 모드
    • 컨텍스트 메뉴
    • 제어판
    • 헤드리스 모드
  • 취약점 분류
  • 예제
  • 문제 해결
  • 기여
  • 라이선스

🛠 설치

  1. 플러그인 다운로드:

    root@kitploit:~
    # Save BinAIVulHunter.py to your IDA Pro plugins directory
    # Typically: C:\Program Files\IDA Pro X.X\plugins\
    
  2. 기본 종속성 설치:

    root@kitploit:~
    pip install psutil
    
  3. AI 제공자 라이브러리 설치 (하나 이상 선택):

    root@kitploit:~
    # For OpenAI
    pip install openai
    
    # For Google Gemini
    pip install google-generativeai
    
    # For Ollama (local AI)
    pip install requests
    
  4. 플러그인을 로드하려면 IDA Pro를 재시작하세요.

🤖 AI 제공자 설정

OpenAI

  1. API 키 받기:

    • OpenAI API Keys 방문
    • 새 API 키 생성
  2. 환경 변수 설정:

    root@kitploit:~
    # Windows Command Prompt
    set OPENAI_API_KEY=sk-your-openai-key-here
    
    # PowerShell
    $env:OPENAI_API_KEY="sk-your-openai-key-here"
    
    # Linux/Mac
    export OPENAI_API_KEY="sk-your-openai-key-here"
    
  3. IDA Pro 재시작

Google Gemini

  1. API 키 받기:

    • Google AI Studio 방문
    • 새 API 키 생성
  2. 환경 변수 설정:

    root@kitploit:~
    # Windows Command Prompt
    set GEMINI_API_KEY=your-gemini-key-here
    
    # PowerShell
    $env:GEMINI_API_KEY="your-gemini-key-here"
    
    # Linux/Mac
    export GEMINI_API_KEY="your-gemini-key-here"
    
  3. IDA Pro 재시작

Ollama (로컬 AI)

  1. Ollama 설치:

    • Ollama.ai를 방문하여 설치 프로그램을 다운로드하세요.
    • 또는 패키지 관리자를 사용하세요:
      root@kitploit:~
      # Linux
      curl -fsSL https://ollama.ai/install.sh | sh
      
      # macOS
      brew install ollama
      
  2. Ollama 서비스 시작:

    root@kitploit:~
    ollama serve
    
  3. AI 모델 가져오기:

    root@kitploit:~
    # For general code analysis
    ollama pull llama2
    
    # For coding tasks (recommended)
    ollama pull codellama
    
    # Other specialized models
    ollama pull mistral
    ollama pull deepseek-coder
    
  4. 선택적 환경 변수:

    root@kitploit:~
    # Custom Ollama server (if not localhost:11434)
    set OLLAMA_BASE_URL=http://your-server:11434
    
    # Set default model
    set OLLAMA_MODEL=codellama
    

⚙️ 구성

환경 변수

제공자 선택

선호하는 AI 제공자를 설정하세요:

root@kitploit:~
# Use OpenAI (default)
set VULCHAT_PROVIDER=openai

# Use Google Gemini
set VULCHAT_PROVIDER=gemini

# Use Ollama (local)
set VULCHAT_PROVIDER=ollama

🎯 사용 방법

대화형 모드

  1. 바이너리 파일로 IDA Pro 열기
  2. 디컴파일러 보기로 이동 (F5)
  3. VulChat 접근 방법:
    • 메뉴: Edit → VulChat
    • 컨텍스트 메뉴: 디컴파일러 보기에서 마우스 오른쪽 버튼 클릭
    • 단축키(아래 참조)

컨텍스트 메뉴

디컴파일러 보기에서 마우스 오른쪽 버튼을 클릭하여 다음에 접근:

  • 취약점 찾기 - 현재 함수에 대한 보안 문제 분석
  • 설명 - 함수 동작에 대한 AI 설명 받기
  • 변수 이름 바꾸기 - 지능형 변수 이름 제안 받기
  • 안전한 테스트 입력 생성 - 함수에 대한 테스트 케이스 생성
  • 모두 스캔 - 바이너리 전체에 대한 일괄 취약점 스캔
  • CWE 정보 - CWE 취약점 세부 정보 조회
  • 제어판 - AI 제공자 전환 및 설정 구성

제어판

Edit → VulChat → Control Panel 또는 Ctrl+Alt+P로 접근:

  • AI 제공자 전환: OpenAI, Gemini, Ollama 간 변경
  • 모델 선택: 각 제공자에 대한 특정 모델 선택
  • 상태 정보: 현재 구성 및 제공자 가용성 확인
  • 설정 가이드: 상세 설정 지침 제공

단축키

헤드리스 모드

자동 분석 및 CI/CD 통합용:

root@kitploit:~
# Scan all functions for vulnerabilities
ida64.exe -A -S"BinAIVulHunter.py --scan-all --output results.json" binary.exe

# Decompile all functions with caching
ida64.exe -A -S"BinAIVulHunter.py --decompile-all --cache-dir ./cache" binary.exe

# Custom batch settings
ida64.exe -A -S"BinAIVulHunter.py --scan-all --batch-size 5 --function-pause 3 --batch-pause 15" binary.exe

헤드리스 매개변수

🛡️ 취약점 분류

BinAIVulHunter는 CWE-699 소프트웨어 개발 분류 체계를 기반으로 코드를 분석합니다:

📚 예제

예제 1: 기본 취약점 스캔

root@kitploit:~
# Navigate to a function in IDA Pro
# Press Ctrl+Alt+V or right-click → "Find Possible Vulnerability"

# Example output:
"""
POTENTIAL VULNERABILITIES:

1. Buffer overflow in strcpy operation
   CWE: CWE-120 | Severity: High
   Mitigation: Replace strcpy with strncpy and validate buffer sizes

2. Integer overflow in arithmetic operation
   CWE: CWE-190 | Severity: Medium  
   Mitigation: Add overflow checks before arithmetic operations
"""

예제 2: 일괄 스캔

root@kitploit:~
# Command line batch scan
ida64.exe -A -S"BinAIVulHunter.py --scan-all --output vuln_report.json" malware.exe

# Results in vuln_report.json:
{
  "scan_results": {
    "total_functions": 245,
    "vulnerable_functions": 12,
    "functions": [
      {
        "name": "sub_401000",
        "address": "0x401000", 
        "vulnerabilities": [
          {
            "description": "Unsafe string function used",
            "cwe_id": "CWE-120",
            "severity": "High",
            "mitigation": "Use safe string functions"
          }
        ]
      }
    ]
  }
}

예제 3: AI 제공자 전환

root@kitploit:~
# Set environment variables
os.environ['VULCHAT_PROVIDER'] = 'ollama'
os.environ['OLLAMA_MODEL'] = 'codellama'

# Or use Control Panel in IDA Pro:
# Edit → VulChat → Control Panel → Provider Menu → Ollama

🔧 문제 해결

일반적인 문제

  1. "Provider not available" 오류:

    root@kitploit:~
    # Check environment variables
    echo %OPENAI_API_KEY%
    echo %GEMINI_API_KEY%
    
    # Verify API keys are valid
    # Restart IDA Pro after setting variables
    
  2. Ollama 연결 실패:

    root@kitploit:~
    # Check if Ollama is running
    curl http://localhost:11434/api/tags
    
    # Start Ollama if needed
    ollama serve
    
    # Verify models are installed
    ollama list
    
  3. 일괄 처리 중 메모리 문제:

    root@kitploit:~
    # Reduce batch size in Control Panel or headless mode
    --batch-size 1 --function-pause 10
    
  4. API 속도 제한:

    root@kitploit:~
    # Increase pause times
    --function-pause 10 --batch-pause 30
    
    # Or switch to Ollama for unlimited local processing
    

디버그 정보

IDA Pro의 출력 창에서 상세 로그를 확인하세요:

  • 제공자 초기화 상태
  • API 요청/응답 정보
  • 메모리 사용 통계
  • 오류 메시지 및 스택 추적

🏆 권장 AI 모델

보안 분석용

성능 비교

🤝 기여

기여를 환영합니다! 자세한 내용은 기여 지침을 참조하세요.

개발 환경 설정

  1. 저장소 포크
  2. 포크 복제:
    root@kitploit:~
    git clone https://github.com/yourusername/BinAIVulHunter.git
    
  3. 개발 종속성 설치:
    root@kitploit:~
    pip install -e .[dev]
    
  4. 변경 사항 적용
  5. 풀 리퀘스트 제출

기여 분야

  • 추가 AI 제공자 통합
  • 향상된 취약점 탐지 패턴
  • 새로운 CWE 분류 지원
  • 성능 최적화
  • 문서 개선
  • 테스트 커버리지 확장

📄 라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다 - 자세한 내용은 LICENSE 파일을 참조하세요.

🔗 링크

  • IDA Pro: https://www.hex-rays.com/products/ida/
  • OpenAI API: https://platform.openai.com/
  • Google Gemini: https://aistudio.google.com/
  • Ollama: https://ollama.ai/
  • CWE 데이터베이스: https://cwe.mitre.org/

🙏 감사의 말

  • 훌륭한 IDA Pro 플랫폼을 제공한 Hex-Rays
  • AI 기술을 제공한 OpenAI, Google, Ollama 팀
  • 포괄적인 CWE 분류 체계를 제공한 MITRE
  • 리버스 엔지니어링 및 사이버 보안 커뮤니티

⚠️ 면책 조항: 이 도구는 교육 및 합법적인 보안 연구 목적으로만 사용하세요. 소프트웨어를 분석하기 전에 항상 적절한 권한이 있는지 확인하세요. AI 생성 분석은 수동으로 검증해야 하며 전문가의 인간 검토를 대체할 수 없습니다.

도구 다운로드
변수설명기본값필수
OPENAI_API_KEYOpenAI API 키없음OpenAI 사용 시
GEMINI_API_KEYGoogle Gemini API 키없음Gemini 사용 시
OLLAMA_BASE_URLOllama 서버 URLhttp://localhost:11434아니요
OLLAMA_MODEL기본 Ollama 모델llama2아니요
VULCHAT_PROVIDER사용할 AI 제공자openai아니요
VULCHAT_MODEL특정 모델 이름제공자 기본값아니요
OPENAI_BASE_URL사용자 지정 OpenAI 엔드포인트공식 API아니요
단축키동작
Ctrl+Alt+V취약점 찾기
Ctrl+Alt+G함수 설명
Ctrl+Alt+R변수 이름 바꾸기
Ctrl+Alt+X테스트 입력 생성
Ctrl+Alt+S전체 함수 스캔
Ctrl+Alt+WCWE 참조 조회
Ctrl+Alt+P제어판
Ctrl+F5전체 함수 디컴파일
매개변수설명기본값
--scan-all모든 함수에서 취약점 스캔-
--decompile-all모든 함수 디컴파일-
--batch-size배치당 함수 수3
--function-pause함수 간 일시 정지(초)5
--batch-pause배치 간 일시 정지(초)10
--output결과용 JSON 출력 파일없음
--cache-dir디컴파일 캐시 디렉터리없음
분류CWE ID예시
메모리 버퍼 오류CWE-1218버퍼 오버플로, use-after-free
숫자 오류CWE-189정수 오버플로, 0으로 나누기
리소스 관리CWE-399메모리 누수, 파일 핸들 누수
데이터 검증CWE-1215입력 검증, 인젝션 결함
인증CWE-1211취약한 인증, 우회
권한 부여CWE-1212권한 상승, 접근 제어
암호화 문제CWE-310취약한 암호화, 키 관리
정보 유출CWE-199데이터 노출, 부채널
오류 처리CWE-389처리되지 않은 예외, 오류 상태
초기화CWE-452초기화되지 않은 변수, 정리
제공자모델최적 용도비용
OpenAIgpt-4종합 분석$$$
OpenAIgpt-3.5-turbo빠른 일반 분석$$
Geminigemini-pro균형 잡힌 성능$$
Ollamacodellama코드 중심 분석무료
Ollamadeepseek-coder취약점 탐지무료
Ollamallama2범용무료
제공자속도정확도프라이버시비용
OpenAI GPT-4⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Gemini Pro⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Ollama⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐