Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
OGhidra — OGhidra соединяет большие языковые модели (LLMs) через Ollama с платформой обратной инженерии Ghidra, обеспечивая AI-управляемый анализ бинарного кода с помощью естественного языка. Взаимодействуйте с Ghidra, используя запросы на естественном языке, и автоматизируйте сложные рабочие процессы обратной инженерии. | Kitploit
Инструменты/GitHubGitHub/llnl/oghidra
Анализ уязвимостейОбратная инженерияОтладчикиАнализ вредоносных программАнализ Бинарных ФайловМашинное ОбучениеОбучение и ОбразованиеОбратная Разработка с Помощью ИИ
GitHubllnl/oghidra

OGhidra

Репозиторий
39745618 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

Описание

OGhidra соединяет большие языковые модели (LLMs) через Ollama с платформой обратной инженерии Ghidra, обеспечивая AI-управляемый анализ бинарного кода с помощью естественного языка. Взаимодействуйте с Ghidra, используя запросы на естественном языке, и автоматизируйте сложные рабочие процессы обратной инженерии.

Поделиться

OGhidra 3 — Обратная разработка с помощью ИИ и Ghidra

Для версии с использованием Orchestrator, вдохновлённого Claude, см. https://github.com/llnl/OGhidra/tree/orchestrator

Python Version License PRs Welcome

OGhidra объединяет большие языковые модели с платформой обратной разработки Ghidra, позволяя выполнять анализ бинарных файлов с помощью ИИ на естественном языке. Анализируйте бинарные файлы в диалоговом режиме, автоматизируйте сложные рабочие процессы и сохраняйте полную конфиденциальность с помощью локальных моделей ИИ.

YouTube Setup Tutorial

OGhidra Introduction


Что такое OGhidra?

