Discover and explore top open-source AI tools and projects—updated daily.
llnlAI-powered reverse engineering with Ghidra and LLMs
Top 94.0% on SourcePulse
OGhidra bridges the gap between Large Language Models (LLMs) and the Ghidra reverse engineering platform, enabling AI-driven binary analysis through natural language. It empowers engineers and researchers to interact with binaries conversationally, automate complex reverse engineering workflows, and maintain complete privacy by running AI models locally via Ollama.
How It Works
OGhidra employs an adaptive agentic loop for analysis, comprising Planning, Execution, and Review phases. User queries initiate a planning phase, followed by an execution phase where LLMs interact with Ghidra tools. Results are then reviewed, potentially triggering further information gathering or refinement in a replanning loop before a final response is generated. This approach allows for dynamic, context-aware analysis and automation of tasks like function renaming, pattern detection, and report generation.
Quick Start & Requirements
git clone https://github.com/LLNL/OGhidra.git), navigate to the directory, and install dependencies using uv sync (recommended) or pip install -r requirements.txt. Configure environment variables by copying .env.example to .env.GhidraMCP extension using Gradle and Java 21, then installing it within Ghidra. Automated build scripts are provided.ollama pull gemma3:27b).uv run main.py --ui for GUI mode or uv run main.py --interactive for CLI.Highlighted Details
Maintenance & Community
The project is primarily authored by Enoch Wang. Community interaction is facilitated through GitHub Issues and Discussions. Direct contact is available via enochsurge@gmail.com.
Licensing & Compatibility
OGhidra is distributed under the BSD 3-Clause license, with a commercial license alternative available. The BSD 3-Clause license is generally permissive for commercial use and integration.
Limitations & Caveats
Connection issues with Ghidra or Ollama require verifying running services and plugin configurations. Performance can be impacted by model size and context window; users may need to adjust context budgets, use smaller models, or tune execution settings. The pyghidra backend requires specifying a valid Ghidra project and program name for analysis.
1 week ago
Inactive