AIがアプリを逆解析する「REA」とは――急拡散の理由と法的リスク

ソースコード非公開のアプリをAIエージェントに解析させ、仕組みを根拠付きで説明し、似た機能まで作らせるOSS「REA」がGitHubで急拡散。何が新しく、どこまでできて、日本の著作権法や利用規約で何に注意すべきかを整理します。

「あのアプリのこの機能、どうやって動いているんだろう」。そう思ったら、AIエージェントに聞くだけで、ソースコードがなくてもバイナリを調べて根拠付きで説明し、自分のプロジェクト用に似た機能まで作ってくれる――。そんなオープンソースツール「REA(Reverse Engineer Anything)」が、2026年10月上旬からGitHubで爆発的に注目を集めています。

REAは、Claude Code・Codex・Cursor・Gemini CLIなどのAIエージェントに、MCP(Model Context Protocol)経由で**リバースエンジニアリング(逆解析)**の道具一式を渡すツールです。10月7日の5.0.0公開からわずか数日でGitHubトレンド1位となり、10月12日時点でスター数は約13万に達しました。

本記事では、REAが何をするツールなのか、話題の数字のどこまでが実態なのか、そして日本で使う場合に押さえておくべき法的・倫理的な論点を整理します。

この記事の要点

  • REAは逆コンパイラそのものではなく、Ghidra・IDA・Hopperなど既存の解析エンジンをAIエージェントから使えるようにする「まとめ役」
  • 最大の特徴は、結論ごとに「根拠(evidence)」と「限界(limitations)」を返す出力設計
  • 実証されているのは「関数単位の復元」で、アプリ丸ごとのクローンではない
  • 日本では著作権法30条の4により解析自体は原則として適法とされるが、利用規約・不正競争防止法・セキュリティ回避は別問題

REAとは何か:AIエージェントに「逆解析の道具箱」を渡すMCPサーバー

REAの公式READMEは、自らを「バイナリ、アプリケーション、実行時の挙動にまたがるリバースエンジニアリングのための単一のMCP」と説明しています。ライセンスはMITで、npx rea-agents setup を実行すると、利用中のAIエージェントにREAのMCPサーバーと作業手順(スキル)が登録されます。

使い方は自然言語で頼むだけです。テクノエッジの紹介記事では、「REAを使ってこの恐竜ゲームを調べて。なぜ速くなるのか、速度のルールを示して、速度を調整できる小型バージョンを作って」といった依頼例が示されています。エージェントはREAを呼び出して対象を調べ、該当するコードを追跡し、得られた根拠をもとに説明や再実装を行います。

解析対象は、ネイティブバイナリ、JavaScript・Electronアプリ、.NETアセンブリ、Webサイト、Android APK、ファームウェア、EVMバイトコードなど幅広く、解析はローカル環境で実行されます。ネイティブバイナリの解析にはHopper・Ghidra・IDAのいずれかが必要ですが、JavaScriptの静的解析だけならこれらのエンジンは不要です。

背景:なぜ今、これほど注目されたのか

数日で「トレンド1位」まで駆け上がった

第三者による技術調査レポート(ringozzt/rea-research)によると、リポジトリは2026年4月に「betterBinaryMCP」という名前で作られ、当初はHopper向けのMCPサーバーでした。その後、汎用的な逆解析プラットフォームへと拡張され、10月に入って急速に版を重ねています。

10月5日の4.0.0から11日の6.4.0まで、ほぼ毎日新バージョンが公開され、10月7日の5.0.0では133個のMCPツールを備えて正式公開、翌8日にはGitHubトレンド1位となりました。

中国語圏のテックメディアでも「WeChatやAlipay、Douyinといった国民的アプリまで解析された」といった紹介が相次ぎ、日本でもテクノエッジが10月12日に取り上げてアクセスランキング首位となりました。

「逆解析を守っていたのはコストだった」

この熱狂の背景にあるのが、「これまでソフトウェアを守っていたのは、逆解析にかかる手間(コスト)だった」という論点です。従来、リバースエンジニアリングは専門家が逆アセンブラの前で何時間も費やす作業でした。REAはそれを「機能を見つける→ロジックを読む→自分の環境で再実装する」という、AIエージェントが分単位で回せるループに変えようとしています。

