reverse-engineering-assistant  by cyberkaida

AI assistant for reverse engineering tasks

created 1 year ago
380 stars

Top 76.1% 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

12 hours ago

Responsiveness

1 day

Pull Requests (30d)
4
Issues (30d)
6
Star History
60 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.