Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
recurse — バイナリ解析とCTF作業のための、純粋なRust製マルチアーキテクチャ逆アセンブラ、ネイティブ逆コンパイラ、デバッガ、およびLLMエージェントを備えたエージェント型リバースエンジニアリングIDE。 | Kitploit
ツール/GitHubGitHub/recurse-labs/recurse
静的分析動的分析 (サンドボックス)リバースエンジニアリングデバッガマルウェア分析CTFバイナリ解析学習と教育AI支援リバースエンジニアリングAIセキュリティ
GitHubrecurse-labs/recurse

recurse

298304357日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →

バイナリ解析とCTF作業のための、純粋なRust製マルチアーキテクチャ逆アセンブラ、ネイティブ逆コンパイラ、デバッガ、およびLLMエージェントを備えたエージェント型リバースエンジニアリングIDE。

リポジトリを見るウェブサイト
共有

Recurse

エージェント型リバースエンジニアリング環境 — 「リバースエンジニアリングのための Cursor」の精神で作られた Ghidra クラスのデスクトップアプリ。Tauri 2(React + TypeScript フロントエンド)で構築され、プラグイン可能な解析バックエンドの上に成り立っています。デフォルトは純粋な Rust 製ネイティブエンジン — 外部プロセスなし、コピーレフト依存なし、Capstone によるマルチアーキテクチャ対応。r2(radare2)や IDA Pro を介して解析を実行することもできます。どちらかのエンジンを選択すれば、アプリ全体 — エージェントツールと UI — がそれに切り替わります。エージェントツールと UI はバックエンド非依存です — docs/backends.md を参照してください。

Recurse demo

リポジトリ構成

ルートに Cargo ワークスペースがあり、デスクトップアプリはその中の 1 パッケージです。

tauri/                   desktop app (Tauri + React)
  src/                     React frontend
  src-tauri/               Tauri Rust backend (engine sessions, agent wiring)
  package.json             app scripts (Vite, Vitest, Tauri CLI)
crates/
  recurse-agent/              agent framework: LLM loop, tool runtime, SQLite memory
  recurse-static/          static analysis: ELF/PE/Mach-O parsing, multi-arch disassembly,
                           CFG and cross-reference recovery, the engine seam
  recurse-vtil/            VTIL-inspired de-obfuscation/de-virtualization IL, lifter, optimizer
  recurse-mcp/             standalone headless MCP server (stdio) over the engine — no Tauri, no IDA
  recurse-debug/           cross-platform debugger (ptrace/Mach/Win32, breakpoints, stepping)
  recurse-eval/            headless eval harness (YAML-configured tiers)
justfile                 single entry point for both halves

recurse-agent はエージェントのみです。静的解析は recurse-static に、デバッガは recurse-debug にあるため、エージェントは使用しないシステムコードを取り込みません。Tauri に依存するクレートはなく、それぞれが単独でビルド/テストできます。recurse-eval はエージェントをヘッドレスで駆動します。すべてワークスペースメンバーであるため、1つの Cargo.lock と1つの target/ がリポジトリ全体をカバーします。

