AnubisとGhidra-MCP + Claudeの話
Anubisの話
最近Anubisを導入しました。アクセス時にPoWを要求する奴です。JavsScriptで動いていて、クッキーで管理してるみたいです、ちなみにケモミミちゃんです。
どうも、開発者が我々の大好きなMMO出身のようで、アイコンがメスッテだったところを見ると、ケモミミちゃんの起源はメスッテで大方間違いないでしょう。アスナは俺が守る、おれをメスッテが守る(?)
そもそもの話
こういうbotを撃退するためにPoWを課すコンセプトは結構前からありました、CloudflareのUnderattackモードみたいなのに切り替えると表示されるアレとか、reChaptaを解かせたり。
元々はCloudflareで流してたのですが、去年の11月ごろでしょうか?大規模障害を期に、インターノットを痛感しCDNの使用はやめていて、そうするとよくわからないリクエストがぼちぼち来るようになり始めました。よくわからないリクエストが帯域を食うようになり、cloudflareが課していたPoWの代替となるものが必要になりました。
そこで、Anubisということです。
使い勝手は特段難しい事もなく、リバプロに一枚噛ませる感じです。
Ghidra-MCP + Claudeの話
こちらが本題な気がします。昨今LLMが圧倒的進化を遂げ、ツイッターを見てるとHDLを全部AIに書いてもらって、de0-cvでmp4を再生している動画が流れてきたではないですか。
しかしながら「うわぁ、凄いなあ」と思いつつ、まだ「凄いなあ」という域を出ませんでした。というもの、最近よく「チャッピーはこう言ってるので、この通りにコーディングしてほしい」という、なら最後までチャッピー(笑)に面倒を見てもらえばどうだろうかと思うような問い合わせが増えました。
ここからは偏見なのですが、ChatGPTを「チャッピー」と呼んでいる層が大嫌いです。なぜなら、彼らは思考を放棄しがちだからです。結局のところ、プロンプトを作成するのは人間で、方向性を決めるのも人間です。適切なプロンプトを作れないと、どんな高性能なLLMでもただのデカいファイルに成り下がってしまいます。嫌いな人種が使ってるツールを使おうとも思えず。
そんなこんなあり、LLMには懐疑的でした。正直、もうコンピューターサイエンスとは無縁の生活だし、別にもうどうでもいいかなぐらいのスタンスで、フォロワーがたまにGeminiってやつがバカで困るっていうのを聞くぐらいで、興味もありませんでした、ある日までは。
ツイッターのおすすめ欄というのは見れば見るほどユーザーの興味がありそうな物を出してくるもので、de0-cvの一件からおすすめ欄にLLMの話題が増え始め、ある日”Ghidra-MCP”と呼ばれる物とClaudeとかいうLLMでペロっとPEを解析できたという旨のポストが流れてきました。流石に衝撃的で「Ghidra-MCPってやつでClaudeとかいうやつをつなげてなんかよろしくやったらスゲェ!」ってことはよくわかりました。そうなると、試さないと気になって眠れないのが世の常。試しました。

結論から
見てもらえればわかります、私はGhidra-MCPとclaudeを繋ぎ、ERCOSEKの文献をとってくること、タスク表を探してくることを指示しました。結果は御覧の画像の通りです。もう人間いらねぇな!
しかしながら、結論付けるのはまだ早いです。我々が夢中になってやった青春の1ページ、コピープロテクト外しなんてのは、手伝ってもらえません。この年になってコピープロテクトを外してやろうだなんて思ってはいませんが、こいつらはルールのもとガチガチに縛られて動いてます、言うならば口うるさい学級委員長でしょうか、いちいち注意してくる、ちょっとの例外も許してくれない面倒な存在です。私はまともにガッコウに行ってないので、創作の中でしか見たことはありませんが。
そうすると何が起こるかというと、結局一番最後にAIができないって言ったヨゴレ仕事が人間に回ってきます。なんだこれは。結局最後は自分でニーモニック読んで、エミュレーターを動かして、エミュレーションする命令文がlwzでRAMだとかの時は、自分でRAMにありそうな値をレジスタに入れて…
終わりに
奇麗なバラには棘がある そういうことです。頼りすぎて、何もできなくなると、その後が大変という話でした。
バラの棘を全部引っこ抜く外科手術をする方々、棘を避けまくるプロンプトを投げる方々、まぁ、色々あるようですが、とにかく、最近は凄いけど、全部任せてたら何もできなくなるよ、という話と、皮肉にもその便利なLLMの学習に使われるであろうスクレイピングを追い払ったという話です。
ちなみに
これのおかげでGhidraで古いバージョンと新しいバージョンのコードを見比べていた退屈な時間が激減し、結果として300kbしかなかったxdfが4MBにまでなりました。コードのマッチ率を見て、高いものはそのまま登録、低い、もしくは関数呼び出し順が大幅に変わっているもの等は都度追ってもらいました、これが正直一番やってられなかった理由です。ヤレと言われれば、多分どのバージョンのxdfも作ってもらえる気がする。正直、二次大戦にイージス艦できました[1]そんな漫画、ありましたね。ぐらいのパワー感です。
References
| ↑1 | そんな漫画、ありましたね。 |
|---|