Deepseek ArtifactsDeepseek Artifacts
GitHub オープンソースガイド

REA(Reverse Engineer Anything):Claude Code / Codex でリバースエンジニアリングスキルを導入して使う

REA とは GitHub 上の morluto/rea です。MIT ライセンスの MCP サーバー、CLI、そして reverse-engineer-anything エージェントスキルの組み合わせで、Claude Code、Codex、Cursor などのクライアントがバイナリ、Electron アプリ、.NET アセンブリ、APK、Web サイトをローカルで、証拠付きで検査できるようにします。ここでは検証済みのインストール手順、最初のコマンド、そして法的な線引きが実際どこにあるのかを示します。

REA の概要

  • 1 つのプロジェクトに 3 つの部品:`rea-agents` npm パッケージは `rea` CLI、ローカル MCP サーバー、そしてどのターゲットにどのツールを使うかをエージェントに指示する `reverse-engineer-anything` スキルを同梱しています。
  • インストールは確認付きのコマンド 1 本です:`npx rea-agents setup` が書き込む設定パス、バックアップ、スキルの配置先を正確に列挙し、承認を待ちます。承認するまで何も書き込まれません。
  • Claude Code、Codex、Cursor にはそれぞれネイティブな経路もあります。`/plugin` のプロンプト 2 つ、`codex plugin` コマンド 2 つ、または Cursor Marketplace のプラグインです。setup は 28 クライアントを直接設定できます。
  • REA はサンドボックスではなく、何が合法かを決めるものでもありません。あなたのユーザー権限で動作し、対象はあなたが分析を許可されている必要があり、プロジェクト自身の免責事項が支援を拒否する用途を列挙しています。

morluto/rea — README

出典: github.comchecked 2026-11-13

開く

docs/getting-started/installation.md

出典: github.comchecked 2026-11-13

開く

.agents/skills/reverse-engineer-anything/SKILL.md

出典: github.comchecked 2026-11-13

開く

docs/getting-started/cli.md

出典: github.comchecked 2026-11-13

開く

rea-agents — npm registry

出典: registry.npmjs.orgchecked 2026-11-13

開く

DISCLAIMER.md + SECURITY.md

出典: github.comchecked 2026-11-13

開く

dsh-rea — DeepSeek Harness directory

出典: deepseekharnessplugins.comchecked 2026-11-13

開く

dsh-reverse-skill — DeepSeek Harness directory

出典: deepseekharnessplugins.comchecked 2026-11-13

開く

このページのすべてのコマンド、クライアント ID、バージョン、数値は 2026-11-13 に上記の出典から読み取ったものです:リポジトリの README、docs/getting-started/installation.md、同梱の SKILL.md、docs/getting-started/cli.md、DISCLAIMER.md と SECURITY.md、そして npm レジストリ。リポジトリの事実は同じ日の GitHub API によるもので、stars 455,720、forks 111,916、作成 2026-04-14。npm の最新リリースは `rea-agents` 6.9.0、公開 2026-11-12。star 数は毎日変わるため、日付付きのスナップショットとして扱ってください。このページは性能値を一切引用していません。確認した README とドキュメントにベンチマーク結果の記載がないためです。

REA とは何か

REA は Reverse Engineer Anything の略です。morluto によるサードパーティのオープンソースプロジェクトで、MIT ライセンス、場所は github.com/morluto/rea、サイトは rea.tools です。Anthropic、OpenAI、Cursor の製品ではなく、デコンパイラでもありません。コーディングエージェントがデコンパイラや静的パーサーを動かし、見つけた内容を説明できるようにする層です。

配布物は `rea-agents` npm パッケージです。`rea` コマンド、ローカル MCP サーバー、そして `reverse-engineer-anything` スキルを提供します。このスキルはワークフロー文書で、まずターゲットを振り分け(ASAR/Electron、アーカイブ、APK、.NET、ファームウェア、ネイティブバイナリ、ブラウザページ、キャプチャ)、すべての結論を Evidence に結び付けるようエージェントに指示します。分析はあなたのマシンで実行され、エージェントはツール結果を受け取り、そのモデルプロバイダーが独自のデータポリシーを適用します。

