CSP Inspect

セキュリティヘッダー/ポリシーをブラウザ内で診断します。入力はサーバーへ送信しません。段階導入前の一次確認に使えます。

状態

ブラウザ内で処理します。入力はサーバーへ送信しません。まずはここで一次切り分けしてください。

使い方

CSP文字列を貼り付けて「解析」。ディレクティブごとに一覧表示します。

注意(このツール)

  • report-uri/report-to も表示します(存在する場合)。

このページについて

何をするツール?

Content-Security-Policy(CSP)ヘッダーを解析し、default-src などのディレクティブを一覧表示します。

設定ミスの確認や、どこから読み込みが許可されているかの把握に向きます。

CSPはXSS対策や外部リソース制御に関わるため、1行のポリシーでも読み解くのが難しくなりがちです。このツールで分解して確認できます。

CSPの基本(最短)

  • CSPは「どこから何を読み込めるか」を制限する仕組みです。
  • default-src は未指定ディレクティブのデフォルトになります。
  • script-src/style-src/img-src/connect-src など用途別に分かれます。

使いどころ

  • ブラウザConsoleのCSP違反ログを見て、どのディレクティブで落ちているか確認したい
  • 外部CDN/解析タグを追加したいが、許可先を整理したい
  • report-to / report-uri の設定を確認したい

よく使うディレクティブ

  • script-src: JSの読み込み元(nonce/hashもここ)
  • style-src: CSSの読み込み元
  • img-src: 画像の読み込み元
  • connect-src: fetch/XHR/WebSocketの接続先
  • frame-ancestors: 埋め込み(iframe)許可

このツールでできること

  • ディレクティブの分解表示
  • ソース式の一覧化
  • report-to / report-uri の確認

よくある落とし穴

  • default-src のみで済むと思っていて connect-src が足りずAPIが失敗する
  • 'unsafe-inline' の濫用でCSPの意味が薄れる
  • report-uri/report-to を入れたが送信先が許可されていない

切り分け手順(おすすめ)

  • 対象ヘッダーを貼り付ける
  • 不足・過剰なポリシーを確認する
  • Report-Onlyや段階反映で検証する

注意(運用)

  • 推奨値は環境依存です。機能要件と衝突しないか検証してから適用してください。
  • 本番では段階導入とレポート監視を併用してください。

参照仕様

  • CSP Level 3
  • Fetch / HTMLのセキュリティ関連

FAQ

default-src が無い場合は?

各ディレクティブごとに個別指定されている可能性があります。

CSPはどこに設定する?

通常はHTTPレスポンスヘッダー(Content-Security-Policy)として設定します。

参考リンク

  1. Content Security Policy Level 3
  2. MDN: CSP

site_map ルールに基づいて、次に確認すべきページを表示しています。

  1. CSP Report Analyzer — CSPレポートJSONを解析して違反傾向を把握
  2. CSP Builder — テンプレートからCSPを組み立て
  3. Permissions-Policy Inspect — Permissions-Policy を解析して機能制限を確認
  4. CSP Nonce/Hash Helper — CSP用 nonce/hash を生成して照合
  5. Security Headers Audit — 主要セキュリティヘッダーの有無を一括監査
  6. Security Headers Recommendation — 不足ヘッダーに対する推奨値を提案
  7. Security Headers Fix Plan — 優先度付きの修正ステップを作成
  8. HSTS Inspect — HSTS設定を解析してHTTPS強制を確認

セキュリティヘッダー

不足ヘッダーの検出から修正計画まで一気に進める

Example

default-src 'self'; script-src 'self' https://cdn.example.com
connect-src 'self' https://api.example.com; img-src 'self' data: