mcpField
B
browser-auth-flow

browser-auth-flow

github.com/ruvnetセキュリティ80.0k689 回インストール今日更新
リポジトリ

browser-auth-flow について

browser-auth-flowは、Webサイトの認証フローを調査するセキュリティスキルです。ログインの軌跡を記録して複数のリスクを確認し、機微情報を隔離したうえで、人による確認向けの結果を作成します。

主な機能

  1. 01ログインフローの記録
  2. 02CSRFとリダイレクトの確認
  3. 03CookieとOAuthの確認
  4. 04重大度付き所見と判定
  5. 05機微情報の隔離

活用シーン

  1. 01デプロイ前の認証フロー監査
  2. 02トークン漏えいやリダイレクト問題の調査
  3. 03回帰チェック用ベースラインの作成

インストール

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

$npx skills add https://github.com/ruvnet/ruflo --skill browser-auth-flow

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

詳細

ブラウザー認証フロー

サイトの認証に対する敵対的プローブです。ログインフローを1回実行して、その過程を記録した後、取得したアーティファクトとライブページに対して、設定可能なプローブを実行します。出力は、RVF コンテナ内の構造化された findings.md です。

使用する場面

  • 新しい認証フローのデプロイ前監査。
  • トークン漏えいやリダイレクトの問題が疑われる場合の調査。
  • 継続的なリグレッションチェックのためのベースラインの確立。

手順

  1. browser-record を使用して、記録されたセッションを開きます。

  2. browser-login と同様に認証フローを実行します(再認証プローブの場合、認証情報は browser-cookies を参照する --credentials <handle> から取得します)。

  3. プローブを実行します。

    • csrf:軌跡内のログイン POST を調べ、同一オリジンのトークンフィールドが存在し、空でないことを確認します。
    • redirect:各ナビゲーション後に browser_get-url を監視し、URL またはフラグメントに認証状態を含むクロスオリジンリダイレクトがないか確認します。オリジン境界を越えるトークンを含む URL があれば、フラグを立てます。
    • cookie:browser_eval を使用して document.cookie をたどります。各 Cookie について、Secure、HttpOnly、SameSite、有効期限、値のエントロピーを確認します。フラグの欠落や短いトークンがあれば、フラグを立てます。それぞれを aidefence_scan に渡し、Cookie の値に埋め込まれた PII があればフラグを立てます。
    • oauth:フローにサードパーティープロバイダーが関与する場合は、認可リクエストを取得し、state と nonce が存在し、エントロピーが高いことを確認します。また、redirect_uri が登録済みのコールバックドメインと一致することを確認します。
  4. プローブ中に取得したトークン/認証情報/PII はすべて隔離します。これらは RVF コンテナの調査結果内に留め、モデルには伏せ字なしで返しません(調査結果を読み戻す場合は、browser-extract の aidefence_is_safe ゲートが適用されます)。

  5. findings.md を作成します。各プローブにつき1つのセクションを設け、各検出事項に重大度を付け、verdict(pass / warn / fail)を記載します。

  6. セッションを tag: auth-probe として browser-sessions にインデックス登録し、今後の監査で比較できるようにします。

注意事項

  • このスキルはプローブを行うものであり、悪用はしません。取得したトークンを使って後続リクエストを連鎖させないでください。
  • 認証情報は、保管庫のハンドルまたは対話形式での入力から取得する必要があります。フィールドマップにハードコードしないでください。
  • 一部のプローブでは、ページを複数回読み込む必要があります。認証プローブの軌跡のステップ数は通常15~40になるため、それに応じて予算を確保してください。
  • 出力は人間によるレビュー用に構造化されています。検出事項をユーザーに提示する前に、自動的に対応しないでください。

コメント