深いネイティブ分析は bring-your-own です:Hopper、Ghidra、IDA、Kuna。setup は別途の承認後に Hopper をインストールでき、既存の Ghidra、IDA、Kuna を再利用します。静的な JavaScript/Electron と .NET の検査にはネイティブエンジンがまったく不要です。だからこそ Electron アプリでの最初のテストが、REA があなたのワークフローで居場所を得るかどうかを最も安く確かめる方法になります。

npm リリース
rea-agents 6.9.0
ライセンス
MIT
GitHub スター数
455,720
リポジトリ作成日
2026-04-14

何を対象にできるか

README のターゲット表は 39 行あります。ここではインストールするかどうかを決める部分だけを示します。最後の列はドキュメントが実際に示している要件で、ほとんどの行は Node.js 以外に何も要りません。

ターゲット得られるもの必要なもの
JavaScript / Electronモジュール、インポート、source map、ルート、IPC 境界、ネイティブアドオン。アプリを実行しない静的解析です。Node.js + npm(Linux では procps の `ps`)
Native binaries擬似コード、アセンブリ、文字列、シンボル、呼び出し、相互参照。Hopper、Ghidra、IDA、Kuna
.NET assembliesメタデータ、CIL 命令、宣言されたネイティブ依存関係、ビルド間の比較。追加なし(静的のみ)
Android APKManifest の宣言、クラス、デコンパイルされたメソッドと参照、APK 署名の事実。ヘッドレス JADX + フル JDK(署名には何も不要)
Websites / capturesページ構造、スクリプト、ネットワーク観察、要求時のスクリーンショット、HAR と SAZ のキャプチャ。Chrome 系ブラウザ(キャプチャは HAR または SAZ)
Go / Rust / PE / WASMGo ビルド情報、Rust の cargo-auditable クレート、PE インポートと証明書、ELF ノート、WASM、ハードニングフラグ。追加なし(静的のみ)
Archives / firmwareZIP/APK/IPA/MSIX/DMG、Godot PCK、UnityFS、wxapkg のメンバー一覧と展開、ファームウェア領域。ファームウェアには Linux 上の Binwalk または Unblob
GGUF / safetensorsGGUF と safetensors のメタデータ、テンソル宣言、任意のファイル全体ハッシュ。追加なし(静的のみ)
Release exposure安定したチェック ID、ステータス、修復手順を伴うリリース露出レポート:出荷された source map、Electron fuse、認証情報マーカー。追加なし(静的のみ)

境界は 2 つあり、二度読みする価値があります。静的検査はファイルを解析し、ターゲットを実行しません。一方、ランタイムキャプチャ、ブラウザシナリオ、デバイスワークフローは実際に実行または操作し、あなたのユーザー権限で動きます。そしてすべての結果には独自の限界と不明点が付きます。リリース露出レポートがクリーンでもアプリケーションが安全とは限らない、とドキュメントははっきり書いています。

インストール:確認付きのコマンド 1 本と、クライアント別の経路

setup は既定で対話的です。対応クライアントを列挙し、変更するファイルとバックアップを正確に示し、書き込み前に確認します。npm のダウンロード承認と REA 自身の承認は別のプロンプトなので、npm を承認しても設定変更を承認したことにはなりません。

1. ガイド付き setup — 対応するすべてのクライアントで使える

PATH に Node.js と npm がある状態で実行します。クライアントを選択し(既存の REA 登録は事前に選択され、新たに検出されたものは選択されません)、計画を読んで承認します。その後、完了メッセージに記載されたエージェントを完全に再起動してください。実行中のクライアントは自身の登録を上書きすることがあります。スクリプトでは `--client <id>` を付け、まず `--dry-run --json` で読み取り専用の計画を取得します。

コマンド

