reverse-engineering-assistant  by cyberkaida

AI assistant for reverse engineering tasks

Created 2 years ago
421 stars

Top 69.9% on SourcePulse

GitHubView on GitHub
Project Summary

ReVA is an AI-powered assistant designed to streamline reverse engineering workflows by integrating with disassemblers like Ghidra. It targets reverse engineers and security researchers, offering a tool-driven approach to LLM interaction that enhances accuracy and provides detailed, traceable analysis of binaries.

How It Works

ReVA employs a tool-driven methodology, equipping LLMs with a suite of specialized reverse engineering tools. This approach, combined with chain-of-reasoning, allows the LLM to break down complex tasks into manageable steps. Tools are designed for ease of use, input tolerance, and hallucination reduction by providing structured schemas, guiding feedback on errors, and offering contextual output to encourage exploration similar to human analysts.

Quick Start & Requirements

  • Installation: Install the Python component via pipx install . in the project root. Ensure the pipx bin directory is in your PATH.
  • Prerequisites: Ghidra installation and the ReVa Ghidra extension. Requires Python.
  • Inference: Supports OpenAI (requires API key, gpt-4o recommended) and Ollama (local or remote inference, models like mixtral, llama3, phi tested).
  • Usage: Start reva-server (often via the Ghidra extension) and run reva-chat in a separate terminal. Connect to Ghidra projects using reva-chat --project ${project-name}.
  • Docs: DEVELOPER.md for protocol details.

Highlighted Details

  • Disassembler-agnostic design with a Ghidra extension.
  • Tool-driven LLM interaction for improved accuracy and reduced hallucination.
  • Detailed action logging and undo points for transparency and control.
  • Supports both online (OpenAI) and local (Ollama) inference.

Maintenance & Community

Licensing & Compatibility

  • License details are not explicitly stated in the README. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The project is in active development, with an updated demo "coming soon." Specific licensing terms and commercial use restrictions are not detailed in the provided README.

Health Check
Last Commit

5 days ago

Responsiveness

1 day

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

Explore Similar Projects

Feedback? Help us improve.