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

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

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

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

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

Категории

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

OGhidra

Репозиторий
397455 дней назадПроверено 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:~

Установка расширения 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)

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

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]
Скачать инструмент
cd OGhidraMCP "%GHIDRA_INSTALL_DIR%\support\gradle\gradlew.bat" buildExtension --info
  • Найдите собранное расширение:

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