npx rea-agents setupnpx rea-agents setup --client claude_code --dry-run --json

2. Claude Code:/plugin のプロンプト 2 つ、setup の実行は不要

REA の npm パッケージは Claude Code プラグインでもあります。リポジトリをマーケットプレイスとして追加し、`rea@rea` をインストールします。プラグインは `rea setup` を実行しないため、プロバイダー設定(Ghidra/IDA のパス)は引き続き以下のセクションから取得し、`rea doctor` はプラグインを `missing` と報告します。代わりに `/plugin` と `/mcp` で確認してください。あるクライアントではプラグインか setup 登録のどちらか一方だけを使ってください。両方だと `rea` サーバーが 2 つ起動します。

コマンド

/plugin marketplace add morluto/rea/plugin install rea@rea

3. Codex:同じプラグイン、codex コマンド 2 つ

同じ npm パッケージが `.codex-plugin` マニフェストを含んでいます。マーケットプレイスを追加し、`rea@rea` をインストールします。クライアントの PATH にはスタンドアロンの `node` が必要です。Claude Code と同様、プラグインのインストールは `rea doctor` には見えないので、`codex plugin list` で確認してください。

コマンド

codex plugin marketplace add morluto/reacodex plugin add rea@rea

4. Cursor:setup 登録か Marketplace プラグイン

`rea setup --client cursor` は `~/.cursor/mcp.json` と setup 管理のスキルを書き込みます。Cursor の Marketplace でもこのリポジトリがプラグインとして掲載され、スキルと、公開済みバージョンに固定された `rea` MCP サーバーの両方が同梱されます。その経路は Git チェックアウトで、`rea` を PATH に置きません。どちらか一方を選んでください。

コマンド

npx rea-agents setup --client cursor

5. スキルのみ — ツールなしの手順書

手順書だけが欲しい場合、たとえば手動で登録した MCP サーバーと組み合わせたい場合は、skills.sh からスキルをインストールします。エージェントは振り分けルールと同梱の参照資料を得ますが、ツールは登録されないため、MCP サーバーが存在するまで REA の呼び出しは行われません。

コマンド

npx skills add morluto/rea --skill reverse-engineer-anything

6. 信頼する前に検証する

`rea doctor` は読み取り専用です。クライアント、インストール済みスキル、エンジンを別々に確認します。プロバイダーの失敗はターゲット不要のツールを妨げず、クライアントのチェックは登録を検証するもので、調査の成功を検証するものではありません。doctor はファイルと前提条件を読むだけで、稼働中のセッションは見えないため、登録済みサーバーは再起動か再接続が必要です。

コマンド

rea doctor --client claude_code --jsonrea doctor --skill --jsonrea doctor --provider ghidra --json

ドキュメントに記載された要件

  • 1Node.js 22.x(>= 22.23.4)、24.x(>= 24.22.1)、または 26.12.1+ と、それに対応する npm。Node 23、25、それ以前の 26.x リリース、プレリリースはサポートされません。
  • 2ローカル MCP サーバーをサポートするクライアント。setup は 28 個のクライアント ID を認識します。claude_code、claude_desktop、codex、cursor、gemini_cli、windsurf、opencode、copilot_cli、antigravity、kimi、dsh、pi などです。
  • 3ネイティブエンジンはネイティブの作業にのみ必要です。静的な JavaScript/Electron と .NET の分析には他に何も要りません。Android にはヘッドレス JADX と JDK、ファームウェアには Linux 上の Binwalk または Unblob が必要です。
  • 4パッケージの取得は、ターゲットプロジェクトの外にある信頼できるディレクトリから行い、分析コマンドには絶対パスを渡してください。パッケージランナーはプロジェクトローカルのパッケージを選ぶことがあり、REA はエントリポイントが起動する前に何が起きたかを検証できません。

何かを証明する最初のセッション

