使い方
- CSP ヘッダーの値
CSP を貼る
- 指摘の一覧重さをつけて指摘
弱い点に重さをつける
- 改善案nginx・Next.js の設定
改善案と書き方を出す
「評価」タブに、サーバーが返す Content-Security-Policy ヘッダーの値、meta タグ、または Report-Only の値を貼り付けます。「サンプルで試す」でも確認できます。
指摘を重さ(高・中・低)の順に確かめます。改善案は動作を変えうるので、コピーしたら必ずページの表示と操作を確認してください。
「生成」タブで用途のテンプレートを選び、必要なドメインを足します。出力の HTTP ヘッダー・meta・nginx・Apache・Next.js・helmet からお使いの環境に合うものをコピーします。
「hash」タブに、インラインの script や style の中身を 1 文字も変えずに貼ると、sha256・sha384・sha512 の値を計算します。
「違反レポート」タブに、report-uri などで集めた JSON を貼ると、どのディレクティブで何がブロックされたかを表で確認できます。
できること
重さつきの指摘と改善案
script-src・object-src・base-uri などの指摘を高・中・低・補足に分けて表示します。default-src からのフォールバック、script-src-elem・script-src-attr の上書き、nonce と hash がある場合の unsafe-inline の扱いを反映します。改善案は、script-src から unsafe-eval・* などの危険な値を外し、足りない既定値(default-src・object-src・base-uri など)を補ったものです。
テンプレートと 6 種類の出力
静的サイト・SPA・nonce を使う厳格な形・Google アナリティクス・AdSense・YouTube の例から始められます。出力は HTTP ヘッダー、meta、nginx の add_header、Apache の Header、Next.js の headers()、helmet の 6 形式です。
hash の計算
インライン script や style の中身から、CSP に書く sha256・sha384・sha512 の値を計算します(ブラウザの Web Crypto を使用)。
違反レポートの読み取り
report-uri(JSON)と Reporting API の形式を読み、ブロックされた URL や内容、ディレクティブ、発生場所を表にします。同じディレクティブの件数も集計します。
こんなときに
- 「CSP を入れたら画面が崩れた」原因を、どのディレクティブが止めたかから調べたい
- unsafe-inline や unsafe-eval を外すための nonce・hash の書き方を知りたい
- Nginx や Next.js に入れる Content-Security-Policy の書式を用途に合わせて作りたい
- 広告・分析ツール・動画の埋め込みを使うサイトで、許可すべきドメインを確認したい
- Report-Only で集めた違反レポートを読んで、本番で有効にしてよいかを判断したい
対応形式
入力
対応状況
| 機能 | 対応 | 補足 |
|---|---|---|
| ディレクティブの解析と重さつきの指摘 | 対応 | — |
| 改善案の提示 | 一部対応 | 動作が変わりうるため、適用前に確認が必要 |
| HTTP ヘッダー・meta・nginx・Apache・Next.js・helmet の生成 | 対応 | — |
| sha256・sha384・sha512 の hash 計算 | 対応 | — |
| 違反レポートの読み取り | 対応 | — |
| サイトに接続して実際の CSP を取得 | 非対応 | URL を入力しても取得しません。ヘッダーを貼り付けてください |
| ブラウザごとの完全な挙動の保証 | 非対応 | 指摘は仕様に基づく目安です |
| Google CSP Evaluator と同じ判定結果 | 非対応 | 判定の観点は参考にした独自実装です |
制限・注意事項
- 判定は Google の CSP Evaluator(https://csp-evaluator.withgoogle.com/)の観点を参考にした独自実装で、同一のものではありません。結果が異なることがあります。
- JSONP・AngularJS で回避されやすいホストは、Google CSP Evaluator の公開データ(https://github.com/google/csp-evaluator の allowlist_bypasses、2026-10-16 取得)から代表的なものだけを使っています。一覧にないホストは判定できません。
- ドメイン直下のワイルドカード(*.com など)と、誰でも登録できる公開サフィックス(*.co.uk・*.github.io・*.vercel.app など)は、publicsuffix.org(https://publicsuffix.org/list/、2026-10-16 取得)から代表的なものだけを使っています。一覧にないサフィックスは判定できません。
- 指摘は目安です。広告・埋め込み・分析ツールが動かなくなる変更がないかは、実際のページで確かめてください。
- meta タグでは frame-ancestors・report-uri・sandbox が無視されます。Report-Only は meta タグでは使えません。
- 入力の上限は、CSP 2 万字、違反レポート 1 MB、hash の対象 1 MB です。
- テンプレートのドメインは例です。各サービスの仕様変更で変わります。
- スマートフォンでも使えますが、長いポリシーや大量の違反レポートの確認は PC 推奨です。
プライバシーと安全性
貼り付けた CSP・スクリプト・違反レポートは、お使いのブラウザの中だけで処理されます。サーバーへ送信・保存されることはありません。
よくある質問
unsafe-inline を使わずにインラインスクリプトを動かすには?
strict-dynamic とは何ですか?
meta タグと HTTP ヘッダーのどちらで書くべきですか?
本番に影響を与えずに試すには?
生成された nonce の値を入れたままでよいですか?
関連ツール
robots.txt テスター
robots.txt を貼り付けると、指定した URL が Googlebot や AI クローラーに「許可」か「ブロック」かと、どの行のルールが効いたかがすぐ分かります。つづりの誤りや Google が無視する命令も指摘します。
メールヘッダー・配送経路解析
Gmail の「メッセージのソースを表示」や .eml のヘッダーを貼ると、Received を時系列に並べた配送経路・認証結果・From との不一致を確認できます。すべてブラウザの中で処理し、DNS・WHOIS・IP の位置の照会はしません。
秘密情報スキャナー(Secret Scanner)
コードや設定ファイルを貼る・ドロップするだけで、公開前に消すべき秘密情報の候補を行番号つきで一覧します。値は既定で伏せ字、*** に置き換えたコピーも作れます。あくまで補助ツールで、検出漏れがないことは保証しません。
curl解析・コード生成
Chrome や Firefox の「cURL としてコピー」を貼ると、メソッド・URL・ヘッダー・Cookie・本文を表にし、12 種類のコードへ変換します。リクエストは送らず、すべてブラウザの中で処理します。Authorization や Cookie は共有前に伏せられます。
Cookie / Set-Cookie Studio
Cookie ヘッダーや Set-Cookie を貼り付けると、属性(Expires・Max-Age・Domain・Path・Secure・HttpOnly・SameSite・Partitioned)を表にし、確認したい点を示します。フォームから Set-Cookie ヘッダーと各言語の書き方も作れます。
HTML 構造・見出し・画像・リンク診断
ページの HTML を貼り付けるだけで、SEO とアクセシビリティの基本項目(見出し構成・メタタグ・OGP・画像の alt・リンク・構造化データ)を一覧で確認できます。検索結果と SNS でのおおよその見え方もプレビューします。
最終更新: