本文へスキップ
株式会社オブライト
Software Development2026-10-13約11分で読めます

REA(Reverse Engineer Anything)とは

コーディングエージェントでバイナリ・アプリを解析するMCPツールの使い方と法的注意点

REA(Reverse Engineer Anything)は、Claude Code・Codex等のエージェントにバイナリやElectron、APKの解析をさせるMIT製MCP/CLI。最新の導入手順、対応エンジン、既存ツールとの違い、法的注意点を解説【2026年10月】


REA(Reverse Engineer Anything)は、Claude CodeやCodexなどのコーディングエージェントに「ソースコードのないソフトウェアを調べる力」を与える、オープンソース(MIT License)のMCPサーバー兼CLIです。ネイティブバイナリ、JavaScript/Electronアプリ、.NETアセンブリ、Webサイト、Android APK、ファームウェアなどを対象に、解析エンジンの出力をエージェントが読み取れる形で返します。GitHubでは2026年10月8日ごろにTrendingへ入り、10月12日には日間1位になりました。

結論として、REAは「リバースエンジニアリングを自動で完結させる魔法のツール」ではなく、Hopper・Ghidra・IDAといった既存の解析ツールとエージェントをつなぐ橋渡し役です。得られるのは疑似コードや参照関係などの証拠にもとづく再構築であり、元ソースの復元は保証されません。REA自体に別途のAPI料金はなく、費用はエージェントが使うモデルの利用料と、商用解析ツールを使う場合のライセンス料です。

解析対象は、自社製品・自社アプリ、ソースを紛失した自社の旧システム、脆弱性診断、マルウェア解析のように、権利と目的がはっきりしたものに限るのが大前提です。法的・倫理的な注意点は後半の章でまとめます。

REAでできること

READMEでは、対象ごとに次のような解析を扱うと説明されています(2026年10月時点)。

- ネイティブバイナリ: 疑似コード、アセンブリ、文字列、シンボル、参照関係(Hopper・Ghidra・IDAのいずれかが必要)
- JavaScript/Electron: モジュール、インポート、ソースマップ、IPC、ネイティブアドオン(Node.jsとnpmがあれば実行でき、アプリは実行せず静的に読む)
- .NETアセンブリ: メタデータ、CIL、ネイティブ依存(静的解析のみ、追加ソフト不要)
- Webサイト: 構造、スクリプト、ネットワーク、スクリーンショット(Chrome系ブラウザを使用)
- Android APK: マニフェスト、クラス、逆コンパイルしたメソッド(ヘッドレスJADXとJDKが必要)
- ファームウェア: 領域の分割と展開(Linux上のBinwalkまたはUnblob)
- その他: Goバイナリ、WASM、EVMバイトコード、HAR・mitmproxyのキャプチャ、プロセスの挙動観察など

ただし、pwntoolsを使う解析やmitmdumpによるキャプチャなど一部の機能はLinux限定です。対象と実行環境の組み合わせはREADMEの表で確認してください。

コーディングエージェントがMCPサーバーまたはCLIのREAに解析を依頼し、REAがネイティブはHopper・Ghidra・IDA、JavaScript・.NET・Go・WASMは内蔵の静的解析、Web・APK・ファームウェアは各種ツールで解析して、疑似コードや参照関係などの証拠をエージェントに返す構成図。

インストール(現在の手順)

インストール手順は情報源によって食い違っています。GitHubのREADMEとdocs/installation.mdで確認できる現在の手順は、npmパッケージ「rea-agents」を使うものです(2026年10月11日時点の最新は6.4.0)。古い記事やnpmの別パッケージ「@morluto/rea」(0.2.1、Hopper専用だった時代の説明)は、現在の手順ではありません。要件はNode.js 22.19以上、24.11以上、または26以上とnpmです。

# エージェントへの登録(MCPサーバーと手順書を設定。変更案を確認してから適用される)
npx rea-agents setup

# CLIとして常用する場合
npm install --global rea-agents
rea --help

# 更新・削除
rea update
rea uninstall

setupは、変更内容を提示して承認を求め、既存設定のバックアップも残します。完了したらエージェントを再起動してください。手動で登録する場合は、MCP設定に次のように書きます(バージョンは固定する想定です)。

{
  "mcpServers": {
    "rea": {
      "command": "npx",
      "args": ["-y", "rea-agents@6.4.0", "mcp"]
    }
  }
}

mainブランチには未リリースの変更が含まれるため、READMEに書かれた機能が公開版にない場合があります。公開版は npm view rea-agents dist-tags.latest で確認できます。

使い方・最短の手順