機能

  • Cursor スタイルのワークスペース: 関数リスト、逆アセンブリ/文字列/インポートのタブ、CFG グラフ、 チャットエージェントのサイドバー(Chat ボタンまたは Ctrl+L で切り替え)
  • Recon ページ: バイナリ情報、MD5/SHA1/SHA256/CRC32 ハッシュ、エントロピー、リンクされたライブラリ、 自己完結型のハードニングレポート(RELRO / PIE / NX / canary / FORTIFY / RPATH — 外部の checksec は不要)、および解析カウント
  • リストから関数をリネーム(ダブルクリックまたは ✎ ボタン)。名前は SQLite に永続化され、関数リスト、逆アセンブリの注釈、およびエージェントに表示されます
  • リスティングの関数ヘッダーから注釈付け: 変数の名前をクリックして命名するか、 undefinedN セルをクリックして型を付与します。設定した戻り値の型はヘッダーの シグネチャ行に表示されます。どちらも関数をキーとして SQLite に永続化され、セルをクリアすると 命令が示す内容に戻ります
  • グラウンデッドエージェント: すべてのアドレスはクリック可能なオブジェクト(関数リスト、グラフノード、 xref、逆コンパイラの注釈)であり、モデルがハルシネーションする可能性のある貼り付けテキストではありません
  • 任意のバイナリ(拡張子のないファイルを含む)に対するライブ解析セッション
  • FTS5/BM25 検索を備えた SQLite による永続的なプロジェクトメモリ — リネーム、発見事項、 ノートは /clear や再オープンを経ても保持され、次のセッションのシードになります
  • ターンごとのデバッグトレースを備えたヘッドレスコア(recurse-agent)。同じエージェントループが UI と評価ハーネスの両方で実行されます
  • OpenAI 互換エンドポイント(デフォルトは OpenRouter)に支えられたモデルピッカー付きの LLM エージェント。セッションを直接駆動します(disasm、xref、strings、imports、decompile)
  • Tailwind CSS v4 + shadcn/ui で構築されたダークファーストの UI
  • lift オペレーション: 関数を VTIL スタイルの難読化解除 IL に持ち上げ、 ルーチン全体にわたる伝播/畳み込み/デッドコード除去/分岐解決の パスを実行します — 逆アセンブリが VM ディスパッチャや 不透明述語チェーンに見える場合に有用です(docs/vtil-lift.md を参照)
  • ネイティブ逆コンパイラ: decompile は同じ recurse-vtil パイプラインから C ライクな擬似コード(if/while の構造化、全命令カバレッジ)を レンダリングします — 外部ツール不要、r2 も不要
  • スタンドアロンの recurse-mcp サーバー: 任意の MCP 対応エージェント(Claude Code、Cursor、Claude Desktop など)向けに 同じ Engine を MCP stdio 経由で提供 — Tauri 不要、IDA ライセンス不要、 Python ブリッジ不要(docs/recurse-mcp.md を参照)

解析バックエンド

解析は単一の Engine トレイト(crates/recurse-static/src/engine.rs)を経由するため、 エンジンは選択肢であり、ハードな依存関係ではありません:

  • native(デフォルト) — 純粋な Rust による ELF/PE/Mach-O 解析とマルチアーキテクチャ逆アセンブリ (object + capstone): x86/x86-64、ARM、AArch64、MIPS、PowerPC、RISC-V、SPARC、SystemZ、 M68K、BPF。子プロセスなし、外部ツールなし、ビルドに LGPL なし。逆コンパイラ (recurse-vtil の lift → optimize → structure パイプライン — docs/vtil-lift.md を参照)と、VTIL スタイルの難読化解除のための lift オペレーションを含みます。
  • r2(radare2) — より完全な独自の逆コンパイラや生のコンソールを求めるインストール向けに、 オプトインの代替としてサポートされています。r2 をインストールしてエンジンとして選択してください。 別プロセスとして実行され、Recurse にリンクされたりバンドルされたりすることはありません。
  • IDA Pro(ida) — idat を介したオプトインのヘッドレス解析と Hex-Rays 逆コンパイル。

設定メニュー、RECURSE_BACKEND 環境変数、または保存された設定で選択します。エージェントはバックエンドに依存しない単一の analyze ツール(functions、disasm、graph、lift、decompile、xrefs、strings、imports、info、およびエンジンコンソール用の raw)を利用できます。これはアクティブなエンジンが実際にサポートする操作に絞り込まれるため、raw(ネイティブにはコンソールがない)は利用可能な場合にのみ公開されます。UI はどのエンジンの JSON でもなく、正規化された結果型を消費します。トレイト、クレートの選択、ライセンスの根拠については docs/backends.md を参照してください。大きなバイナリを開くのが高速なのは、解析が遅延評価であるためです。ディスカバリは関数を低コストでインデックス化し、基本ブロックは関数が表示されたときにのみデコードされます。詳細は docs/lazy-analysis.md を参照してください。

