mcpField
C
competition-websocket-runtime

competition-websocket-runtime

github.com/zhaoxuya520セキュリティ43.7k94 回インストール5 週間前に更新
リポジトリ

competition-websocket-runtime について

リアルタイムのハンドシェイクや WebSocket フレームの流れが挙動を左右する CTF 向けセキュリティスキルです。`$ctf-sandbox-orchestrator` の後に使い、接続とメッセージ、状態変化を追跡して最小の再現手順を特定します。

主な機能

  1. 01ハンドシェイクのヘッダーと認証の整理
  2. 02購読・ハートビート・プッシュの切り分け
  3. 03メッセージ形式とチャネル識別子の復元
  4. 04フレームと状態変化の関連付け
  5. 05再実行可能な最小手順への集約

活用シーン

  1. 01WebSocket ハンドシェイクでの認証追跡
  2. 02購読とサーバープッシュの分析
  3. 03リアルタイムな状態変化の再現

インストール

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

$npx skills add https://github.com/zhaoxuya520/reverse-skill --skill competition-websocket-runtime

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

同梱ファイルagents/openai.yamlreferences/websocket-runtime.md

詳細

競技 WebSocket ランタイム

このスキルは、$ctf-sandbox-orchestrator がすでに有効になっており、サンドボックスの前提、ノードの所有権、および証拠の優先順位が確立された後にのみ、下流の専門特化として使用してください。まだそれが行われていない場合は、まず $ctf-sandbox-orchestrator に戻ってください。

このスキルは、決定的な動作が一回限りの HTTP だけでなく、リアルタイムのハンドシェイクとフレームフローによってもたらされる場合に使用してください。

ユーザーが明示的に英語を要求しない限り、簡体字中国語で返信してください。

クイックスタート

  1. まずハンドシェイクを把握します: オリジン、パス、ヘッダー、Cookie、クエリ、認証トークン、およびアップグレード応答。
  2. 接続設定、サブスクリプションメッセージ、キープアライブ、サーバープッシュ、および再接続ロジックを分離します。
  3. メッセージスキーマ、トピックまたはチャネルの識別情報、および状態の副作用を 1 つのチェーンに記録します。
  4. フレームを、レンダリングされた、保存された、またはバックエンドから見える効果に結び付けます。
  5. 決定的な状態変化に到達する最小のハンドシェイクとフレームのシーケンスを再現します。

ワークフロー

1. リアルタイムハンドシェイクを把握する
  • 最初の HTTP または SSE リクエスト、アップグレードヘッダー、Cookie、トークン、クエリパラメータ、オリジンチェック、およびネゴシエートされたプロトコルを記録します。
  • 認証情報がヘッダー、Cookie、クエリ文字列、または最初のアプリケーションフレームのどれによって運ばれるかに注意します。
  • ルート、サブスクリプションエンドポイント、およびセッション識別情報を結び付けたままにします。
2. メッセージフローをデコードする
  • サブスクライブ、アンサブスクライブ、ack、ハートビート、サーバープッシュ、再接続、および終端フレームを分離します。
  • 動作にとって重要なメッセージタイプ、チャネル ID、スキーマフィールド、およびシーケンスを復元します。
  • トランスポートのキープアライブとアプリケーションレベルのビジネスメッセージを区別します。
3. 決定的なリアルタイムパスに還元する
  • 結果を最小のシーケンスに圧縮します: ハンドシェイク -> 認証またはサブスクライブフレーム -> プッシュされたまたは受け入れられたフレーム -> 結果として生じる状態変化。
  • 正規のフレーム順序と、再生された最小順序を並べて保持します。
  • 難しい部分が、ランタイム UI やアプリ状態の連携を伴わない汎用的なプロトコルの再組み立てである場合は、より厳密なプロトコルスキルに戻ってください。

このリファレンスを読む

  • ハンドシェイクチェックリスト、フレームチェックリスト、および証拠のパッケージングについては、references/websocket-runtime.md をロードしてください。

保持すべきもの

  • ハンドシェイクヘッダー、Cookie、クエリパラメータ、認証情報、ネゴシエートされたサブプロトコル、およびチャネル ID
  • フレームスキーマ、サブスクリプションメッセージ、サーバープッシュ、再接続フロー、および結果として生じる状態変化
  • 決定的な分岐を証明する、最小の再生可能なリアルタイムシーケンス

コメント