competition-ios-runtime について
静的なアプリ情報と対象を絞ったランタイムフックを組み合わせ、iOS の実際の信頼境界を調べるセキュリティ向けの後続スキルです。`$ctf-sandbox-orchestrator` が前提と証拠の優先順位を定めた後に使います。
主な機能
- 01アプリバンドルのメタデータと保存先の確認
- 02限定したランタイム信頼境界へのフック
- 03静的証拠と実行時証拠の照合
- 04最小限の受理済みリクエスト経路の再現
活用シーン
- 01リクエスト署名や証明書検証の追跡
- 02Keychain アクセスとローカル保存の調査
- 03実行時の証拠を使った制限付きリクエストの再現
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ zhaoxuya520/ reverse-skill --skill competition-ios-runtimeインストール後、Claude Code で/competition-ios-runtimeを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamlreferences/ios-runtime.md
詳細
Competition iOS Runtime
このスキルは、$ctf-sandbox-orchestrator がすでに有効になっており、サンドボックスの前提、ノードの所有権、および証拠の優先順位が確立された後にのみ、下流の専門分野として使用してください。まだそれが行われていない場合は、まず $ctf-sandbox-orchestrator に戻ってください。
このスキルは、決定的な経路が静的な文字列や plist の値だけでなく、実際の iOS の信頼境界を経由する場合に使用してください。
ユーザーが明示的に英語を要求しない限り、簡体字中国語で回答してください。
クイックスタート
- 元の IPA、展開されたバンドル、および復号または再署名されたコピーを別々の成果物として保存します。
- 広範なランタイムフックの前に、
Info.plist、エンタイトルメント、URL スキーム、フレームワーク、Keychain の使用状況、およびローカルアプリのストレージから始めます。 - 動作を証明する最も狭いランタイム境界を選択します。署名者、信頼評価器、Keychain アクセサ、Objective-C または Swift のメソッド、あるいはネットワークリクエストビルダーなどです。
- 信頼経路を理解したと主張する前に、静的なバンドルの証拠とライブフックの出力を関連付けます。
- 受け入れられたリクエスト、トークン、またはゲートされた分岐を、最小のフックセットから再現します。
ワークフロー
1. 静的な iOS トリアージ
- バンドル構造、
Info.plist、エンタイトルメント、URL スキーム、ユニバーサルリンク、埋め込みフレームワーク、およびアプリグループのパスをマッピングします。 - 想定される信頼境界を記録します。リクエスト署名者、デバイスバインディング、証明書チェック、脱獄チェック、Keychain アクセス、またはローカルキャッシュの読み込みなどです。
- 機密性の高いロジックが Objective-C、Swift、埋め込みフレームワーク、またはバンドルされた Web サーフェスのどこにあるかに注目します。
2. ランタイム境界のフック
- 広範な UI ハンドラーではなく、リクエストビルダー、暗号ヘルパー、信頼評価器、Keychain の読み取り、または Objective-C セレクタのフックを優先します。
- サーバーの受け入れを変える境界で、平文の入力、ヘッダー、ナンス、署名された文字列、および出力を記録します。
- 実際のリクエスト経路を露出させるのに必要な分だけ、ピン留めや環境チェックにパッチを適用するか、バイパスします。
3. 受け入れられた経路のリプレイ
- 最小のステートフルなシーケンスを再構築します。ローカルトークン、デバイス識別子、リクエストボディ、署名、ヘッダー、および信頼チェックです。
- フックログ、バンドルパス、plist キー、およびローカルストレージの成果物を、同じセッションまたはアカウント状態に結び付けます。
- タスクが iOS ランタイムではなく主に変換の復元に関するものになった場合は、より広範な暗号またはモバイルのスキルに切り替えてください。
このリファレンスを読む
- フックターゲット、ストレージチェックリスト、および証拠のパッケージ化については、
references/ios-runtime.mdを読み込んでください。
保持すべきもの
- バンドルパス、エンタイトルメント、plist キー、セレクタ、クラス名、フックポイント、およびヘッダー名
- Keychain 項目、ローカル DB または plist のパス、URL スキーム、およびアプリグループのストレージ場所
- iOS の信頼境界を証明する、最小のリプレイ可能なリクエストまたは分岐
コメント
Markdown 対応