10/10 22:05 更新

どうやって分かったのか、
書いといてくれる?

――ある客が、修理屋に

写真はイメージ Photo by Blaz Erzetic on Unsplash

10/10 22:02 / 発信国:米国

6万スターのAI逆解析ツール、肝は「確かめていないこと」の記録

家電が壊れて、町の修理屋に預ける。数日後、「直りました」とだけ言われて戻ってくる。どこを見てそう判断したのか、何を確かめていないのかは、紙に残らない。

本題は、ソフトの中身をAIに調べさせる道具

今のはたとえ話。本題は「REA(Reverse Engineer Anything)」という道具だ。ソースコードが手に入らない完成品のソフトを、AIのコーディングエージェントに調べさせ、仕組みを説明させる。同じ機能を自分の側に作らせることもできる、とGitHubの説明にある。日本の話ではない。騒ぎになったのはHacker Newsという、海の向こうの掲示板だ。

対象は、ネイティブのプログラムからElectronのアプリ、ウェブサイト、AndroidのAPKまで広い。ネイティブを読むときは、GhidraやIDAといった手持ちのソフトにつなぐ。10日のHacker Newsの投稿は、確認した時点で468点、コメントは188件。GitHubのスターは6万を超えた。どちらも、見るたびに動いている。

では、本当に当たるのか。10月8日、外部の人が試した記録が出た。REAの6.0.0で、公開されているメモアプリの例から、メモをCSVに書き出す部分を追いかけ、別に書き直す。元のものと突き合わせると、あらかじめ決めた14通りの入力すべてで、出てきた文字が1バイトも違わなかった。解析は1.3秒だった。

「やらなかったこと」が並んでいる

すごい、で終わる話に聞こえる。ただ、この報告で目を引くのは、通った14件ではない。やっていないことの一覧だ。

画面に表示されたプログラムのコード
写真はイメージ Photo by ANOOF C on Unsplash
積み上がった書類
写真はイメージ Photo by Wesley Tingey on Unsplash

分かったのは、書かれたコードの上のつながりだけ。実際に動かして確かめたのではない。アプリは立ち上げてもいない。ネイティブのプログラムも、逆コンパイルしていない。同じだと言えるのは、試した14通りの中だけ。速さの計測でもない。報告は、そう自分で線を引いている。

REAのほうも、調べた過程を残す。GitHubの説明では、解析は手元の機械の中だけで動き、結論には一つずつ、根拠と、どこまでしか言えないかが付く。

なぜ、そこまで記録するのか。法律の話だ。他社のソフトと同じ機能を自分で作るとき、昔から使われてきた手がクリーンルーム設計だ。調べる班と作る班を分け、作る側は元のコードを見ない。真似ではないと、後から示すためだ。米国の法律事務所リードスミスのジェラルド・M・ドノヴァン氏は、7月10日の解説でこう書いた。この手順では「独立して作ったことを証明する、その場でできた記録を残すべきだ」。

REAが法律のために記録を残すとは、どこにも書かれていない。ただ、残る形は近い。REA自身は、必要な許可を取って法律を守る責任は使う側にあると注意している。

ネットの評判

Hacker Newsのコメント欄は割れている。逆解析をやったことがない人は、動かしてみたら調査が少しは進んだと書いている。冷ややかな声もある。「AIの逆コンパイルで入ったバグを全部直すほうが、ずっと長くかかると思う」。GhidraやIDA Proをエージェントにつなぐ仕組みはもうある、という指摘も出た。

法律の心配は、もっと具体的だ。ある人はこう聞く。「使っているLLMが、逆コンパイルされたアプリで学習していないと、どうして分かる?」。LLMから出てきたクローンを「クリーンルーム」だと証明できない、という返しもある。記録を残しても、ここは埋まらない。

1,648バイトのファイル1本を調べて、残った記録は907キロバイト。中身より、確かめた跡のほうが500倍多い。

出典

よく読まれている記事

こちらの記事も

← 一覧へ戻る