何が新しいのか:「根拠と限界」を返す出力設計

REA自身は逆コンパイルしない

意外に思われるかもしれませんが、REAは逆コンパイラを自作していません。調査レポートは「REAは逆コンパイラではなく、逆コンパイラをエージェント化するオーケストレーション層だ」とまとめています。ネイティブ解析の能力そのものは、ユーザーが用意したHopper・Ghidra・IDAに依存しています。ほかにもJADX(APK)やBinwalk(ファームウェア)など数十種類の既存ツールを束ねています。

結論ごとに証拠IDと「わからないこと」を返す

本当の新しさは出力の形にあります。REAのツールは結果を返すたびに、次の情報をセットで返します。

  • result:解析結果
  • evidence_id:その結果を裏付ける証拠の識別子
  • limitations / unknowns:その結論の限界や、わかっていないこと

証拠は書き出して別バージョンとの比較にも使え、「割合を捏造しない」「ファイルのハッシュが宣言と食い違えば解析を止める(fail-closed)」といった方針も明記されています。

AIエージェントは、もっともらしい推測を断定口調で語ってしまうことがあります。中国のエンジニアブログ(fanweibin.cn)は、REAの本質を「不確実性そのものを出力の一部として設計したこと」だと評しています。

どこまでできるのか:話題の数字を冷静に見る

「関数単位の復元」であって「丸ごとクローン」ではない

公式サイトで紹介されている代表的な事例が、1996年のWindowsゲーム「DX-Ball」です。音の左右の振り分けを担う1つの関数について、エージェントが命令列を追い、定数を読み解いて計算式を復元しました。書き直したC言語のコードは3,205件の動作テストをすべて通過し、当時のコンパイラで再コンパイルすると、元の関数と63バイトすべてが一致したといいます。

ただし、調査レポートはこれが関数ごとの検証であることを強調しています。プロジェクト全体では55関数中33関数がバイト一致という段階で、対象は難読化されていない古いソフトです。別の独立検証(kingy.ai)でも14件のテストは通過したものの、「難読化されたバイナリでの正確性や、アプリ全体のクローンを示すものではない」と結論づけています。

スター数と実利用のギャップ

スター数が13万に届く一方で、調査レポートが確認した時点のnpm週間ダウンロード数は約1,300件でした。注目度の多くは「見物」によるものだと考えられます。

実務上の制約も多い

返ってくるのは元のソースコードではなく、疑似コードやアセンブリなどの「証拠」です。難読化・パッキングされたソフトや動的な挙動の解析は難しく、出力が非常に重い(約1.6KBのソースから約907KBのJSONが出た例)ことや、Ghidraの初回処理がMCPクライアントのタイムアウトに引っかかる場合があることも報告されています。

「Anything(何でも)」は現状ではなく目標だ、というのが妥当な評価でしょう。

法的・倫理的な論点:日本で使うなら何に注意すべきか

著作権法上、解析そのものは原則として適法

日本では、2018年(平成30年)の著作権法改正で「柔軟な権利制限規定」が設けられ、その一つである**第30条の4(著作物に表現された思想又は感情の享受を目的としない利用)**によって、プログラムのリバースエンジニアリングの適法性が明確になったと解説されています。文化審議会の「AIと著作権に関する考え方」(2024年3月)でも、30条の4の対象となる利用の例としてプログラムのリバースエンジニアリングが挙げられています。

それでも「何をしてもよい」わけではない

一方で、解析が原則適法であることと、解析結果をどう使うかは別の問題です。主に次の点に注意が必要です。

  • 利用規約・ライセンス契約:多くの商用ソフトやアプリは規約で逆解析を禁じています。著作権法上は問題なくても、契約違反を問われる可能性があります
  • 再実装の仕方:機能のアイデアやロジックを参考にすることと、表現(コード)をそのまま写すことは違います。逆コンパイル結果を丸ごと移植すれば、著作権侵害のリスクが高まります
  • 営業秘密・不正競争防止法:解析で得た情報の使い方によっては、別の法律が問題になる場合があります
  • 技術的保護手段の回避・不正アクセス:コピーガードの回避や、他人のサーバーへの無断アクセスは、解析とは別に違法となり得ます

