REA
すべてのガイド

コーディングエージェントで REA を使う:初めての調査

reverseengineeranything.tools

REA をインストールし、エージェントを接続し、ローカルの JavaScript アプリを調べます。機能の再実装前に、発見を根拠と照合しましょう。

このページの更新内容

  • — 出典付きのコミュニティ事例、実用的なガイド、根拠の明確な限界を公開しました。

コーディングエージェントで REA を使うには、npx rea-agents@latest setup を実行し、選んだクライアントの設定変更を承認して再起動します。その後、ローカルソフトウェアの対象と、調べたい具体的な動作を一つ渡します。何かを作らせる前に、関連コード、ソースの場所、制約を示すよう求めましょう。

REA はオープンソースの CLI 兼 MCP サーバーです。この記事は独立したコミュニティガイドで、rea.toolsと morluto/rea リポジトリが公式の情報源です。

REA のインストール前に必要なものは?

REA には Node.js 22.x の 22.19 以降、Node.js 24.x の 24.11 以降、または Node.js 26 以降と npm が必要です。Node.js 23、25、プレリリース版はドキュメントの対応範囲外です。新しいマシンにセットアップする際は公式インストールガイドを確認してください。

自分が所有するか、調査を許可された対象を選びます。展開済みの JavaScript アプリや Electron の ASAR アーカイブは、最初の対象に適しています。REA の静的アプリ解析には Hopper、Ghidra、IDA が不要だからです。高度なネイティブバイナリ解析はこれらのエンジンのいずれかを使い、追加のプラットフォームとバージョン要件があります。REA READMEに対応する対象と前提条件が記載されています。

何をしたい? 推奨する出発点 入力 結果
エージェントに機能を説明させる REA MCP のセットアップ ローカルの対象パスと具体的な質問 発見、根拠、追加調査
エージェントなしでアプリを調べる REA CLI 展開済み JavaScript アプリのディレクトリや ASAR 構造化されたアプリの根拠
ウェブレイアウトを手動で調べたり JavaScript を止めたりする Chrome DevTools Chrome で開いたページ DOM/CSS の直接編集とブレークポイント操作
バイナリの関数やグラフを自分で探索する Ghidra 対応する実行ファイルやライブラリ 対話的な逆アセンブル、逆コンパイル、解析プロジェクト

Chrome DevTools と Ghidra は、直接調べるための優れたインターフェースを備えています。エージェントに調査の進行を手伝わせ、選んだ発見を説明や実装につなげたいときに REA が役立ちます。Ghidra との比較と Chrome DevTools との比較もご覧ください。

REA をコーディングエージェントに接続するには?

公式セットアップコマンドをターミナルで実行します。

npx rea-agents@latest setup

使うクライアントを選択し、設定内容とスキルのパスを確認して計画を承認します。セットアップは REA のローカル MCP サーバーを登録し、対応する調査指示をインストールします。完了メッセージにあるクライアントを再起動し、実行中のエージェントが接続を見つけられるようにします。公式セットアップドキュメントでは、プレビュー、バックアップ、適用範囲の制御が説明されています。

Codex の登録を確認するには、次を使います。

npx -y rea-agents@latest doctor --client codex --json

必要に応じて codex を対応クライアント ID に置き換えます。正常な doctor 結果は登録ファイルと前提条件を確認しますが、現在のエージェントセッションの再接続を証明しません。まだ REA が見えない場合は再起動や再接続を行い、MCP 接続エラーを調べます。skills.sh のスキルだけをインストールしても、指示が入るだけで MCP 接続は作られません。公式のトラブルシューティングにこれらの違いが説明されています。

最初のプロンプトでは何を調べさせる?

アプリ全体の再実装を依頼するより、観測できる動作を一つ選びます。調査を許可されたアプリなら、次のような具体的な指示が使えます。

REA で /absolute/path/to/my-notes-app を調べてください。
アプリがノートを CSV にエクスポートする仕組みを説明してください。
関連するモジュール、ソースの場所、根拠を示してください。
確認できた動作と判断できない点を区別してください。

パスを実際の対象に置き換えます。REA が調査結果を提供し、エージェントがそれを解釈します。回答を受け入れる前に、対象ファイル、関連コード、調査し切れていない範囲が示されているか確認してください。参照場所のないもっともらしい説明は、追加調査が必要な仮説です。

MCP が利用できない場合、静的な JavaScript 調査を直接実行することもできます。

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

このコマンドは展開済みアプリのディレクトリや ASAR を受け取り、Evidence レコードを返します。監査でネイティブプロバイダーに失敗があっても、この別の JavaScript ワークフローまで実行できないとは限りません。REA のタスク別準備確認では、実際に必要な作業を対象に確認することを勧めています。

機能を再実装する前に結果をどう確認する?

説明を小さな予測に変えます。CSV エクスポーターなら、通常のノートと、カンマ、引用符、改行を含むノートを比較します。どの分岐がその文字を処理し、予測した出力が元のアプリで観測したエクスポートにどう一致するかをエージェントに尋ねます。観測した出力は、エージェントが提案した代替コードとは区別して記録してください。

公式 Notes 調査は CSV エクスポートを使ってこの手順を教えています。公式の恐竜ゲームの例は別の対象です。REA がブラウザーゲームの読み込み済みスクリプトを読み、エージェントが加速ルールを特定し、小さな再実装で速度を調整できるようにします。どちらもプロジェクト作者による実例であり、独立した利用者の体験談ではありません。

リリースとプライバシーの制約は?

リポジトリの main には、公開 npm パッケージより新しい機能が記載される場合があります。@latest は現在の npm リリースを指定し、永続的な MCP 登録はセットアップを実行した正確なバージョンに固定されます。更新時はセットアップをやり直し、エージェントを再起動します。main のすべての機能が入っていると考えず、接続中サーバーの実際のツール一覧とスキーマに基づいて選んでください。公式のリリース範囲の説明に詳細があります。

REA は自分のマシン上で対象を解析します。ツールの結果はコーディングエージェントに送られ、モデル提供元には独自のデータポリシーがあります。特にソースの断片、ローカルパス、キャプチャしたリクエスト、アプリのデータは、共有前に結果に含まれる内容を確認してください。公式 FAQはローカル解析とモデル提供元の境界を説明しています。

初めての調査後によくある質問は?

Hopper、Ghidra、IDA なしで REA を使える?

はい。JavaScript/Electron と .NET の静的な調査にネイティブ解析エンジンは不要ですが、高度なネイティブ解析には必要です。すべての任意プロバイダーを必須と考えず、対象に合わせて前提条件を選びます。

REA は元のソースコードを復元する?

ネイティブ解析は、アセンブリ、疑似コード、裏付けとなる発見を返します。疑似コードは解析用の表現であり、元のソースを再現する保証ではありません。エージェントは発見を使って新しい実装を書き、テストできます。

AI の契約なしで REA を実行できる?

REA CLI は解析ワークフローを直接実行できます。コーディングエージェントの利用には、そのクライアントのアクセス要件とモデル提供元の条件が関わります。REA の MIT ライセンスは、モデルの利用権や有料解析エンジンのライセンスを提供しません。

コマンドが失敗したらどうする?

まずドキュメントの前提条件を確認し、REA を更新してください。グローバルインストールの CLI は rea update でそのインストールを更新します。npx によるエージェント設定なら npx rea-agents@latest setup を再実行してクライアントを再起動します。それでも失敗する場合は、REA のバージョン、OS、対象の種類、プロバイダー、手順、エラー出力を公式 Issue トラッカーで報告してください。