使い方
curl -I https://example.com/の出力や、ブラウザDevToolsのNetworkパネルからコピーしたレスポンスヘッダーをそのまま貼り付けます。- 検出された全ヘッダーが一覧表示され、それぞれの意味が簡潔に表示されます。
- Strict-Transport-Security(HSTS)やContent-Security-Policy等8種のセキュリティヘッダーについて、設定の有無と値の妥当性をOK/要確認/未設定/不適切の4段階でチェックします。
- Server・X-Powered-By等、実装の手がかりを与えるヘッダーがあれば別枠で警告します。
仕組み・根拠
貼り付けたテキストを1行ずつ解析し、名前: 値 の形式(curl -vの<プレフィックス付きも許容)を抽出します。判定基準はOWASP Secure Headers Projectが整理する推奨設定をもとにしており、HSTSはmax-ageを秒から日数に換算し、180日未満は要確認、1年(31536000秒)未満はプリロード登録の目安未満と表示します。CSPはunsafe-inline・unsafe-eval・ワイルドカード(*)といった防御効果を弱める典型パターンのみを検出し、構文の妥当性までは検証しません。Set-CookieはRFC 6265bisのSecure・HttpOnly・SameSite属性の有無をCookieごとに確認します。
現場の落とし穴: SameSite=NoneにはSecure属性の同時指定が事実上必須で、欠けるとChrome等の主要ブラウザでCookieが拒否され、クロスサイト連携(決済埋め込み等)が突然動かなくなることがあります。また、リバースプロキシがアプリケーションサーバーとは別にServerヘッダーを上書きしている場合もあり、実装で設定したつもりの値とcurlで見える値が食い違っていないか確認する価値があります。
よくある質問
Q. すべて「OK」にしないと危険ですか?
A. いいえ。サイトの性質(静的か、ログイン機能があるか等)によって必要なヘッダーは異なります。判定はあくまで一般的な目安です。
Q. HTTP(非HTTPS)のサイトでHSTSが未設定と出ました。問題ですか?
A. HSTSはHTTPS前提のヘッダーで、HTTP応答に含まれていても多くのブラウザは無視します。まずHTTPS配信への移行を検討してください。
Q. Set-Cookieが複数行あるとどう扱われますか?
A. 1件ずつ解析し、それぞれのSecure/HttpOnly/SameSite属性を個別に判定します。
関連ツール
最終更新・根拠の確認日: 2026-09-10 · カテゴリ: セキュリティ