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

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

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

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

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

Категории

Все категории
Loading categories
GhidrAssist — Расширение LLM для Ghidra, обеспечивающее AI-помощь в реверс-инжиниринге. | Kitploit
Инструменты/GitHubGitHub/symgraph/ghidrassist
Статический анализАнализ уязвимостейОбратная инженерияОтладчикиАнализ вредоносных программАнализ Бинарных ФайловОбучение и ОбразованиеОбратная Разработка с Помощью ИИ
GitHubsymgraph/ghidrassist

GhidrAssist

Расширение LLM для Ghidra, обеспечивающее AI-помощь в реверс-инжиниринге.

Репозиторий
6976293 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

GhidrAssist

Автор: Jason Tang

Расширенный плагин на основе LLM для интерактивной помощи в реверс-инжиниринге в Ghidra.

Описание

GhidrAssist интегрирует большие языковые модели (LLM) в Ghidra для обеспечения интеллектуальной помощи при исследовании бинарных файлов и реверс-инжиниринге. Он поддерживает любой API, совместимый с OpenAI v1, включая локальные модели (Ollama, LM-Studio, Open-WebUI) и облачных провайдеров (OpenAI, Anthropic, Azure).

Ключевые особенности

Основная функциональность:

  • Объяснение кода — объяснение функций и инструкций как в дизассемблере, так и в декомпилированном псевдокоде C
    • Панель анализа безопасности, показывающая уровень риска, профиль активности и использование API
    • Редактируемые сводки с защитой от автоматической перезаписи пользовательских правок
  • Интерактивный чат — многоэтапные диалоговые запросы с сохранением истории чата
  • Пользовательские запросы — прямые запросы к LLM с опциональным контекстом текущей функции/местоположения

