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

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

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

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

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

Категории

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

GhidrAssist

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

Репозиторий
697622 месяцев назадПроверено 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.

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