セキュリティヘッダーアナライザー
curl -I または DevTools の [ネットワーク] タブから生の HTTP 応答ヘッダーを貼り付けて、完全にオフラインで、実際の Content-Security-Policy 文法パーサーと HSTS、X-Frame-Options、Cookie フラグなどの段階的なセキュリティ監査を取得します。
結果
応答ヘッダーには、Web サイトの実際のブラウザーに適用されるセキュリティ ポリシーのほとんどが含まれていますが、目で読むと間違いやすいです。Content-Security-Policy は、一見すると厳格に見えながら、「unsafe-inline」スクリプトを静かに許可します。また、Strict-Transport-Security ヘッダーは、max-age が非常に短く、ほとんど何もしない状態で存在することがあります。このツールは、貼り付けた生のヘッダー ブロック (curl -I、Postman、またはブラウザーの DevTools Network タブ リクエストから直接コピーしたもの) を取得し、よく知られたオンライン ヘッダー グレーダーで使用されているのと同じカテゴリのチェックを完全にブラウザー内で実行します。何も取得されません。貼り付けたものだけが分析されます。つまり、公開実稼働サイト、内部ステージング サーバー、または外部スキャナが到達できないファイアウォールの内側にあるエンドポイントでも同様に機能します。
中心となるのは、チェックリストではなく、実際の Content-Security-Policy 文法パーサーです。ヘッダーの値はセミコロンでディレクティブに分割され、各ディレクティブのソース リストは独自の条件で分割および検査されます。スクリプトおよびスタイル関連のディレクティブには、「unsafe-inline」または「unsafe-eval」が許可されている場合にフラグが立てられ、ディレクティブにはすべて、ベア ワイルドカード '*' ソースのフラグが立てられます(そのワイルドカードが script-src、object-src、base-uri またはdefault-src)、スクリプト ディレクティブの「https:」などの広範なスキーム ソースは、ワイルドカードとほぼ同じくらい寛容に呼び出され、ポリシー全体がチェックされ、欠落しているdefault-srcフォールバックや、最新のブラウザーが単純に無視する非推奨のディレクティブ (block-all-mixed-content、plugin-types、referrer、reflected-xss) がないかチェックされます。 Content-Security-Policy-Report-Only としてのみ送信された CSP は認識され、完全に欠落しているポリシーとは異なり、実際にはまだ施行されていないものとしてフラグが立てられます。
CSP を超えて、このツールは独自の max-age ディレクティブを解析し、約 6 か月未満の値に有意な効果が得られないとしてフラグを付けることによって、また、includeSubDomains と preload が設定されているかどうかをチェックすることで、Strict-Transport-Security をチェックします。 X-Content-Type-Options は、正確な文字列「nosniff」でなければなりません。そうしないと、ブラウザによって無視されるとフラグが立てられます。 X-Frame-Options は DENY または SAMEORIGIN についてチェックされますが、このツールは、CSP フレーム祖先ディレクティブがクリックジャッキング保護の最新の代替手段であることも認識しています。それが存在する場合、従来のヘッダー自体が存在しない場合でも、X-Frame-Options はカバーされているものとして扱われます。 Referrer-Policy は有効なキーワードの実際のリストと照合してチェックされ、URL 漏洩の 'unsafe-url' 値に設定されている場合はフラグが立てられ、Permissions-Policy の存在がチェックされ、見つかったすべての Set-Cookie 行は独自の Secure、HttpOnly、SameSite 属性について解析されます。これには、Secure のない SameSite=None Cookie はブラウザによってサイレントに拒否されるという特定のルールが含まれます。
すべてのチェックでは、3 つの正直な状態 (良好、注意が必要、欠落) のいずれかが生成され、そのヘッダーが実際の攻撃 (XSS、クリックジャッキング、Cookie 盗難、プロトコルのダウングレード) にとって重要である理由が平易な英語で説明されます。全体的な A ~ F グレードは、ブラックボックス スコアではなく、ヘッダーごとのポイントの透明な合計です。レポート全体をワンクリックでプレーンテキストとしてコピーして、プルリクエスト、チケット、またはセキュリティレビューに貼り付けることができます。また、解析は完全に貼り付けられたテキストから行われるため、このツールは、独自のサイトのヘッダーの監査、統合前のベンダーの応答のレビュー、または出荷前の構成変更の再確認にも同様に役立ちます。