OGhidra расширяет возможности Ghidra с помощью ИИ, что позволяет вам:

  • Анализ на естественном языке — Задавайте вопросы о функциях, строках, импортах на простом английском
  • Автоматизированные рабочие процессы — Переименовывайте функции, обнаруживайте шаблоны, создавайте комплексные отчёты
  • Локальные модели ИИ — Полная конфиденциальность с моделями, работающими на вашем оборудовании (Ollama)
  • Поддержка облачных ИИ — Подключайтесь к внешним API (OpenAI, Google Gemini, Anthropic Claude)
  • Обнаружение вредоносного ПО — Автоматическое сопоставление шаблонов для 12+ методов обхода и инъекций
  • Умное перечисление — Построение запрашиваемых графов знаний из анализа бинарных файлов
  • Многопоточный анализ — Запуск нескольких экземпляров Ghidra для параллельного анализа
  • Как это работает

    root@kitploit:~
    graph TD
        A[User Query] --> B[Planning Phase]
        B --> C{Execution Phase}
        C -- Tool Calls --> D[Ghidra/LLM]
        D --> C
        C --> E[Review Phase]
        E -- Agentic Loop --> B
        E --> F[Final Response]
    
        style E fill:#f9f,stroke:#333,stroke-width:2px
        style B fill:#bbf,stroke:#333,stroke-width:2px

    Агентный цикл: OGhidra использует адаптивную систему планирования. После каждого цикла выполнения результаты анализируются, и ИИ может решить собрать больше информации или уточнить анализ, прежде чем предоставить окончательный ответ.


    Быстрый старт

    Предварительные требования

    1. Python 3.12+ — Проверьте версию: python --version
    2. Ghidra 12.0.3 (рекомендуется) — Скачайте из Ghidra Releases
      • Путь сборки/установки плагина описан для Ghidra 12.0.3
      • Протестировано с: Ghidra 11.0.3, 11.3.2, 12.0.2, 12.0.3
    3. Java 21 — Необходима для сборки расширения Ghidra 12.0.3: java -version
    4. Ollama (опционально, для локальных моделей) — Установите с ollama.com

    Установка

    root@kitploit:~
    # Clone repository
    git clone https://github.com/LLNL/OGhidra.git
    cd OGhidra
    
    # Install dependencies (choose one)
    uv sync                          # Using UV (recommended)
    pip install -r requirements.txt  # Using pip
    
    # Configure environment
    cp .env.example .env
    # Edit .env with your settings
    

    Настройка плагина Ghidra

    Шаги сборки плагина OGhidraMCP ниже предназначены для Ghidra 12.0.3 (рекомендуется). Также есть видеоурок на YouTube: https://www.youtube.com/watch?v=hBD92FUgR0Y

    Сборка расширения GhidraMCP

    В качестве разработчика вам нужно собрать расширение GhidraMCP перед установкой в Ghidra:

    1. Предварительные требования:

      • Установлена Ghidra 12.0.3
      • Java 21
    2. Вариант 1: Использование автоматизированных скриптов сборки:

      • Windows:

        root@kitploit:~
        # Set the path to your Ghidra installation (will attempt to find last run copy of Ghidra if not set)
        set GHIDRA_INSTALL_DIR=C:\path\to\ghidra_12.0.3_PUBLIC
        
        # Run the build script
        build_ghidra_plugin.bat
        
      • Unix/Linux/Mac:

        root@kitploit:~
        # Set the path to your Ghidra installation (will attempt to find the last run copy of Ghidra if not set)
        export GHIDRA_INSTALL_DIR=/path/to/ghidra_12.0.3_PUBLIC
        
        # Run the build script (make it executable first if needed)
        chmod +x build_ghidra_plugin.sh
        ./build_ghidra_plugin.sh
        
    3. Вариант 2: Ручная сборка:

      • Создайте/обновите OGhidraMCP/gradle.properties, указав путь к установленной Ghidra:

        root@kitploit:~
        GHIDRA_INSTALL_DIR=/absolute/path/to/ghidra_12.0.3_PUBLIC
        
      • На Unix/Linux/macOS:

        root@kitploit:~
        cd OGhidraMCP
        $GHIDRA_INSTALL_DIR/support/gradle/gradlew buildExtension --info
        
      • На Windows:

        root@kitploit:~
        cd OGhidraMCP
        "%GHIDRA_INSTALL_DIR%\support\gradle\gradlew.bat" buildExtension --info
        
    4. Найдите собранное расширение:

      • Zip-архив расширения создаётся в OGhidraMCP/dist/
      • Имя файла будет примерно таким: ghidra_12.0.3_PUBLIC_YYYYMMDD_OGhidraMCP.zip

    Установка расширения GhidraMCP

    После успешной сборки расширения:

    1. Установка в Ghidra:

      • Откройте Ghidra -> File -> Install Extensions
      • Нажмите Add Extension (зелёный плюс)
      • Перейдите в каталог OGhidraMCP/dist/
      • Выберите только что собранный zip-архив расширения (например, ghidra_12.0.3_PUBLIC_YYYYMMDD_OGhidraMCP.zip)
      • Перезапустите Ghidra
    2. Включите плагин:

      • Откройте проект Ghidra
      • File → Configure → Enable Developer
      • Включите плагин OGhidraMCP
      • Сервер запустится на http://localhost:8080/methods

      НЕОБХОДИМО, ЧТОБЫ CODE BROWSER БЫЛ ОТКРЫТ

    Загрузка моделей ИИ

    root@kitploit:~
    # For Ollama (local models)
    ollama pull gemma3:27b           		# Good balance (20GB RAM)
    ollama pull nomic-embed-text     		# Embedding model for RAG
    
    # Alternative models
    ollama pull gpt-oss:120b         		# High quality (80GB RAM)
    ollama pull devstral-2:123b 			# High quality (80GB RAM)
    ollama pull devstral-2:123b-cloud       # Cloud Model
    

    Запуск OGhidra

    root@kitploit:~
    # GUI Mode (recommended)
    uv run main.py --ui
    
    # Interactive CLI
    uv run main.py --interactive
    
    # In interactive CLI, test connection
    health
    

    Если вы запустили режим GUI, используйте:

    root@kitploit:~
    curl http://localhost:8080/methods
    

    Конфигурация

    Отредактируйте .env, чтобы настроить поставщика ИИ:

    Вариант 1: Локальные модели (Ollama)

    root@kitploit:~
    LLM_PROVIDER=ollama
    OLLAMA_BASE_URL=http://localhost:11434/
    OLLAMA_MODEL=gemma3:27b
    OLLAMA_EMBEDDING_MODEL=nomic-embed-text
    

    Вариант 2: Внешние API

    root@kitploit:~
    LLM_PROVIDER=external
    EXTERNAL_PROVIDER=google
    EXTERNAL_API_KEY=your-api-key-here
    EXTERNAL_MODEL=gemini-3.1-flash-lite-preview
    EXTERNAL_EMBEDDING_MODEL=gemini-embedding-001
    

    Вариант 3: Пользовательское API, совместимое с OpenAI

    root@kitploit:~
    LLM_PROVIDER=custom_api
    CUSTOM_API_URL=https://api.example.com/v1/chat/completions
    CUSTOM_API_KEY=your-api-key-here
    CUSTOM_API_MODEL=your-model-name
    CUSTOM_API_EMBEDDING_MODEL=your-embedding-model
    

    Настройки управления контекстом

    Настройте в зависимости от контекстного окна вашей модели:

    root@kitploit:~
    # Context budget in tokens (adjust to your model's limit)
    CONTEXT_BUDGET=100000              # 100K tokens for mid-size models
                                       # 200K+ for frontier models
    
    # Execution settings
    MAX_EXECUTION_STEPS=5              # Steps per planning cycle
    MAX_AGENTIC_CYCLES=3               # How many plan-execute-review loops
    AGENTIC_LOOP_ENABLED=true          # Enable adaptive replanning
    

    Ключевые возможности

    1. Умные кнопки инструментов (GUI)

    Доступ к типовым задачам обратной разработки одним щелчком:

    ИнструментОписание
    Анализ текущей функцииДетальное изучение поведения выбранной функции
    Переименовать текущую функциюИИ предлагает осмысленные названия на основе анализа
    Переименовать все функцииПакетное переименование с опциями Smart/Full/Rename-Only
    Анализ импортовОпределение библиотек и внешних зависимостей
    Анализ строкПоиск URL, учётных данных, конфигурационных данных
    Создать отчётКомплексная оценка безопасности

    2. Режимы задач

    Установите специализированные цели анализа:

    root@kitploit:~
    # In GUI: Use "Task Mode" dropdown
    # In CLI: set task_mode <mode>
    
    task_mode malware      # Malware analysis with pattern detection
    task_mode vuln         # Vulnerability research focus
    task_mode general      # General reverse engineering
    

    3. Обнаружение вредоносных шаблонов

    Автоматическое обнаружение 12+ вредоносных шаблонов:

    • Уклонение: PEB Walking, Dynamic API Resolution, Anti-Debug, Anti-VM
    • Инъекция: Process Injection (Local/Remote)
    • Персистентность: Registry, File System Hooks
    • Обфускация: String Encoding, API Hashing
    • Повышение привилегий: Token manipulation, UAC bypass

    Шаблоны автоматически вызывают оповещения в контексте ИИ с привязкой к MITRE ATT&CK.

    4. Умное перечисление

    Создавайте богатые, запрашиваемые знания из анализа бинарных файлов:

    root@kitploit:~
    # Enumerate all functions with AI summaries
    # Choose from:
    - Rename Only: Only process generic function names
    - Smart Enumeration: Focus on security-relevant functions
    - Full Enumeration: Analyze every function in the binary
    

    Возможности:

    • Структурированное извлечение метаданных (LOC, сложность, операции)
    • Оптимизация семантического поиска
    • Сборка контекста на основе намерений
    • Многовекторная поддержка для точного извлечения

    5. Управление сеансами

    Сохраняйте и восстанавливайте сеансы анализа:

    root@kitploit:~
    # Save progress
    File → Save Session
    
    # Load previous work
    File → Load Session
    
    # Auto-save after bulk operations
    # Sessions include:
    - Analyzed functions with summaries
    - RAG vectors for semantic search
    - Performance statistics
    - UI state
    

    Настройка бэкенда

    OGhidra поддерживает два типа бэкенда:

    • MCP — Интегрируется с сервером GhidraMCP и требует запущенного клиента Ghidra во время анализа
    • PyGhidra — Поддерживает безголовый анализ (headless) без клиента Ghidra и устраняет серверный компонент, необходимый для MCP

    Выбор бэкенда

    Используйте следующий параметр командной строки для выбора бэкенда:

    root@kitploit:~
    --ghidra-backend={http,pyghidra}
    
    Параметр бэкендаОписание
    httpИспользует бэкенд GhidraMCP
    pyghidraИспользует бэкенд PyGhidra

    Конфигурация PyGhidra

    Использование существующего проекта Ghidra

    Укажите файл проекта Ghidra (.gpr) при запуске OGhidra:

    root@kitploit:~
    --pyghidra-project=/path/to/project.gpr
    

    PyGhidra требует действительный проект Ghidra для запуска OGhidra.


    Выбор программы

    Укажите, какой бинарный файл внутри проекта Ghidra должен анализироваться:

    root@kitploit:~
    --pyghidra-program=<program_name>
    

    пример вызова для выбора программы в проекте Ghidra:

    root@kitploit:~
    uv run main.py --ui --ghidra-backend=pyghidra --pyghidra-project=/path/to/project.gpr --pyghidra-program=<program_name>
    

    Требования:

    • Имя программы должно точно соответствовать имени, отображаемому в GUI проекта Ghidra
    • Этот параметр обязателен при использовании существующего проекта
    • Неуказание программы предотвратит запуск OGhidra

    Запуск бинарного файла напрямую

    Вы также можете указать путь к бинарному файлу напрямую:

    root@kitploit:~
    --pyghidra-binary=/path/to/binary
    

    При использовании этого параметра PyGhidra автоматически:

    1. Создаёт новый проект Ghidra (.gpr)
    2. Импортирует бинарный файл
    3. Запускает бинарный файл в OGhidra для анализа

    пример вызова для прямого запуска бинарного файла:

    uv run main.py --ui --ghidra-backend=pyghidra --pyghidra-binary=/path/to/binary


    Типовые рабочие процессы

    Анализ подозрительного бинарного файла

    1. Загрузите бинарный файл в Ghidra и откройте в CodeBrowser
    2. Включите плагин OGhidraMCP (File → Configure)
    3. Запустите OGhidra: uv run main.py --ui
    4. Установите режим задачи: Выберите "malware" из выпадающего списка
    5. Запустите умное перечисление: Нажмите "Rename All Functions" → "Smart Enumeration"
    6. Задавайте вопросы: "Какие функции с высоким риском?" или "Покажите сетевые взаимодействия"

    Создание отчёта безопасности

    root@kitploit:~
    # In GUI: Click "Generate Report" button
    # Report includes:
    - Executive Summary
    - Function Inventory (renamed functions with behavior)
    - Security Analysis (high-risk functions, patterns)
    - Import Analysis
    - String Analysis
    - Recommendations
    

    Исследование конкретной функции

    1. Перейдите к функции в Ghidra
    2. Нажмите "Analyze Current Function"
    3. Задавайте уточняющие вопросы:
      • "Что делает эта функция?"
      • "Уязвима ли она для переполнения буфера?"
      • "Какие другие функции вызывают эту?"

    Расширенные возможности

    RAG (Генерация с дополнением извлечением)

    OGhidra использует векторные эмбеддинги для семантического поиска по проанализированным функциям:

    root@kitploit:~
    # Enable in .env
    RESULT_CACHE_ENABLED=true
    TIERED_CONTEXT_ENABLED=true
    

    Преимущества:

    • Запоминание предыдущих анализов между сеансами
    • Поиск семантически похожих функций
    • Снижение избыточных вызовов LLM

    Оптимизация контекста

    Многоуровневое сжатие контекста сохраняет релевантную информацию:

    root@kitploit:~
    CURRENT_LOOP_MAX_CHARS=2000   # Recent: full detail
    PREV_LOOP_MAX_CHARS=400       # Previous: summaries
    OLDER_LOOP_MAX_CHARS=100      # Older: references only
    

    Логирование LLM

    Отслеживайте все взаимодействия с ИИ для отладки:

    root@kitploit:~
    LLM_LOGGING_ENABLED=true
    LLM_LOG_FILE=logs/llm_interactions.log
    LLM_LOG_FORMAT=json
    

    Устранение неполадок

    Проблемы подключения к Ghidra

    root@kitploit:~
    # Verify plugin is loaded
    # Open up codebrowser!
    
    # Check server is running
    curl http://localhost:8080/methods
    

    Проблемы подключения к Ollama

    root@kitploit:~
    # Verify Ollama is running
    ollama list
    
    # Check connectivity
    curl http://localhost:11434/api/tags
    
    # Restart Ollama service
    ollama serve
    

    Пустые ответы / Переполнение контекста

    root@kitploit:~
    # Reduce context budget
    CONTEXT_BUDGET=50000
    
    # Enable compaction
    COMPACTION_ENABLED=true
    COMPACTION_THRESHOLD=0.75
    

    Низкая производительность

    1. Используйте меньшие модели: Переключитесь на gemma3:9b
    2. Уменьшите количество параллельных рабочих процессов: Установите max_workers=2 в пакетных операциях
    3. Отключите векторные эмбеддинги: RESULT_CACHE_ENABLED=false
    4. Увеличьте задержку запросов: CUSTOM_API_REQUEST_DELAY=2.0

    Обзор архитектуры

    root@kitploit:~
    ┌─────────────────────────────────────────────────────────────┐
    │                        OGhidra UI                           │
    │                  (GUI / Interactive CLI)                    │
    └────────────────────────┬────────────────────────────────────┘
                             │
                             ▼
    ┌─────────────────────────────────────────────────────────────┐
    │                   Bridge (src/bridge.py)                    │
    │  ┌────────────────────────────────────────────────────────┐ │
    │  │ • Agentic Loop: Plan → Execute → Review → Replan       │ │
    │  │ • Tool Router: Ghidra client, LLM client, CAG manager  │ │
    │  │ • Context Manager: Budget allocation, compression      │ │
    │  └────────────────────────────────────────────────────────┘ │
    └───────────┬────────────────────────┬────────────────────────┘
                │                        │
                ▼                        ▼
    ┌───────────────────────┐  ┌─────────────────────────┐
    │   Ghidra Client       │  │   LLM Clients           │
    │ • GhidraMCP Plugin    │  │ • Ollama (local)        │
    │ • Binary operations   │  │ • External APIs         │
    │ • Decompilation       │  │ • Custom endpoints      │
    └───────────────────────┘  └─────────────────────────┘
                │                        │
                └────────────┬───────────┘
                             ▼
    ┌─────────────────────────────────────────────────────────────┐
    │               CAG Manager (Knowledge System)                │
    │  ┌────────────────────────────────────────────────────────┐ │
    │  │ • Vector Store: Semantic search over functions         │ │
    │  │ • Pattern Detector: 12+ malware techniques             │ │
    │  │ • Metadata Extractor: Structured function analysis     │ │
    │  │ • Session Store: Persistent analysis state             │ │
    │  └────────────────────────────────────────────────────────┘ │
    └─────────────────────────────────────────────────────────────┘
    

    Вклад в проект

    Мы приветствуем вклад! Интересующие области:

    • Новые вредоносные шаблоны для обнаружения
    • Интеграции поставщиков LLM
    • Улучшения UI/UX
    • Оптимизация производительности
    • Документация и примеры

    См. CODE_OF_CONDUCT.md для правил сообщества.


    Цитирование

    Если вы используете OGhidra в своём исследовании, пожалуйста, цитируйте:

    root@kitploit:~
    @software{oghidra2025,
      title = {OGhidra: AI-Powered Reverse Engineering with Ghidra},
      author = {Enoch Wang},
      year = {2025},
      url = {https://github.com/LLNL/OGhidra}
    }
    

    Благодарности

    OGhidra основан на отличных проектах с открытым исходным кодом:

    • Ghidra — Платформа обратной разработки от АНБ
    • Ollama — Локальная среда выполнения LLM
    • LaurieWired/GhidraMCP — Исходный плагин Ghidra MCP
    • starsong/GhydraMCP — Улучшенная реализация MCP

    Лицензия

    OGhidra распространяется на условиях лицензии BSD 3-Clause с альтернативной коммерческой лицензией.

    См. LICENSE и NOTICE.md для подробностей.

    LLNL-CODE-2013290


    Поддержка

    • Проблемы: GitHub Issues
    • Обсуждения: GitHub Discussions
    • Пишите мне напрямую: [email protected]
    Скачать инструмент