セットアップ後は、普段のエージェントへの指示に「REAで解析して」と添えるだけです。まずは自分で書いたElectronアプリなど、手元の安全な対象で試すのがおすすめです。JavaScript/Electronは追加ソフトなしで、CLIから直接実行することもできます。

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json

エージェントへの指示は、目的と範囲を具体的に書くほど安定します。次は一例です。

- 「/path/to/MyApp.asar を解析して、IPCで公開しているチャンネルの一覧と、それぞれの呼び出し元を表にして」
- 「社内で使っている旧システムの実行ファイルについて、設定ファイルを読み込む関数と、読み込む項目を調べて仕様メモにして」
- 「この自社アプリのAPKで、宣言している権限と、外部通信を行うクラスを洗い出して」

エージェントはREAのツールを呼び出し、結果(証拠)をもとに回答します。解析結果は、元のコードそのものではなく推測を含む再構築なので、重要な判断では原典(仕様書、ベンダー資料、実機の動作)と突き合わせてください。

対応エージェントと解析エンジン

setupが対応するエージェントは、Claude Code、Claude Desktop、Codex、Cursor、Gemini CLI、Windsurf、GitHub Copilot CLI、VS Code、Grok Buildなど十数種類です(--client で指定)。ローカルMCPサーバーを使えるエージェントなら手動登録でも使えます。MCPの仕組みやテスト方法はMCPJam Inspector解説、複数のエージェントを組み合わせる方法はDocker Agent解説、エージェント環境の整え方はClaude Code Templates解説も参考になります。

- Hopper / Ghidra / IDA: ネイティブ解析の本体。Hopperはsetupが承認のうえ導入でき、GhidraとIDAは既存のインストールを使う。Ghidraは16ビットDOS解析にも対応するが、Windowsでは実験的
- JEB: 利用者が起動したJEBクライアントに接続して使う
- 内蔵の静的解析: JavaScript・.NETなど。追加ソフト不要
- 大きなバイナリ: 起動待ちの上限を環境変数(REA_GHIDRA_STARTUP_TIMEOUT_MS など)で延ばす

商用ツール(IDA Pro、Hopper、JEB)は、正規に入手し利用を許可された人だけが使えます。REAはそれらのライセンスやキーを提供しません。

既存ツールとの違い

REAは解析エンジンそのものではなく、エージェントから解析エンジンを使いやすくする層です。Ghidra、IDA、Hopper、radare2にもそれぞれMCP連携のプロジェクトがあるため、違いは次のように整理できます。

ツール位置づけ得意なこと注意点
REA複数の解析エンジンと対象をまとめるMCP/CLIネイティブ・JS・.NET・APK・Webなどを同じ手順で扱い、証拠を整理して返す深いネイティブ解析はHopper/Ghidra/IDAが前提。結果は再構築
Ghidra(+GhidraMCP)NSA公開のオープンソース解析スイート。MCP連携は別のコミュニティ製プラグイン無料で高機能な逆アセンブル・逆コンパイル単体ではGhidra内の操作が中心。対象はバイナリ中心
IDA Pro(+IDA MCP)商用の業界標準逆アセンブラ。MCP連携は別のコミュニティ製プラグイン解析精度とプラグイン資産。Hex-Rays逆コンパイラ有料ライセンスが必要
HoppermacOS/Linux向けの商用逆アセンブラ軽快な操作、Mac上のバイナリ解析対応アーキテクチャや機能はGhidra/IDAと異なる
radare2(+r2mcp)オープンソースの解析フレームワーク。MCP連携ありCLI中心で自動化しやすい学習コストが高い

既に特定の解析ツールを使いこなしている人は、そのツールのMCP連携だけで足ります。REAが向くのは、バイナリだけでなくElectronのJavaScript、APK、Webサイトまで1つの窓口でエージェントに調べさせたい場合です。各MCP連携プロジェクトの機能は更新が速いため、導入時に各リポジトリで確認してください。

法的・倫理的な注意点

リバースエンジニアリングは、目的と対象によって適法にも違法にもなります。以下は一般的な整理であり、個別の判断は弁護士などの専門家に相談してください。

正当な利用の例

- 自社が権利を持つアプリ・製品の解析(品質確認、不具合調査)
- 他システムとの相互運用性の確保(連携仕様の確認)
- 脆弱性診断・セキュリティ監査(許可を得た範囲で)
- マルウェア解析
- ソースコードを紛失したレガシーシステムの仕様復元(自社が権利を持つもの)

避けるべきこと・確認すべきこと

