Repolode
JusticeRage

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. 1

    Install the hcli tool

    pip install ida-hcli
  2. 2

    Install the Gepetto plugin into IDA

    hcli plugin install gepetto
  3. 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