REA(Reverse Engineer Anything)は、配布済みのアプリや実行ファイルを調べ、機能がどう動くかをコーディングエージェントが根拠とともに追えるようにするオープンソースのツールです。2026年11月8日の確認時点で、GitHubのスター数は約44万でした。公開元は 公式GitHubリポジトリ morluto/rea です。
Adobe製品の話はどこから来たのか
2026年10月、Brandon ThomasのArtCraftチームは、Photoshopに近い編集作業ができる画像エディターPhotoCraftを公開しました。開発チームによると、公開仕様と観察できる動作をもとにRustで再実装したものです。同じ頃にREAも注目されました。両者の話題は重なりましたが、PhotoCraftの開発でREAを使ったと裏づける公開資料は確認できません。ArtCraftのリポジトリに10月12日に投稿されたIssueも、REAの利用を検討したか尋ねる内容です。PhotoCraftリポジトリ · ArtCraftのREA関連Issue · ABCの報道
Table 1 · それぞれのプロジェクトが公開したもの
| プロジェクト | 公開したもの |
|---|---|
| REA | 既存のソフトウェアで機能の動作を追い、根拠を得るための解析ツール |
| PhotoCraft | Photoshopに近い編集作業を提供する、独立したRust製アプリ |
エージェントとREAの役割
エージェントに、調べたい機能を一つ渡します。REAは、エージェントと外部ツールをつなぐ規格であるMCPを通じて解析機能を提供します。たとえばElectronアプリなら、画面から送られるメッセージを受け取る関数までたどれます。ネイティブ実行ファイルの解析では、対象に応じてGhidraなどが必要です。エージェントの説明を読むときは、根拠となるファイルや行番号と、調査できなかった範囲も確認します。REAのCLIと根拠データのガイド
公式の例で書き出しボタンを追う
Node.jsとnpmを使える環境で、次のコマンドを実行します。対象のエージェントと設定の変更内容を確認して適用したら、エージェントを再起動します。対応するNode.jsのバージョンは 導入手順 に掲載されています。
npx rea-agents@latest setupREA公式のNotesサンプル をダウンロードして展開し、フォルダの場所をエージェントに伝えます。サンプルのコードを読むだけで調べられるため、Electronを起動する必要はありません。
このサンプルでノートの書き出しボタンを押すと、何が起きますか。
ボタンからファイルの書き込みまでを追い、該当するファイルと行を示してください。
CSVの保存先と列名も教えてください。%% Notesの書き出しボタンからCSVの保存まで
flowchart TD
A["書き出しボタン · renderer.js"]
A --> B["notes:exportメッセージ · preload.js"]
B --> C["CSVの整形と書き込み · main.js"]
C --> D["ダウンロードフォルダのnotes.csv"]列名は id と title です。ダウンロードしたサンプルのCSV変換関数にタイトル Hello, "REA" を渡すと、次の出力になりました。タイトル全体が一つのフィールドに入り、内側の引用符は二重になります。
id,title
1,"Hello, ""REA"""ここで確認できるのは変換関数の出力です。ファイルの書き込みに失敗した場合に画面に何が出るかは、別の質問で追えます。ソースのある小さな例や調査の許可を得たアプリで機能を一つずつ調べると、説明を根拠と照らし合わせやすくなります。