最も安価で正直なテストは、自分が所有し、すでに機能を理解しているアプリで、ネイティブエンジンが介在しないターゲットを使うことです。答えだけでなく証拠を求めてください。REA の要点は、エージェントが主張するコードパスを示さなければならないことです。

エージェントに尋ねる

以下は README 自身の例をそのまま引用したものです。Notes をあなたのターゲットに、機能を手作業で確認できるものに置き換えてください。エージェントは REA ツールを呼び、Evidence を読み、確認できなかった部分を明示するはずです。証拠なしに答えるなら、MCP 接続かスキルが欠けている可能性が高いです。

プロンプト

Understand how search works in the Notes app, show me the evidence,and build a similar feature for my project.

または CLI を自分で動かす

すべての MCP ワークフローには CLI の対応物があり、REA についての主張が正しいかを確かめる最速の方法です。最初のコマンドは、展開済みの Electron ディレクトリまたは ASAR に対してエンジンなしで Evidence レコードを返します。2 番目は出荷された成果物を監査し、露出したチェックが指定した重大度に達すると終了コード 3 で終了します。

コマンド

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --jsonrea audit-release-exposure ./dist/MyApp.app --fail_on high --json

出力が大きい理由と、その対処

実際のアプリケーションの Evidence は数百メガバイトに達することがあります。ドキュメントの答えは、保存してからビューを射影することです。`rea analyze-javascript-application … > app-evidence.json`、続いて `rea inspect-analysis-view` で要約または 1 ページ分のモジュールを取得します。MCP 経由では `REA_MCP_MAX_RESPONSE_BYTES`、`REA_MCP_INPUT_SCHEMA_PROFILE=full`、`REA_MCP_OUTPUT_SCHEMA_PROFILE=compact` が、モデルがどれだけ見るかを調整します。

更新と削除

`rea update` は実行中の CLI を所有するグローバルな npm または Bun インストールを更新します。`npx` での setup は `npx rea-agents@latest setup` を再実行して更新します。`rea uninstall` は REA が所有する登録とスキルファイルだけを削除し、`--purge-data` はキャッシュと状態も削除します。どちらも Hopper、Node.js、Evidence ファイル、無関係なスキルには触れません。

コマンド

rea updatenpx rea-agents@latest setuprea uninstallrea uninstall --purge-data

REA と手作業、そして手順だけのスキルパックとの比較

正直な比較相手は人間のリバースエンジニアではありません。REA と、シェルだけでツールを持たない同じエージェントとの比較、そして手順だけを配布しサーバーを持たないスキルパックとの比較です。

観点エージェント + シェル、REA なしエージェント + REA
ツールの配線コマンドとパスをチャットに貼り、モデルがどのデコンパイラフラグを使うべきか推測します。スキルがターゲットをスキーマ付きのツールに振り分け、サーバーが引数を検証して構造化された Evidence を返します。
証拠(Evidence)エージェントが引用したものだけで、どのファイルのどのオフセット由来かの記録はありません。所見には証拠と限界が付き、不明点は丸め込まれずに列挙されたままになります。
大きな出力300 MB のダンプはコンテキストウィンドウを溢れさせるか、`head` で切り捨てられます。Evidence は保存され、モデルに届く前に射影されます — 要約、モジュールページ、または単一モジュール。
手順だけのパックリバースエンジニアリングのスキルパックは手法を教えますがツールを登録しないので、エージェントは結局シェルを呼びます。REA は両方の半分を提供します。スキルと、それが説明する MCP サーバー/CLI です。スキルのみのインストールも可能ですが、ツールは欠けたままです。

法的・安全上の境界 — プロジェクト自身によるもので、ここで作ったものではない