なぜ MCP-to-IDA や Claude Code で適当にやるだけではダメなのか?

IDA/Ghidra に MCP サーバーを接続したり、逆アセンブリを CLI エージェントに貼り付けたりする方法は、5 関数程度の CTF には通用しますが、実際のバイナリでは破綻します。Recurse はチャットボットのラッパーではなく、目的に特化して構築された環境です:

  • テキストのスクレイピングではなく、バイナリのワールドモデル。 関数、xref、文字列、CFG はエージェントと UI が共有する第一級の状態です。毎ターン pdF のダンプをコンテキストに再パースする必要も、存在しない 0x401023 を捏造する必要もありません。
  • 生成よりも検証。 RE には npm test がありません。検証は視覚的に行います。エージェントによるリネームは関数リスト、グラフ、逆コンパイルに即座に反映されるため、人間はワンクリックで承認または却下できます。
  • スケールを前提に設計。 実際のマルウェアは 1 万関数に及びます。需要駆動型のツールと永続メモリは、コンテキストが OOM になるまで完全な逆コンパイルをダンプするよりも優れています。
  • エージェント対応エンジン。 スクリプト化可能でパイプ可能なエンジンにより、エージェントは 100 ターン実行し、フォークし、リセットし、差分を取ることができます。そして実際に出荷できます。デフォルトのネイティブエンジンは外部ツールを一切必要としません。
  • デフォルトでマルウェアセーフ。 ローカルファースト、BYO キー/OpenRouter ルーティング、オフラインモデルへの道筋。サンプルをクラウドチャットボットへ強制的に送信させることはありません。

インストール

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/Recurse-Labs/recurse/master/scripts/install.sh | sh

Windows (PowerShell):

powershell -c "irm https://raw.githubusercontent.com/Recurse-Labs/recurse/master/scripts/install.ps1 | iex"

各スクリプトは、お使いの OS/アーキテクチャ向けの正しいバンドルを 最新リリースから取得し、 ネイティブにインストールします(Linux では .deb/.rpm/.AppImage、macOS では .dmg → /Applications、 Windows では .msi/.exe)。手動でダウンロードしたい場合は、 Releases ページからお使いのプラットフォーム向けの アセットを取得してください。

インストール後は、Recurse が自動的に更新されます — 新しいバージョンのために再インストールする必要はありません。起動時に アップデートを確認し、設定メニューからワンクリックで 「vX.Y.Z に更新」 を提供します。詳細は docs/updating.md を参照してください。代わりにソースからビルドする場合は、 下記の前提条件までスキップしてください。

前提条件

1. コアツールチェーン

ツールバージョン(テスト済み)インストール
Node.js≥ 20(23.11 を使用)https://nodejs.org または nvm
npm≥ 10Node.js に同梱
Rust≥ 1.77(1.97 を使用)https://rustup.rs
cargo—Rust(rustup)に同梱

確認:

node --version && npm --version && rustc --version && cargo --version

2. 解析エンジン

デフォルトの native エンジンは純粋な Rust 製で、インストールは不要です。代わりに r2(radare2)を解析エンジンとして使用するには、r2 をインストールして選択します(設定メニュー、または RECURSE_BACKEND=r2)。Recurse は PATH 上の r2 バイナリを操作します。r2 はオプションであり、ビルドで必須になることはなく、Recurse に同梱されることもありません。ご自身でインストールしてください。

IDA Pro(ida)を使用するには、それを選択するか RECURSE_BACKEND=ida を設定します(Linux 上の IDA Pro 9.1 でテスト済み)。標準のインストールパスまたは PATH から自動検出されます。カスタムパスの場合は RECURSE_IDA_PATH を設定します(Linux: export RECURSE_IDA_PATH=/opt/ida-pro-9.1、Windows: set RECURSE_IDA_PATH="C:\Program Files\IDA Pro 9.1")。

3. Tauri Linux のシステム依存関係

ツールをダウンロード