Claude Codeのスキルというと、コードレビューやドキュメント整形みたいな「書く仕事」の周辺に集まりがちです。
そこにIDAとFridaを持ち込んで、バイナリ解析の手順そのものをスキルに落とし込んだのが reverse-skills でした。
8スキルで何が肩代わりされて、どこから先は結局自分で用意することになるのか。
なぜ今 Claude Codeのスキルがセキュリティ解析の現場に降りてきたのか
リバースエンジニアリングは、知識の大半が手順とAPIの作法でできています。
IDAPythonのどの関数を呼ぶか、Fridaのフックをどう書くか、Unicornに何をマッピングしてから回すか。
考える部分より、思い出す部分のほうが圧倒的に多い領域なんですよ。
rev-frida の説明がわざわざ「現代のFrida APIを使って」と断っているのは、放っておくと数年前の書き方をしたスクリプトが返ってくるからでしょう。
スキルはこの「思い出す部分」を外部ファイルに固定して、必要なときだけ読み込ませる仕組みです。
手順知の塊であるリバースエンジニアリングとは、相性がかなり良い。
reverse-skills は1,859スター、フォーク238件。
2026年1月に公開されて、直近のコード更新は5月で止まっています。
放置されているというより、8スキルぶんの手順が固まって、あとは使うだけの状態になっている感じですね。
スキル1つ入れただけで手元の挙動が変わる例は、「grill me」スキルの記事でも扱いました。
こんな場面で使う Androidアプリの通信を実機で追いかける動き方
自分が配布しているAndroidアプリの通信を、プロキシで覗いても中身が読めない。
リクエストボディが署名されていて、その生成がネイティブライブラリ側にある。
よくある詰まり方ですが、ここからの動き方が変わります。
まず libnative.so をIDAで開いて、署名を作っていそうな関数を探す。
エクスポート表とデコンパイル結果から当たりをつけるのが rev-symbol の役目です。
見つけた関数の引数が void* だらけで読めない、というときは rev-struct がデコンパイル結果から構造体を組み直します。
構造が見えたら、次は実機で本物の値を見たい。
rev-frida にフックスクリプトを書かせて、引数と戻り値をそのまま吐かせます。
詰まるたびに検索してAPIの正しい書き方を確認する時間が、この流れではまるごと消えます。
署名アルゴリズムを理解する部分だけが手元に残る、という配分ですね。
reverse-skillsは何をするパッケージか 8スキルの逆引き早見表
いまの流れで出てきたのは8スキルのうち3つでした。
残りも含めて、やりたいことから引ける形で並べます。
rev-symbolrev-structrev-fridarev-unicorn-debugrev-dex-dumperrev-u3d-dumprev-idapythonrev-ios-dump見て分かる通り、実体は手順書とAPIリファレンスです。
入れた瞬間に解析が始まるわけではないので、そこは期待しないほうがいいです。
SKILL.mdの仕組みそのものが気になるなら、SKILL.mdが自動で改善される「Learnings Loop」のほうが基礎になります。
導入はコマンド1つ npx skills add で入るものと外し方
npx skills add P4nda0s/reverse-skillsこれで8スキルがまとめて入ります。
更新確認と更新、個別の削除も同じCLIで完結します。
npx skills check
npx skills update
npx skills remove rev-symbol rev-struct全部入れっぱなしにする必要はありません。
iOSを触らないなら rev-ios-dump は外していいし、Unityを扱わないなら rev-u3d-dump も要らない。
スキルの説明文は起動時に読み込まれるので、使わないものを削っておくとコンテキストが軽くなります。
npx skills add はClaude Code専用の仕組みでもなく、リポジトリ側は40以上のAIコーディングエージェントに対応すると書いています。
同じ入れ方をする別のスキルは、hallmarkの記事でも扱いました。
IDA-NO-MCPとFridaの役割分担 静的解析と動的解析をAIがどうつなぐか
reverse-skills は単体で完結する設計ではなく、同じ作者の IDA-NO-MCP と組み合わせる前提で作られています。
名前が示す通り、IDAをMCPサーバー越しに叩く従来のやり方を採らないのが主張です。
やっていることは単純で、IDAのデコンパイル結果をファイルに書き出すだけ。
関数ごとに .c や .asm を吐き、大きいバイナリでは単一ファイルへの追記モードとサンプリングしたコールグラフに切り替わります。
書き出し先には AGENTS.md が置かれていて、エージェントがレイアウトを自力で理解できるようになっている。
MCPで1関数ずつ往復するより、ソースとして置いてgrepさせたほうが速い。
READMEの「Text、Source Code、Shell is LLM native language」が、その割り切りを言い切っています。
こちらは1,883スターで、直近も更新が続いています。
8スキルそのものより、この設計判断のほうが面白いと思っています。
静的側で仮説を立てて、動的側で潰して、結果を静的側のメモに書き戻す。
人手だとIDAとターミナルとエディタを行き来する作業ですが、エージェントは両方の出力を同じコンテキストに並べられます。
MCPサーバーを立てる前にファイルへ落とせないか考える、という順番はリバースエンジニアリング以外でも使えます。
Unicornエミュ DEX抽出 iOS復号 プラットフォーム別に見る残り5スキル
Android向けの2つは、どちらも「静的に開いても中身が出てこない」ケースへの答えです。
パッカーで保護されたAPKは展開されるのが実行後なので、rev-dex-dumper は動き出したあとのメモリからDEXを取り出します。
UnityのIL2CPPビルドは関数名が消し飛ぶので、rev-u3d-dump でC#シンボルを戻せるかどうかで読める量がまるで変わります。
iOS向けは rev-ios-dump だけ。
配布されるバイナリは暗号化されていて、復号済みの状態を掴めるのが実機のメモリ上だけなので、脱獄済み端末が前提になります。
裏を返すと、端末がなければこのスキルは出番がありません。
残りの2つはプラットフォームをまたぎます。
rev-idapython はIDAPythonとIDALibのリファレンスで、デバッグ、メモリ操作、デコンパイラAPI、難読化解除のヘルパー、バッチ解析まで入っています。
rev-unicorn-debug は命令だけをエミュレートするので、OSも端末もない状態で関数単体を回せる。
端末側の状態に依存して落ちる関数を追うときの逃げ道になります。
並べてみると、前提ツールのハードルは素直に高いです。
IDA Proは有料ですし、脱獄端末もFridaが動く環境も自分で揃える必要があります。
使う前に線を引く 自分の資産と許可された対象だけに絞る
ここは技術より先に決める話です。
DEXのダンプもiOSバイナリの復号も、他人のアプリに向けた瞬間に性格が変わります。
利用規約違反はほぼ確実ですし、著作権法や不正競争防止法の技術的制限手段まわりも関わってきます。
READMEにはMITとだけ書かれていて、使い方についての制約は特に置かれていません。
つまり線引きは完全に使う側の責任です。
仕事でやるなら、対象と期間と手法を書面で確認してから。
学習目的なら、自分がビルドしたアプリを対象にすれば同じことは体験できます。
自分のアプリを自分で解析すると、リリースビルドから何がどこまで読めてしまうのかが分かるので、防御側の判断材料としても効きます。
まとめ 名前が似た別プロジェクトとの違いと次に試すスキル
最後に紛らわしい点を1つ。
reverse-skills を検索すると、名前がほぼ同じ zhaoxuya520/reverse-skill が混ざって出てきます。
単数形か複数形かの違いしかないのに、作者も設計も別のプロジェクトです。
トレンドで見かけるスター数の話は、たいてい後者のほうです。
今回の reverse-skills はもっと小さく、対象を絞った道具だと思っておくと期待値がずれません。
試す順番としては rev-frida が一番敷居が低いです。
IDAを持っていなくても、自分のAndroidアプリに frida-server を立てるところまで行けば、フックスクリプトの生成だけで手応えは分かります。
そこまで確かめてから、IDA側に投資するかを決めれば十分だと思います。
💬 コメント
ログイン か 会員登録 するとコメントできます