GhidraGPT  by weirdmachine64

LLM-powered Ghidra plugin for reverse engineering

Created 7 months ago
257 stars

Top 98.2% on SourcePulse

GitHubView on GitHub
Project Summary

GhidraGPT is a Ghidra plugin designed to integrate Large Language Models (LLMs) directly into the reverse engineering environment. It aims to automate code refactoring, enhance code readability, and assist in vulnerability analysis, thereby streamlining complex reverse engineering workflows for security researchers and software engineers.

How It Works

This plugin functions as a Ghidra extension, embedding LLM capabilities directly within the IDE. Its core approach involves leveraging LLMs to perform automated code transformations such as function and variable renaming, type inference, and adding contextual comments. It also facilitates code explanation and security analysis, including vulnerability detection, through a context menu integration and a dedicated console interface for model responses. The design emphasizes flexible configuration and real-time stream processing for a responsive user experience.

Quick Start & Requirements

  • Installation: Clone the repository, build the plugin using Maven (mvn clean package), and install the resulting zip file within Ghidra via File → Install Extensions. Enable the plugin in Ghidra's configuration panel.
  • Prerequisites: Ghidra 10.0+, Java 11+, and Maven are required.
  • Configuration: Users must configure API keys for their chosen AI providers within Ghidra.
  • Links: GitHub Repository

Highlighted Details

  • Function Rewrite: Enhances decompiled code readability through automated renaming, type inference, and comment generation.
  • Code Explanation & Analysis: Provides detailed explanations of function logic and aids in vulnerability detection.
  • Extensive AI Provider Support: Integrates with OpenAI, Anthropic, Google Gemini, Cohere, Mistral AI, DeepSeek, Grok (xAI), Ollama, and OpenAI-compatible APIs.
  • User Interface: Features context menu integration for quick analysis and a dedicated console for interaction.

Maintenance & Community

Contributions are welcomed via issues, feature requests, and pull requests. Specific community channels like Discord or Slack are not detailed in the README.

Licensing & Compatibility

The project is licensed under the terms specified in its LICENSE file. Specific compatibility notes for commercial use or linking with closed-source projects are not provided.

Limitations & Caveats

The plugin requires a functional Ghidra installation and external API keys for supported LLM providers, which may incur costs. The effectiveness of automated analysis and refactoring is dependent on the chosen LLM and the complexity of the target code.

Health Check
Last Commit

3 months ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
1
Star History
9 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.