mcpField
F
frida-script-review

frida-script-review

github.com/rudra-raviテスト・品質7107 回インストール25 週間前に更新
リポジトリ

frida-script-review について

frida-script-review は、公開済み、生成済み、または変更の多い Frida スクリプトを実行する前に確認するスキルです。プラットフォーム前提、Hook のタイミング、変更リスク、安全性を点検し、修正と検証を提案します。

主な機能

  1. 01プラットフォーム前提の特定
  2. 02変更箇所とタイミングの確認
  3. 03ポインター、オーバーロード、寿命の点検
  4. 04危険な Hook とログの指摘
  5. 05修正案と検証方法の提示

活用シーン

  1. 01生成された Frida スクリプトの実行前レビュー
  2. 02対象動作に絞った Hook の整理
  3. 03ポインターや文字列処理のリスク確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/rudra-ravi/frida-skills --skill frida-script-review

インストール後、Claude Code で/frida-script-reviewを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yaml

詳細

Frida スクリプトのレビュー

公開されているスクリプト、生成されたスクリプト、または変更量の多い Frida スクリプトを実行する前に、このスキルを使用してください。

レビューパス

  1. プラットフォームの前提条件を特定します:Android、iOS、ネイティブ、デスクトップ、Gadget。
  2. 変更箇所を特定します:戻り値の置換、引数の書き換え、ファイルへの書き込み、プロセス制御、ネットワークの変更。
  3. タイミングを確認します:spawn と attach、モジュールの読み込み、クラスローダー、ObjC の利用可否。
  4. 安全性を確認します:null ポインター、オーバーロード、文字列のライフタイム、retval のコピー、再帰、過剰なフック。
  5. 広範なフックのまとまりを、対象の動作に関連するフックに絞ります。

危険な兆候

  • どのフックが発火したかを確認せずに、無差別にすべてをバイパスする。
  • null または長さを確認せずに、ネイティブポインターを読み取る。
  • バッファーサイズを確認せずに、固定長バッファー内の文字列を置換する。
  • オーバーロードがある場合に、明示的なオーバーロードを指定せずに Java メソッドをフックする。
  • ObjC.available とクラス/メソッドの存在を確認せずに、ObjC セレクターが存在すると想定する。
  • retval または引数のラッパーをコピーせず、後で使用するために保存する。
  • 必要のない秘密情報をログに出力する。

強化パターン

変更前:

console.log("hook fired", targetName);
console.log(Thread.backtrace(this.context, Backtracer.ACCURATE)
  .map(DebugSymbol.fromAddress).join("\n"));

確認後:

if (shouldPatchThisCall()) {
  retval.replace(1);
}

出力

以下を返します:

  • リスクの概要。
  • 維持、削除、変更する正確な行またはフックブロック。
  • より安全にレビューされたスクリプトまたはパッチ。
  • 検証コマンドと、確認できる証拠。

参考資料

コメント