Lilith.
⌕
編集イラスト: REAは2週間で30万スターを集めた。最も価値があるのは「わからないこと」のリストだ
Lilithのイラスト · 編集リミックス

REA、正式名称Reverse Engineer Anythingは、一つの文に立脚したプロジェクトだ。気に入った機能を見つけたら、その仕組みをバイナリのレベルまで理解できる。10月、この一文が無名に近かったリポジトリを、GitHubで最も急成長するプロジェクトに押し上げた。だが「ソフトウェアの終わり」という触れ込みの裏にあるのは、かなり限られた役割を誠実にこなす、役に立つツールだ。

3週間でスター41から36万へ

morluto/reaリポジトリは2026年4月14日に作られ、半年間ほとんど誰にも気づかれなかった。Moe LuekerがまとめたGH Archiveのデータによると、10月2日のスターは41だった。1週間後には4万5000を超え、10月12日には1日で5万2000近く増えた。10月22日時点で、GitHubには36万5000を超えるスターと9万1000のフォークが表示されている。インストーラーのパッケージrea-agentsは、ピーク時にnpmで1日10万回以上ダウンロードされた。人々は実際にこれを動かしていたわけだ。

火を付けたのはSNSだった。10月8日、Matthew BermanはXに「Reverse Engineer Anything 😂 Software is done.」と投稿した。この投稿の表示回数は280万に達している。続いて数百万回再生の動画が出回り、中国語や日本語のスレッドもGitHubで最も熱いリポジトリだと取り上げた。Fireshipは「Every app on Earth is now open source」という動画を公開した。ただしこの動画の中心はAdobeアプリのクローンの話で、そちらは別の方法で作られており、REAは使われていない。それでも二つの話は混ざり合い、閉じたソフトウェアはもう閉じていない、という一つの印象になった。

作者はmorlutoと名乗っており、本名は公表されていない。プロジェクトはエージェントを使って作られていることを隠していない。AgentBreakingの集計では、10月初めから10月12日までに、Claude Opus 5.5を共著者として記したコミットが263件あった。8日間でバージョンは3.2.1から6.4.0に跳ね上がり、現在は6.7.0が出ている。

逆コンパイルは今もGhidraの仕事。REAは証拠を加える

REAは独自の逆コンパイラを持たない。ネイティブのプログラムには、手元にあるGhidra、Hopper、IDAのいずれかを操作して使う。それに加えて、JavaScriptとElectron、.NET、Androidアプリ、ファームウェア、Webサイト、ネットワークキャプチャを解析できる。これにより、エージェントは1つのMCPサーバー経由で約140のツールを使えるようになり、インストールもnpx rea-agents setupというコマンド一つで済む。

つまり新しいのは、AIがGhidraを操作できることではない。GhidraMCPやida-pro-mcpは2025年3月からそれを実現している。新しいのはパッケージングと、何より回答の形式だ。どの発見にも出どころを示す証拠が付き、エージェントは解明できなかったことも記録する。もっともらしい推測の代わりに、未解明事項のリストが残る。機械語を読むツールにとって、これは対応フォーマットの数よりも重要な性質だ。

プロジェクト自身が示す事例は、正確だが小規模だ。1996年のゲームDX-Ballでは、エージェントがステレオ音声の定位を計算する処理をC言語で書き直した。結果は元のx86コードに対する3205件のテストに合格し、コンパイル後の関数の63バイトすべてが一致した。ただし、プログラム全体を再構築した人はおらず、READMEもそれを約束していない。REAが返すのは擬似コード、アセンブリ、モジュール間の関係であり、元のソースコードではない。

独立テスト:小さなプログラムではREAは不要だった

10月9日、GitTestedはREAを使うエージェントと、objdumpなどの一般的なツールを使うエージェントを比較した。対象はシンボルを除去した小さなバイナリ4本と、Electronアプリ3本。回答は、実際のソースコードから事前に書き出した事実に照らして採点された。ネイティブのプログラムでは、REAなしのエージェントが75点中74点、REAありが75点中73点だった。しかもREAありでは約2.5倍のトークンを消費した。そのためレビュー担当者は慎重な導入を勧めている。エージェントが自力で読めるコードには、REAの助けはいらない。

話題になったデモも似た結末だった。ユーザーの@AIWarperは、REAとOpusで購入済みのSteamゲームを逆コンパイルし、30分でUnity上で起動できたと投稿した。返信では、それはMonoビルドだったのかと問う声が上がった。そうしたゲームにはC#の中間コードが含まれ、無料のツールが20年前から逆コンパイルしてきた。スレッドで答えは返ってこなかった。もう一つの限界を決めるのは、ツールではなくモデルだ。他社製バッテリーの通信プロトコルの解析などで、Claudeが作業の続行を拒んだという報告が複数あった。

トロイの木馬入りの偽コピーと法的な境界線

成功は詐欺師も引き寄せた。Pasquale Pillitteriのファクトチェックによると、10月13日にrea-toolsという組織の下にリポジトリのコピーが現れた。コピーしたREADMEに、Windows用の単体.exeファイルの項目を付け加えていた。通報されるまでにアーカイブは172回ダウンロードされ、Microsoft DefenderはWacatacファミリーのトロイの木馬と判定した。公式READMEは現在、似た名前やコピーされた文章は何の証明にもならないと警告している。REAはgithub.com/morluto/rea、rea.tools、npmのrea-agentsパッケージからのみ入手すべきだ。

本物のバージョンでさえサンドボックスではないと、セキュリティ文書ははっきり書いている。セットアップは選んだすべてのエージェントの設定を書き換える。実行時の解析は、対象のプログラムをあなたの権限で動かす。依存関係も毎日変わるので、特定のバージョンに固定しておくのが賢明だ。

法的に最も重要なのは、誰のプログラムを分解するのかだ。EUでは指令2009/24/ECが、相互運用性のために不可欠で、必要な情報がほかの方法で入手できない場合に、プログラムの逆コンパイルを認めている。この権利は契約で排除できない。ただし、その結果を使って元のプログラムと実質的に類似したプログラムを書くことは認められていない。REAの免責事項はDRMやライセンス認証の回避を禁じている。一方でマーケティングは「自分の製品に似た機能を作ろう」と誘う。Redditで独立系ゲーム開発者が恐れているのは、まさにこのグレーゾーンだ。

Lilithの判定

REAはミームになった良いツールだ。スターが示すのは拡散力であって監査ではない。最大の長所は、わからないことを控えめに並べたリストにある。プログラムが本当は何をしているのか確かめたいなら、自分のアプリを対象に、バージョンを固定して仮想マシンで試せばいい。「何でも手軽にクローンしたい」と思っていた人の手に残るのは、主に擬似コードとトークンの請求書だ。