CheatSheetSeries Issue #2083 — JWT チートシートの言語非依存への書き換え
CheatSheetSeries Issue #2083 — JWTチートシートの書き換え
概要
Java固有のJWTチートシート (629行) を、言語非依存のセキュリティガイド (164行) に書き換える PR。
詳細
変更内容:
- Java コード例と Java POC プロジェクトへの参照を全て削除
- 8つの脆弱性カテゴリに再構成:
- アルゴリズム混同 (
alg: none, RS256→HS256) - 脆弱な署名シークレット (オフライン HMAC ブルートフォース)
- クレーム検証の欠如 (
exp,nbf,iat,iss,aud,sub) - 未暗号化ペイロードの機密データ (JWE/AES-GCM)
- 安全でないクライアントサイド保存 (localStorage vs memory/closures)
- トークンサイドジャッキング (cookie フィンガープリント + SHA-256)
- トークン取り消しの欠如 (
jtidenylist, refresh token rotation) - ヘッダインジェクション (
kid,jku,x5u— SQLi, パストラバーサル, SSRF)
- アルゴリズム混同 (
追加:
- ベストプラクティスサマリー (8ルール)
- 参考文献 (RFC 7519/7515/7516/8725, PortSwigger, jwt.io, Auth0 CVE, JWT Attack Playbook)
セキュリティ影響
- カテゴリ: Authentication / Token Security
- 重要度: High — JWT は現代Web認証の中核技術
- 影響範囲: 全言語/フレームワークのJWT実装