REA自身も「合法的なリバースエンジニアリング研究のためのツールであり、必要な許可の取得と法令遵守は利用者の責任」と明記しています。コミュニティガイドも「あなたが検査する権利を持つソフトウェア」を対象にするよう呼びかけています。

「ローカル解析=秘密が守られる」ではない

見落としやすいのが情報の流れです。REAの解析処理はローカルで動きますが、その結果はAIエージェントに渡され、エージェントは推論のためにクラウドのモデル提供者へ送信します。つまり、自社の機密バイナリや取引先から預かったソフトを解析すると、その中身の一部が外部に送られる可能性があるということです。

また、セキュリティポリシーには「これはサンドボックスではない」と明記されています。不審なマルウェアなどを解析する場合は、隔離した仮想マシンやローカルLLMを使うといった対策が欠かせません。

影響と今後:ソフトウェアの「守り方」が変わる

REAのようなツールが普及すると、ソフトウェア業界にはいくつかの変化が予想されます。

  • クライアント側ロジックの「隠す価値」が下がる:配布されたアプリに含まれる機能は、AIエージェントによって読み解かれ、模倣されやすくなります。競争力の源泉は、サーバー側の処理、データやネットワーク効果、ブランド、開発スピードへと移っていく可能性があります
  • 防御側の武器にもなる:セキュリティチームにとっては、不審なサンプルやサプライチェーン上のコンポーネントを素早く理解する手段になります。脆弱性調査やレガシーシステムの保守にも役立ちます
  • 攻撃の敷居も下がる:同じ能力は攻撃者の偵察にも使えます。AIエージェントと既存ツールの組み合わせが攻撃のハードルを下げる、という議論はREA登場以前から始まっており、今後さらに強まるでしょう
  • 企業の利用ルール整備が急務に:どの対象をどのモデルで解析してよいか、解析結果を再実装にどう使うかといったガイドラインが、開発組織に求められます

よくある質問

REAとは何ですか?

REA(Reverse Engineer Anything)は、AIエージェントにリバースエンジニアリングの機能を提供するオープンソースのMCPサーバー兼コマンドラインツールです。ソースコードがないアプリやバイナリを調べ、機能の仕組みを根拠付きで説明し、似た機能の実装を手伝います。ライセンスはMITです。

REAはどのAIエージェントで使えますか?

公式READMEによると、Claude Code、Codex、Cursor、Gemini CLI、Grok Buildなどに対応しています。npx rea-agents setup を実行すると、選んだエージェントにREAのMCPサーバーが登録されます。ネイティブバイナリの解析には、別途Hopper・Ghidra・IDAのいずれかが必要です。

REAを使えばアプリを丸ごとコピーできますか?

できません。REAは元のソースコードを復元するのではなく、疑似コードやアセンブリなどの証拠を示し、それをもとにエージェントが機能を再実装する仕組みです。公開されている成功例も関数単位の復元にとどまり、難読化されたソフトでは難しくなります。

日本でリバースエンジニアリングをするのは違法ですか?

日本では2018年の著作権法改正で設けられた第30条の4により、プログラムのリバースエンジニアリングは原則として著作権侵害にならないと解説されています。ただし、利用規約での禁止、解析結果のコードの丸写し、営業秘密の扱い、技術的保護手段の回避などは別の法的問題になり得るため、注意が必要です。

社内の機密ソフトをREAで解析しても安全ですか?

解析処理自体はローカルで行われますが、結果はAIエージェントを通じてクラウドのモデル提供者に送信されます。機密性の高いソフトを解析する場合は、データの扱いが社内ルールに合ったモデルを選ぶか、ローカルLLMの利用を検討してください。

まとめ

REAは、AIエージェントに逆解析の道具を渡し、「なぜそう言えるのか」という根拠と限界を常に添えて返すことで、リバースエンジニアリングを専門家の手作業からエージェントの反復作業へ近づけようとするツールです。一方で、実証されているのは関数単位の復元であり、スター数ほどには実利用が広がっていないなど、熱狂と実態には差があります。

日本では解析そのものは著作権法30条の4で原則として認められていますが、利用規約、再実装の仕方、情報の外部送信といった点には別途注意が必要です。「コストが守っていたソフトウェア」の時代が終わりつつある今、開発者には技術を使いこなす力と同時に、使ってよい範囲を見極める判断力が求められています。

参考ソース

関連記事