Rikugan  by buzzer-re

AI-powered reverse-engineering agent for binary analysis

Created 1 week ago

New!

264 stars

Top 96.7% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

Rikugan is an AI-powered reverse-engineering agent designed to integrate directly into IDA Pro and Binary Ninja analysis environments. It provides reverse engineers and security researchers with an LLM-driven assistant capable of understanding, navigating, and manipulating binary code, significantly accelerating the analysis workflow by bringing advanced AI capabilities directly into the disassembler UI.

How It Works

This project eschews external MCP servers, operating as an in-process agent with its own agentic loop. It employs a generator-based stream→execute→repeat pipeline where LLM responses are streamed token-by-token, and tool calls are intercepted and dispatched by an in-process tool orchestration layer. The agent loop supports automatic error recovery, mid-run user questions, and plan mode for multi-step workflows, enabling complex analysis tasks without leaving the disassembler. The core architecture includes an orchestrator that maps binary components (imports, exports, strings, key functions) and spawns isolated subagents to analyze in parallel, synthesizing findings into a complete picture.

Quick Start & Requirements

  • Install: Linux/macOS: curl -fsSL https://raw.githubusercontent.com/buzzer-re/Rikugan/main/install.sh | bash. Windows (PowerShell): irm https://raw.githubusercontent.com/buzzer-re/Rikugan/main/install.ps1 | iex. Refer to the official documentation for host-specific install, manual setup, and configuration.
  • Prerequisites: IDA Pro 9.0+ with Hex-Rays decompiler or Binary Ninja (UI mode). Python 3.10+ is recommended due to a known Shiboken UAF bug affecting IDA Pro with Python versions >= 3.14. Requires at least one LLM provider, supporting options like Anthropic Claude (Opus/Sonnet), MiniMax, Gemini, any OpenAI-compatible endpoint, or local models via Ollama.
  • Links: Documentation, Architecture, Issues (URLs not provided in snippet).

Highlighted Details

  • Offers over 60 tools covering essential reverse engineering tasks: navigation, decompiler interaction, disassembly, cross-references, string analysis, annotations, type manipulation, and scripting.
  • The Exploration feature maps binary components and spawns isolated subagents to analyze different aspects in parallel, synthesizing a comprehensive understanding of the target.
  • Experimental Natural Language Patches (/modify) allow users to describe desired code modifications in plain English, with Rikugan exploring the binary, building context, and applying patches.
  • Experimental Deobfuscation skill (Binary Ninja) specifically targets and removes common obfuscation techniques like control flow flattening, opaque predicates, and junk code using IL read/write primitives.
  • Analysis findings and context are automatically saved to RIKUAN.md located next to the database file, ensuring persistence across analysis sessions.

Maintenance & Community

No specific details regarding notable contributors, sponsorships, partnerships, or community channels (e.g., Discord, Slack) were present in the provided README snippet.

Licensing & Compatibility

The license type and any compatibility notes for commercial use or closed-source linking were not specified in the provided README snippet.

Limitations & Caveats

The Natural Language Patches and Deobfuscation features are explicitly marked as experimental. Python 3.10 is recommended over newer versions (>= 3.14) due to a known Shiboken UAF bug impacting IDA Pro integration. The project is acknowledged by its author as a work in progress with significant room for growth and improvement.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
16
Issues (30d)
2
Star History
267 stars in the last 13 days

Explore Similar Projects

Feedback? Help us improve.