MCP server that connects IDA Pro to LLM clients so an AI assistant can decompile, annotate and rename binaries during reverse engineering.
JusticeRage/Gepetto
An IDA Pro plugin that sends decompiled functions to large language models to explain them, add comments, and suggest variable names.
- Stars
- 3,485
- Forks
- 333
- Open issues
- 16
- Last commit
- 3 months ago
What is it?
Gepetto is a Python plugin for IDA Pro (7.6 or later) that uses large language models to give meaning to functions produced by the Hex-Rays decompiler. From the pseudocode view, it can ask a model to explain what a function does, add comments to the code, or rename its variables.
It supports a wide range of providers, including Anthropic, OpenAI, Google Gemini, Azure OpenAI, Groq, Together, Novita AI, Kluster.ai, and local models served through Ollama or LM Studio. Users choose the model from the Edit > Gepetto menu and set API keys in a configuration file. Custom providers can be added as drop-in Python files or installed packages.
The plugin requires the Hex-Rays decompiler. Its output comes from general-purpose models, so the results may be wrong and should be checked by the analyst.
Key features
- 01Explains the purpose of a decompiled function in plain language.
- 02Adds comments to decompiled code and suggests better variable names.
- 03Supports many cloud providers and local models via Ollama and LM Studio.
- 04Lets users switch models from the IDA Edit menu.
- 05Accepts custom providers as drop-in Python files or entry-point packages.
Use cases
- Speeding up analysis of unfamiliar binaries in IDA Pro.
- Getting quick summaries of large or obfuscated functions during reverse engineering.
- Running analysis against a local model when code must stay on-premises.
Quick start
- 1
Install the hcli tool
pip install ida-hcli - 2
Install the Gepetto plugin into IDA
hcli plugin install gepetto - 3
Add your API key to config.ini in your IDA user directory
Things to know
- Requires IDA Pro 7.6 or later with the Hex-Rays decompiler.
- Most supported cloud models need a paid API key and a payment method with the provider.
- Model output is general-purpose and can be wrong, so results need checking.
- Licensed under GPL-3.0, a copyleft license.
In collections
Topics
FAQ
- What is Gepetto?
- An IDA Pro plugin that sends decompiled functions to large language models to explain them, add comments, and suggest variable names. Gepetto is a Python plugin for IDA Pro (7.6 or later) that uses large language models to give meaning to functions produced by the Hex-Rays decompiler. From the pseudocode view, it can ask a model to explain what a function does, add comments to the code, or rename its variables.
- Is Gepetto free to use? What license does it have?
- Gepetto is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is Gepetto still maintained?
- Updated within 6 months. The last commit to Gepetto was on Aug 15, 2026.
- What can I use Gepetto for?
- Speeding up analysis of unfamiliar binaries in IDA Pro. Getting quick summaries of large or obfuscated functions during reverse engineering. Running analysis against a local model when code must stay on-premises.
- How do I install Gepetto?
- Install the hcli tool: pip install ida-hcli Install the Gepetto plugin into IDA: hcli plugin install gepetto Add your API key to config.ini in your IDA user directory
- Where can I get Gepetto?
- The source code and installation instructions are on GitHub: https://github.com/JusticeRage/Gepetto
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An MCP server that exposes Ghidra's reverse engineering functions so LLM clients can decompile and analyze binaries.
An IDA Pro plugin that maps execution paths from entry points, clusters related functions, and uses Gemini to describe binary behavior.
MCP server and CLI letting AI agents reverse engineer native binaries, Electron apps, .NET assemblies and websites.
A JADX plugin plus Python MCP server that lets LLMs such as Claude analyze decompiled Android APKs live from the JADX GUI.
An LLM-powered extension for Ghidra that adds AI-assisted code explanation, chat, and agentic analysis to reverse engineering workflows.