competition-web-runtime について
competition-web-runtime は、sandbox orchestrator が環境を設定した後に使う、Web 系セキュリティ課題の分析スキルです。実際のリクエストフローを検証し、ブラウザーとバックエンドの状態を照合します。
主な機能
- 01ホスト、ルート、ストレージ、ワーカーの把握
- 02リクエストフローの記録と比較
- 03ミドルウェア、認証、非同期処理の追跡
- 04実行時挙動の証拠の保存
活用シーン
- 01ブラウザー状態とサーバールーティングの調査
- 02UI 制限がバックエンドでも適用されるかの確認
- 03アップロード、エクスポート、バックグラウンド処理の追跡
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ zhaoxuya520/ reverse-skill --skill competition-web-runtimeインストール後、Claude Code で/competition-web-runtimeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/cookie-hmac-key-reuse-auth-bypass.mdrouting-runtime.md詳細
競技 Web ランタイム
このスキルは、$ctf-sandbox-orchestrator がすでにアクティブであり、サンドボックスの前提、ノードの所有権、および証拠の優先順位を確立した後にのみ、下流の専門スキルとして使用してください。まだそれが行われていない場合は、まず $ctf-sandbox-orchestrator に戻ってください。
このスキルは、アクティブなチャレンジが主に Web の挙動、ブラウザの状態、サーバールーティング、API の順序、またはワーカーに支えられたアプリケーションのフローに関する場合に使用してください。
ユーザーが明示的に英語を要求しない限り、簡体字中国語で回答してください。
クイックスタート
- 提示されたホスト、ドメイン、およびルートはサンドボックスに属すると想定してください。
- 表示されている UI を信頼する前に、エントリー HTML、ブートスクリプト、ランタイム設定、およびルート登録を検査してください。
- ソースから広範な主張を行う前に、実際のリクエストフローを 1 つエンドツーエンドでキャプチャしてください。
- ブラウザの永続化とバックエンドの状態を合わせて確認してください。
- 1 つの変数を変更して、最小のフローを再実行してください。
ワークフロー
1. アクティブなランタイムをマッピングする
- アクティブなホスト、パス、プロキシ、コンテナ、およびワーカーを特定してください。
- クッキー、localStorage、sessionStorage、IndexedDB、Cache Storage、およびサービスワーカーを検査してください。
- アクティブなフローに実際に現れるルート名、フィーチャーフラグ、ストレージキー、キューの名前、およびワーカーの名前を記録してください。
2. 実際のリクエスト順序をキャプチャする
- 決定的なリクエストについて、正確なホスト、パス、クエリ、ヘッダー、クッキー、およびボディを記録してください。
- 成功したパスと失敗したパスを比較してください。
- UI による制御はヒントとして扱い、バックエンドでの強制の証明とは見なさないでください。
3. 1 つのパスが証明されてから初めて拡張する
- ミドルウェアの順序、ハンドラー、認証/セッションの境界、アップロード、エクスポート、およびバックグラウンドジョブを追跡してください。
- 最初のフローが確立された後にのみ、隠しルート、代替ホスト名、プレビューモード、またはワーカーの副作用を検証してください。
このリファレンスを読む
- 詳細なチェックリスト、エビデンスのパッケージング、およびよくある Web の落とし穴については、
references/routing-runtime.mdを参照してください。 - タスクが特に SSR ローダー、テンプレートコンテキスト、ハイドレーションペイロード、プレビューレンダリング、またはレンダー層の適用ドリフトに関するものである場合は、
$competition-template-render-pathを優先してください。 - タスクが特にソースマップ、ビルドマニフェスト、チャンクレジストリ、出力バンドル、または配信アセットから隠れたランタイム構造を復元することに関するものである場合は、
$competition-bundle-sourcemap-recoveryを優先してください。 - タスクが特に GraphQL スキーマ、RPC マニフェスト、永続化クエリ、生成クライアント、またはコントラクトとハンドラのドリフトに関するものである場合は、
$competition-graphql-rpc-driftを優先してください。 - タスクが特に SSRF の入力ポイント、内部エンドポイントへの到達性、メタデータサービスへのピボット、またはサーバーサイドフェッチを介したトークン抽出に関するものである場合は、
$competition-ssrf-metadata-pivotを優先してください。 - タスクが特に競合ウィンドウ、順序依存の状態変更、重複アクションの影響、またはタイミングに敏感なドリフトに関するものである場合は、
$competition-race-condition-state-driftを優先してください。 - タスクが特にプロキシバックエンドのパース差分、パス正規化ドリフト、ヘッダーの曖昧さ、またはリクエストスマグリングの経路に関するものである場合は、
$competition-request-normalization-smugglingを優先してください。 - タスクが特にブラウザの Cookie、ストレージ、IndexedDB、Cache Storage、Service Worker、またはキャッシュされた認証状態に関するものである場合は、
$competition-browser-persistenceを優先してください。 - タスクが特に OAuth または OIDC のリダイレクト、コールバックパラメータ、PKCE、スコープ、トークン交換、またはクレームの受理に関するものである場合は、
$competition-oauth-oidc-chainを優先してください。 - タスクが特に JWT ヘッダー、クレームの正規化、キー検索、
kid、alg、発行者または対象者の混同に関するものである場合は、$competition-jwt-claim-confusionを優先してください。 - タスクが特にアップロードのパース、プレビュー、アーカイブ抽出、コンバーター、またはデシリアライズチェーンに関するものである場合は、
$competition-file-parser-chainを優先してください。 - タスクが特にキューペイロード、ワーカー専用の動作、リトライ、cron ドリフト、または非同期の副作用に関するものである場合は、
$competition-queue-worker-driftを優先してください。 - タスクが特に WebSocket または SSE のハンドシェイク、サブスクリプション、リアルタイムフレーム、再接続ロジック、またはフレーム駆動の状態変化に関するものである場合は、
$competition-websocket-runtimeを優先してください。 - タスクが特に Host ヘッダー、バーチャルホストルーティング、リバースプロキシ、またはルートからサービスへの解決に関するものである場合は、
$competition-runtime-routingを優先してください。 - 利用可能なエビデンスがパケットキャプチャのみであり、難しい部分がストリームまたはプロトコルの再構築である場合は、
$competition-pcap-protocolを優先してください。
保持すべきもの
- 動作を証明する正確なリクエストとレスポンス
- 具体的なファイルパス、関数名、ルート名、ストレージキー
- 非同期処理が重要となる場合のキューペイロード、ワーカー名、またはリトライ動作
コメント
Markdown 対応