browser-auth-flow について
browser-auth-flowは、Webサイトの認証フローを調査するセキュリティスキルです。ログインの軌跡を記録して複数のリスクを確認し、機微情報を隔離したうえで、人による確認向けの結果を作成します。
主な機能
- 01ログインフローの記録
- 02CSRFとリダイレクトの確認
- 03CookieとOAuthの確認
- 04重大度付き所見と判定
- 05機微情報の隔離
活用シーン
- 01デプロイ前の認証フロー監査
- 02トークン漏えいやリダイレクト問題の調査
- 03回帰チェック用ベースラインの作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill browser-auth-flowインストール後、Claude Code で/browser-auth-flowを入力して読み込まれたか確認します。
詳細
ブラウザー認証フロー
サイトの認証に対する敵対的プローブです。ログインフローを1回実行して、その過程を記録した後、取得したアーティファクトとライブページに対して、設定可能なプローブを実行します。出力は、RVF コンテナ内の構造化された findings.md です。
使用する場面
- 新しい認証フローのデプロイ前監査。
- トークン漏えいやリダイレクトの問題が疑われる場合の調査。
- 継続的なリグレッションチェックのためのベースラインの確立。
手順
-
browser-recordを使用して、記録されたセッションを開きます。 -
browser-loginと同様に認証フローを実行します(再認証プローブの場合、認証情報はbrowser-cookiesを参照する--credentials <handle>から取得します)。 -
プローブを実行します。
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が登録済みのコールバックドメインと一致することを確認します。
-
プローブ中に取得したトークン/認証情報/PII はすべて隔離します。これらは RVF コンテナの調査結果内に留め、モデルには伏せ字なしで返しません(調査結果を読み戻す場合は、
browser-extractのaidefence_is_safeゲートが適用されます)。 -
findings.mdを作成します。各プローブにつき1つのセクションを設け、各検出事項に重大度を付け、verdict(pass / warn / fail)を記載します。 -
セッションを
tag: auth-probeとしてbrowser-sessionsにインデックス登録し、今後の監査で比較できるようにします。
注意事項
- このスキルはプローブを行うものであり、悪用はしません。取得したトークンを使って後続リクエストを連鎖させないでください。
- 認証情報は、保管庫のハンドルまたは対話形式での入力から取得する必要があります。フィールドマップにハードコードしないでください。
- 一部のプローブでは、ページを複数回読み込む必要があります。認証プローブの軌跡のステップ数は通常15~40になるため、それに応じて予算を確保してください。
- 出力は人間によるレビュー用に構造化されています。検出事項をユーザーに提示する前に、自動的に対応しないでください。
コメント
Markdown 対応