境界は REA 自身の DISCLAIMER.md と SECURITY.md が引いており、こうしたツール周辺の宣伝より厳格です。短く言えば、ソフトウェアを分析できることと、分析を許可されていることは同じではありません。

  • 想定される用途:セキュリティ研究、マルウェアとインシデントの分析、脆弱性研究と調整済み開示、CTF と教育、相互運用性、ソフトウェア保存、および自分が所有するか検査を許可されたソフトウェアの監査。
  • 明示的に対象外:DRM、ライセンスチェック、アンチチートその他の技術的保護手段の回避、ゲームチートやオンラインサービスへの改ざん、テストを許可されていない認証やアクセス制御の回避、プロプライエタリなコードやアセットの複製、モデルプロバイダーのポリシーの回避。
  • 許可を確立するのはあなたの責任です。バイナリが公開されていること、ファイルを所持していること、デバッグエンドポイントにアクセスできることは、それ自体では許可を与えません。また、あなたの法域ではリバースエンジニアリングが法律やソフトウェアのライセンスによって制限される場合があります。
  • 商用ツールは商用のままです。IDA Pro/Hex-Rays、Hopper、JEB は合法的に入手し、ライセンスを受ける必要があります。REA はキー、ライセンス、アクティベーションを一切提供せず、クラック版や共有キーは許可されません。

SECURITY.md からの実務的な点がもう 2 つあります。REA はサンドボックスではありません — CLI と MCP はあなたのアカウントの権限で動作します。そしてターゲットファイル、キャプチャ、Web ページは信頼できないデータなので、バイナリに埋め込まれた指示はあなたからの指示ではありません。自分がビルドしていないものには使い捨ての VM かコンテナを使い、ランタイムワークフローを自分が所有しないシステムに向けないでください。

インストール前に:正直な 5 つの注意点

どれも REA を避ける理由ではなく、まず 1 つのターゲットで試す理由です。

  • 1動きの速いサードパーティプロジェクトです。npm は 3 週間で 6.8.0 から 6.9.0 になり、`main` からインストールしたスキルは古い npm リリースにない機能を説明している可能性があるとドキュメントが警告しています。スキルのテキストではなく、接続中のサーバーのツール一覧を信じてください。
  • 2クライアント対応は広いものの均一ではありません。一部のクライアント ID はより新しい rea-agents を必要とします(droid、dsh、kimi、qoder、trae、workbuddy、zcode は 6.5.0 から、freebuff は 6.8.0 から)。`lm_studio` は 6.8.0 より後のリリースが必要です。
  • 3setup はあなたのエージェント設定とスキルディレクトリに書き込みます。`.rea.backup` スナップショットを保持し、検証できないファイルの上書きは拒否しますが、同じファイルを編集する別の書き手とは調整できません。ドキュメントが求める通り、先にクライアントを終了してください。
  • 4エンジンの設定が一番の落とし穴です。Hopper は商用でデモは制限付き、自動インストーラーは macOS と x86_64 Linux のみを対象とし、他のアーキテクチャでは Ghidra を使うようドキュメントに書かれています。エンジンがないと doctor の総合 `healthy` が false になることがあります。選んだ作業が動くなら正常だとドキュメントは述べており、妨げになるのはネイティブの擬似コードだけです。
  • 5コンテキストとプライバシー:Evidence はエージェントが読むので、あなたのモデルプロバイダーも読みます。分析はローカルですが、結果はローカルではありません。機密性の高いターゲットはローカルモデルに回すか、そもそもループに入れないでください。

DeepSeek Harness と隣接するスキルパック

REA の README は DeepSeek Harness に触れていませんが、このパッケージはそこに登録できます。`dsh` は setup のクライアント ID の 1 つで、DSH ディレクトリには REA プロジェクト自体とコミュニティのアダプターの両方が掲載されています。zhaofeng130/dsh-rea は非公式アダプターで、`reverse-engineer-anything` スキルと `rea`、`rea_doctor` ツールを登録し、REA を同梱しないことを明示しています。dhicoc/dsh-reverse-skill はまた別のもので、reverse-skill パック(リバースエンジニアリング、許可されたペネトレーションテスト、CTF 向けの 87 個の SKILL.md)の移植で、REA への依存はありません。どちらも morluto/rea とは提携していません。インストール前に読んでください。

REA よくある質問

続けて読む