Skip to main content

Installation

Prerequisites

REeve requires Python, Java, Ghidra, and an Anthropic API key.

Python 3.11+

python3 --version

Java 21+

java -version

Set JAVA_HOME if it is not already set. On macOS, a Temurin build can be extracted without sudo:

export JAVA_HOME=~/java/<extracted-dir>/Contents/Home

Ghidra

Download a PUBLIC release from github.com/NationalSecurityAgency/ghidra/releases and extract it. REeve does not require Ghidra to be installed — just extracted, since PyGhidra runs it in-process.

export GHIDRA_INSTALL_DIR=/path/to/ghidra_<version>_PUBLIC

Anthropic API Key

export ANTHROPIC_API_KEY=sk-ant-...

Install REeve

git clone https://github.com/Kunull/REeve
cd REeve
pip install -e .

Or run setup.sh, which checks all three prerequisites in order (Python, JAVA_HOME, GHIDRA_INSTALL_DIR, ANTHROPIC_API_KEY), installs the package, and initializes PyGhidra against your Ghidra install:

bash setup.sh

Verify Installation

reeve --help

Expected output:

Usage: reeve [OPTIONS] COMMAND [ARGS]...

AI-powered binary reverse engineering engine.

Options:
-v, --verbose Enable debug logging
--help Show this message and exit.

Commands:
analyze Run autonomous analysis on a binary.
ask Ask a single question about a binary.
chat Interactive chat over a binary — ask questions, rename functions.
eval Evaluate analysis output against a ground truth JSON file.
kb Build an Obsidian knowledge base from a saved session JSON.
report Export or display the analysis report from a saved session JSON.

See CLI Reference for details on each command.

Persisting Environment Variables

Add the three exports to your shell profile (~/.zshrc, ~/.bashrc, or equivalent):

export JAVA_HOME=/path/to/jdk-21
export GHIDRA_INSTALL_DIR=/path/to/ghidra_PUBLIC
export ANTHROPIC_API_KEY=sk-ant-...