oauth-oidc-misconfiguration について
OAuth 2.0 と OpenID Connect の実装を調べるセキュリティスキルです。フローの検証、トークンチェック、スコープ、アカウント紐付けの確認項目を示します。
主な機能
- 01state と nonce の検証確認
- 02リダイレクト URI の処理確認
- 03PKCE 強制の確認
- 04トークンの audience と issuer の確認
- 05スコープとアカウント紐付けの確認
活用シーン
- 01ソーシャルログインフローの監査
- 02SPA とモバイル OAuth クライアントのテスト
- 03アカウント連携の不備の調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ yaklang/ hack-skills --skill oauth-oidc-misconfigurationインストール後、Claude Code で/oauth-oidc-misconfigurationを入力して読み込まれたか確認します。
詳細
SKILL: OAuth と OIDC の設定ミス — リダイレクト、PKCE、スコープ、トークンのバインド
AI LOAD INSTRUCTION: 対象が OAuth 2.0 または OpenID Connect を使用しており、設定ミスに焦点を当てたチェックリスト(リダイレクト URI の検証、state と nonce の処理、PKCE の強制、トークンの対象者、アカウントのバインドミス)が必要な場合に、このスキルを使用してください。
1. このスキルを読み込むタイミング
次の場合に読み込みます。
- アプリが
Login with Google、GitHub、Microsoft、Okta、その他の IdP に対応している authorize、callback、redirect_uri、code、state、nonce、またはcode_challengeが見られる- モバイルまたは SPA クライアントが OAuth または OIDC フローに依存している
トークンの暗号化と JWT ヘッダーの悪用については、こちらも読み込みます。
2. 重要度の高い設定ミスのチェック項目
| テーマ | 確認事項 |
|---|---|
state の処理 | 欠落している、固定値または予測可能な値である、ユーザーセッションにバインドされていない |
redirect_uri の検証 | プレフィックス一致、オープンリダイレクトの連鎖、パスの混同、localhost の残存 |
| PKCE | パブリッククライアントで欠落している、コードベリファイアが強制されていない、フローがダウングレードされている |
OIDC nonce | ID トークンの返却時に欠落している、または検証されていない |
| トークンの対象者と発行者 | aud / iss のチェックが不十分、クライアントをまたいだトークンの再利用 |
| アカウントのバインド | コールバックによって攻撃者の ID が被害者のセッションにバインドされる |
| スコープの処理 | ユーザーまたはクライアントに許可されるべき範囲を超えるスコープが付与される |
3. クイックトリアージ
- 認可、コールバック、トークン交換、ログアウトまで、フロー全体をマッピングします。
state、nonce、redirect_uriを変更してコールバックフローを再実行します。- SPA、モバイル、ウェブの各クライアントを比較し、検証が弱いものがないか確認します。
- あるプロバイダーアカウントを、別のローカルアカウントに再バインドできないか確認します。
4. 関連する確認項目
- CORS またはオリジンをまたぐトークンの漏えい:cors cross origin misconfiguration
- XML フェデレーションまたはエンタープライズ SSO:saml sso assertion attacks
- CSRF が関係するログインまたはバインドの不具合:csrf cross site request forgery
コメント
Markdown 対応