- 利用許諾(EULA)の禁止条項: 多くのソフトウェアは、契約でリバースエンジニアリングを禁じています。法律上許される場合があっても、契約違反を問われる可能性があるため、対象ソフトの規約を必ず読む
- 著作権法: プログラムの解析や複製がどこまで許されるかは、目的や態様で変わります。日本では30条の4(情報解析目的の利用)や47条の3(プログラムの複製物の所有者による複製等)などが論点になりえますが、適用の可否は個別事情によるため、断定せず専門家に確認する
- 営業秘密・不正競争防止法: 解析で得た他社の秘密情報の取得・使用・開示は問題になりうる
- 他社サービスの規約違反: Webサイトやアプリの解析、APIの叩き込みは、利用規約や不正アクセス関連の法令に触れるおそれがある
- 解析結果の再実装: 逆コンパイル結果をほぼそのまま自社製品に取り込むと、著作権侵害のリスクが高い。仕様の把握にとどめ、実装は独自に行う
- 社内承認: 業務で使う場合は、対象・目的・成果物の扱いを社内(法務・情報システム部門)で承認してから行う

なお、REAの公式READMEも、クラック版、盗まれたキー、ライセンス回避は認めないと明記しています。コピー防止やライセンス認証の回避、ゲームの不正などを目的にした利用はできませんし、本記事でもその方法は扱いません。

導入時の注意(安全面と情報管理)

- 実行は隔離環境で: JavaScriptや.NETの静的解析は対象を実行しませんが、プロセスの挙動観察(ランタイムキャプチャ)は対象を実行し、利用者の権限で動きます。未知のバイナリは、専用のVMやサンドボックスの中で扱う
- 機密の持ち出し: REAの解析は手元で動きますが、結果はエージェントに渡り、モデル提供元のデータ取り扱い方針に従います。社外秘のバイナリや解析結果をクラウドのモデルに送ってよいかを、事前に確認する。ローカルモデルの利用も選択肢になる
- 権限を絞る: エージェントの承認設定(ファイル書き込み、コマンド実行)を厳しめにし、解析用のディレクトリを分ける
- 版を固定する: 手動登録では rea-agents@6.4.0 のように版を固定し、更新時に変更点を確認する
- 証拠を残す: 解析結果は、対象の版、日時、実行コマンドとあわせて記録すると、後から検証できる

よくある質問

REAに料金はかかりますか?

REA本体はMITライセンスのオープンソースで、別途のAPI料金はありません。費用がかかるのは、エージェントが使うモデルの利用料と、IDA ProやHopperなどの商用解析ツールを使う場合のライセンス料です。Ghidraは無料で使えます。

インストール方法が記事によって違うのはなぜですか?

以前はHopper専用の別パッケージ(@morluto/rea)があり、その名残の記事があるためです。GitHubのREADMEとdocs/installation.mdでは、現在は npx rea-agents setup が案内されています(2026年10月11日時点の最新は6.4.0)。

解析ツールを入れていなくても使えますか?

JavaScript/Electronや.NETの静的解析は、追加のソフトなしで使えます。ネイティブバイナリの深い解析にはHopper、Ghidra、IDAのいずれかが必要です。

元のソースコードを完全に復元できますか?

できません。得られるのは疑似コードや参照関係などにもとづく再構築で、変数名やコメント、設計意図は失われていることが多いです。重要な判断では原典と突き合わせてください。

他社のアプリやソフトを解析してもよいですか?

利用許諾で禁止されていることが多く、著作権法や営業秘密の観点でも問題になりえます。許可を得ていない他社製品の解析は避け、必要な場合は事前に専門家へ相談してください。

機密性の高いバイナリを解析しても大丈夫ですか?

REAの解析は手元で動きますが、結果はエージェントのモデル提供元に送られます。社外秘のものは、データ取り扱い方針の確認やローカルモデルの利用を検討してください。

まとめ

- REAは、コーディングエージェントにリバースエンジニアリングの手段を与えるMIT LicenseのMCPサーバー兼CLI
- 現在の導入は npx rea-agents setup(最新は6.4.0、Node.js 22.19以上など)
- ネイティブ解析はHopper・Ghidra・IDAが前提。JavaScript・.NETの静的解析は追加ソフト不要
- 結果は再構築であり、元ソースの復元は保証されない
- 自社資産・許可を得た診断・相互運用性など、権利と目的が明確な対象に限定し、EULAや著作権法は事前に確認する
- 未知のバイナリはVMで、機密はモデル提供元の方針を確認してから

まずは自分で作ったアプリで試し、解析の流れと出力の質を確認してから、業務での利用範囲を決めるのが安全です。

この記事に関連する無料ツール(登録不要・その場で結果)

お気軽にご相談ください

お問い合わせ