AIアシスタントにAPK、バイナリ、JSの分析を幻觉なく教える方法
Claude Code、Cursor、その他のAIアシスタントを起動して、見知らぬバイナリを逆コンパイルしようとすると、ニューラルネットワークはすぐにでたらめな回答を返し始めます。ランダムなユーティリティを試したり、radare2のフラグを混同したり、APKを単なる文字列表示で逆コンパイルしようとしたりと、誤った回答を修正するだけで実際の作業に費やす時間が半分以上になってしまいます。
reverse-skillプロジェクトは、構造化されたルーティングシナリオを通じてこの問題を解決しようとしています。
このプロジェクトについて
本質的に、reverse-skillはAIアシスタント用の готовойナレッジベースと命令セットです。リポジトリはモデルに完全な選択の自由を与える代わりに、厳格な決定木を設定します。
入力タスクはRULES.mdのルールを経て、メインルータであるMASTER-ROUTING.mdに到達します。AIは明確な指示を受け取ります:まずリサーチコンテキストを作成し、システムにインストールされているソフトウェアを確認し、特定のファイルタイプに応じたシナリオを選択する。
User task
→ RULES.md
→ MASTER-ROUTING / master-route.ps1 (PRIMARY)
→ case-init / scope.md
→ Scenario skill → tools / MCP / scripts
→ timeline + Evidence→Finding→Path → report
ワークステーションにGhidraやFridaが利用できない場合、組み込みのインデックス作成スクリプトがこれをアシスタントに即座に表示します。モデルは欠落しているバイナリを呼び出そうとしません。
リポジトリの中身
著者は、約200の異なるタスクをカバーする命令をコンパイルしました。コレクション全体がテーマ別のディレクトリに整理されています:
skills/apk-reverse/とskills/mobile-reverse/フォルダ内のモバイルリバーシング- コンパイル済みファイルの分析(.exe、.so、.elf)とIDA Proおよびradare2の命令
- クライアントサイドJavaScriptの難読化解除とカスタム仮想マシンでの作業
- ネットワークダンプ分析とREST API
- モジュール
CTF-Sandbox-OrchestratorによるCTF競技のオーケストレーション
各エリアにはステップバイステップのアルゴリズムが含まれています。ニューラルネットワークはどのコンソールコマンドを使用するかを推測するのではなく、プロトコルに従います:証拠を収集し、仮説を検証し、ログに記録する。
展開と使用方法
内部的には、プロジェクトはPowerShellスクリプト、Bashシェル、Python、Markdownファイルを使用しています。数ステップでシステムをデプロイできます:
git clone https://github.com/zhaoxuya520/reverse-skill.git
次に、環境スキャンスクリプトを実行します。LinuxおよびmacOSの場合:
bash skills/scripts/refresh-tool-index.sh
Windowsの場合:
powershell -File skills/scripts/refresh-tool-index.ps1
スクリプトはJDK、Python、Node.js、Frida、jadxを確認し、ローカルファイルskills/tool-index.mdを作成します。モデルは現在のシステム状態を確認し、実際に実行できるツールを理解します。
ルートにはREADME_AI.mdとRULES.mdがあります。AIクライアントにリポジトリを接続すると、モデルは最初にこれらの設定を読み取ります。これらはコンテキスト初期化フェーズが完了するまでアクティブアクションを明示的に禁止しています。
実践例による分析
シナリオを検討しましょう:Webクライアントの暗号化されたパラメータを分析する必要があります。通常のAIチャットはStackOverflowからのランダムな関数をいくつか提案します。パッケージが接続されている場合、アシスタントはskills/js-reverse/を開き、ブラウザデバッガーを確認し、段階的な分析プランを提供します。
2番目のケースはAPKファイルの研究です。モデルはskills/apk-reverse/に移動します。まずJava逆コンパイルのためにjadxを呼び出し、ネイティブライブラリが検出された場合はGhidraに切り替わり、ランタイムコールトラッキングにはFridaを使用します。結果はローカルフォルダwork/に保存され、Gitの追跡から除外されています。
インストールする価値はあるか
このプロジェクトは、コード分析やバイナリ研究にAIを定期的に活用している人々に役立ちます。モデルの幻觉を常に修正し、正しいCLIユーティリティのフラグを思い出させることに疲れているなら、このリポジトリは時間を節約してくれます。
Markdownファイルの数によりドキュメントは複雑に見えますが、AIアシスタント向けのハードルは、AIアシスタントにとって素晴らしい効果を発揮します。