Система знаний Graph-RAG:

  • Семантический граф знаний — иерархическое представление анализа бинарных файлов
    • 5-уровневая семантическая иерархия: Statement → Block → Function → Module → Binary
    • Предварительно вычисленные сводки LLM обеспечивают быстрые запросы без LLM
    • Постоянное хранение в SQLite с алгоритмами графов JGraphT
    • Полнотекстовый поиск (FTS5) по сводкам и аннотациям безопасности
  • Обнаружение сообществ — автоматическое обнаружение модулей с помощью алгоритма Лейдена
  • Группирует связанные функции в логические модули
  • Иерархическая структура сообществ со сводками
  • Визуальное исследование графа с настраиваемой глубиной
  • Извлечение функций безопасности — всесторонний анализ безопасности
    • Сетевые API: POSIX sockets, WinSock, DNS, SSL/TLS, WinHTTP, WinINet
    • API ввода/вывода файлов: POSIX, Windows, функции библиотеки C
    • Крипто API: OpenSSL, Windows crypto, платформенно-зависимые
    • Строковые шаблоны: IP-адреса, URL, домены, пути к файлам, ключи реестра
    • Классификация уровня риска (LOW/MEDIUM/HIGH) и профилирование активности
  • Вкладка семантического графа — визуальный интерфейс графа знаний
    • Представление графа с исследованием глубины N-hop
    • Представление списка всех индексированных функций
    • Семантический поиск по сводкам
    • Переиндексация и анализ безопасности в один клик
  • Расширенные возможности:

    • Управление расширенным мышлением/рассуждением — настройка глубины рассуждения LLM для компромисса между качеством и скоростью
      • Поддержка OpenAI o1/o3/o4, Claude с расширенным мышлением и локальных моделей рассуждения
      • Настраиваемые уровни усилий: Low (быстрый), Medium (сбалансированный), High (тщательный)
      • Сохранение для каждой программы — разные бинарные файлы могут использовать разные уровни рассуждения
      • Независимая от провайдера реализация (Anthropic, OpenAI, Azure, LiteLLM, LMStudio, Ollama)
    • Агентный режим ReAct — автономное исследование с использованием структурированного рассуждения (Think-Act-Observe)
      • LLM предлагает шаги расследования на основе вашего запроса
      • Систематическое выполнение инструментов с отслеживанием прогресса через списки дел
      • Сохранение истории итераций, показывающей все шаги расследования
      • Финальный синтез с полным ответом и ключевыми выводами
      • Точные метрики (итерации, вызовы инструментов, продолжительность)
    • Интеграция MCP — клиент протокола контекста модели для инструментального анализа
      • Работает с GhidrAssistMCP для инструментов, специфичных для Ghidra
      • Диалоговый вызов инструментов с автоматическим выполнением функций
      • Поддержка транспорта SSE (Server-Sent Events)
    • Вызов функций — LLM может автономно навигировать по бинарным файлам и изменять анализ
      • Переименовывать функции и переменные
      • Переходить к адресам и перекрестным ссылкам
      • Выполнять команды Ghidra
    • Вкладка действий — предложение и применение массовых улучшений анализа
      • Обнаружение уязвимостей безопасности
      • Анализ качества кода
      • Автоматизированные предложения по рефакторингу
    • RAG (Retrieval Augmented Generation) — улучшение запросов с помощью контекстных документов
      • Добавление пользовательской документации, заметок об эксплойтах, ссылок на архитектуру
      • Полнотекстовый поиск на основе Lucene
      • Внедрение контекста в запросы
    • Генерация набора данных RLHF — сбор обратной связи для тонкой настройки модели

    Архитектура

    Плагин использует модульную сервис-ориентированную архитектуру:

    Основные сервисы:

    • Режимы запросов: Обычные запросы, расширенные MCP или полное агентное исследование
    • Оркестратор ReAct: Управляет автономными циклами исследования с отслеживанием задач и накоплением результатов
    • Обработчик диалоговых инструментов: Управляет многоэтапными сеансами вызова инструментов
    • MCPToolManager: Взаимодействует с внешними MCP-серверами для специализированных инструментов

    Бэкенд Graph-RAG:

    • BinaryKnowledgeGraph: Гибридное хранилище SQLite + JGraphT для семантических знаний
    • GraphRAGEngine: Движок запросов без LLM, использующий предварительно вычисленные сводки
    • SemanticExtractor: Суммирование функций на основе LLM с пакетной обработкой
    • SecurityFeatureExtractor: Статический анализ для сетевых API, ввода-вывода файлов и крипто API
    • CommunityDetector: Реализация алгоритма Лейдена для обнаружения модулей

    Уровень данных:

    • AnalysisDB: База данных SQLite для истории чата, обратной связи RLHF и графов знаний
    • SchemaMigrationRunner: Версионные миграции базы данных для прозрачных обновлений
    • RAGEngine: Поиск документов на основе Lucene для внедрения пользовательского контекста

    Компоненты пользовательского интерфейса:

    • Интерфейс на основе вкладок: Explain, Query, Actions, Semantic Graph, RAG Management, MCP Servers
    • Оркестровка сервисов через TabController

    План развития:

    • Тонкая настройка модели с использованием собранного набора данных RLHF
    • Дополнительные интеграции инструментов MCP
    • Улучшенные агентные возможности, многоагентное сотрудничество
    • Поиск по сходству на основе эмбеддингов

    Скриншоты

    Screenshot

    https://github.com/user-attachments/assets/bd79474a-c82f-4083-b432-96625fef1387

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

    • При необходимости скопируйте ZIP-архив бинарного релиза в каталог Ghidra_Install/Extensions/Ghidra.
    • Запустите Ghidra -> File -> Install Extension -> Enable GhidrAssist.
    • Загрузите бинарный файл и запустите CodeBrowser.
    • CodeBrowser -> File -> Configure -> Miscellaneous -> Enable GhidrAssist.
    • CodeBrowser -> Window -> GhidraAssistPlugin.
    • Убедитесь, что пути к базам данных RLHF и RAG соответствуют вашему окружению.
    • Укажите хост API вашему предпочтительному провайдеру API и установите ключ API.
    • (Опционально) На вкладке Analysis Options установите уровень усилий рассуждения (None/Low/Medium/High) для моделей, поддерживающих расширенное мышление.
    • Откройте GhidrAssist с помощью опции GhidrAssist в меню Windows и начинайте исследование.

    Настройка LLM

    GhidrAssist работает с любым API, совместимым с OpenAI v1. Детали настройки зависят от провайдера - вот некоторые полезные ресурсы:

    Локальные провайдеры LLM:

    • LM Studio - Простое локальное размещение моделей с графическим интерфейсом
    • Ollama - Управление локальными моделями из командной строки
    • Open-WebUI - Веб-интерфейс для локальных моделей

    Облачные провайдеры:

    • OpenAI API
    • Anthropic Claude
    • Azure OpenAI

    Прокси LiteLLM (Многопровайдерный шлюз):

    • LiteLLM - Единый API для более чем 100 провайдеров LLM
    • Поддерживает AWS Bedrock, Google Vertex AI, Azure и многие другие
    • Выберите "LiteLLM" в качестве типа провайдера в настройках GhidrAssist
    • Автоматическое определение семейства моделей для правильного форматирования сообщений

    Рекомендуемые модели

    Для агентного режима (требует сильного мышления и использования инструментов):

    • Cloud: GPT-5.1, Claude Sonnet 4.5
    • Local: GPT-OSS, Llama 3.3 70B, DeepSeek-R1 70B, Qwen2.5 72B

    Модели с поддержкой расширенного мышления/рассуждения:

    • OpenAI: o1-preview, o1-mini, o3-mini, o4-mini, gpt-5 (используйте параметр reasoning_effort)
    • Anthropic: Claude Sonnet 4.5, Claude Opus 4.5, Claude Haiku 4.5, Claude Opus 4.1/4, Claude Sonnet 4 (используйте параметр thinking.budget_tokens)
    • Local: openai/gpt-oss-20b через Ollama/LMStudio (поддерживает уровни усилий)

    Рекомендации по уровню усилий рассуждения:

    • Low: Быстрый анализ, минимальные токены мышления (~5-10 с, низкая стоимость)
    • Medium: Сбалансированная глубина рассуждения (~15-30 с, умеренная стоимость)
    • High: Глубокий анализ безопасности (~30-60 с, стоимость x2, рекомендуется для поиска уязвимостей)

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

    Использование GhidrAssistMCP для инструментального анализа

    GhidrAssistMCP предоставляет инструменты MCP, позволяющие LLM напрямую взаимодействовать с аналитическими возможностями Ghidra.

    Настройка

    1. Запустите MCP-сервер

    2. Настройте GhidrAssist:

      • Откройте Tools → GhidrAssist Settings → вкладка MCP Servers
      • Добавьте сервер: http://127.0.0.1:8081 как GhidrAssistMCP с типом транспорта SSE
    3. Включите MCP в запросах:

      • На вкладке Custom Query установите флажок "Use MCP"
      • Опционально включите "Agentic" для автономного режима исследования

    Режимы использования

    Обычные MCP-запросы:

    • Установите флажок "Use MCP"
    • Задавайте вопросы, например "What does the current function do?"
    • LLM может вызывать инструменты для получения декомпиляции, перекрестных ссылок и т.д.

    Агентный режим (рекомендуется):

    • Включите оба флажка "Use MCP" и "Agentic"
    • Задавайте сложные вопросы, например "Find vulnerabilities in this function" или "Analyze the call graph"
    • Агент ReAct будет:
      1. Предлагать шаги исследования в виде списка задач
      2. Систематически выполнять инструменты для сбора информации
      3. Отслеживать прогресс и накапливать результаты
      4. Синтезировать полный ответ с доказательствами

    Примеры запросов:

    • "What security vulnerabilities exist in this function?"
    • "Trace the data flow from user input to this call"
    • "Find all functions that modify global variable X"
    • "Analyze the error handling in the current function"

    Использование семантического графа (Graph-RAG)

    Вкладка Semantic Graph предоставляет интерфейс графа знаний для изучения результатов анализа бинарных файлов без необходимости вызова LLM для каждого запроса.

    Начало работы

    1. Индексируйте бинарный файл:

      • Откройте вкладку Semantic Graph
      • Нажмите "ReIndex Binary" для извлечения структурных связей
      • Нажмите "Semantic Analysis" для генерации сводок LLM (требуется API)
      • Прогресс отображается в строке состояния
    2. Исследуйте граф:

      • List View: Просмотр всех индексированных функций со сводками и флагами безопасности
      • Graph View: Визуализация связей вызовов с настраиваемой глубиной N-hop
      • Search View: Полнотекстовый поиск по сводкам и аннотациям безопасности
    3. Анализ безопасности:

      • Нажмите "Security Analysis" для сканирования на наличие функций, связанных с безопасностью
      • Результаты включают: сетевые API, ввод/вывод файлов, использование криптографии, строковые шаблоны
      • Уровни риска (LOW/MEDIUM/HIGH) назначаются на основе обнаруженных функций

    Интеграция с вкладкой Explain

    При просмотре функции на вкладке Explain:

    • Если функция проиндексирована, предварительно вычисленная сводка отображается мгновенно
    • Панель безопасности отображает: уровень риска, профиль активности, используемые API
    • Нажмите "Edit", чтобы изменить сводки (защищены от автоматической перезаписи)
    • Используйте "Refresh", чтобы повторно сгенерировать сводку с помощью LLM

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

    • Быстрые запросы: Предварительно вычисленные сводки устраняют задержку LLM для повторных запросов
    • Автономный анализ: Просмотр индексированных данных без подключения к API
    • Фокус на безопасности: Автоматическое обнаружение шаблонов кода, связанных с безопасностью
    • Обнаружение модулей: Обнаружение сообществ автоматически группирует связанные функции

    Домашняя страница

    https://symgraph.ai

    Минимальная версия

    Этот плагин требует следующую минимальную версию Ghidra:

    • 11.0

    Лицензия

    Этот плагин выпущен под лицензией MIT.

    Скачать инструмент