CSP Studio

CSP のヘッダーや meta タグを貼り付けると、unsafe-inline・unsafe-eval・ワイルドカード・object-src や base-uri の欠落などを重さ(高・中・低)つきで指摘し、改善案を示します。生成と hash 計算もできます。

端末内で処理・アップロードなしスマホ対応オフライン対応

ファイルや入力内容はお使いの端末(ブラウザ)の中だけで処理され、サーバーへは送信されません。

CSP(ヘッダーの値・meta タグ・Report-Only)

Content-Security-Policy: の行、<meta> タグ、またはポリシーの本文をそのまま貼り付けます。

CSP を貼り付けてください。

使い方

  1. CSP ヘッダーの値

    CSP を貼る

  2. 指摘の一覧重さをつけて指摘

    弱い点に重さをつける

  3. 改善案
    nginx・Next.js の設定

    改善案と書き方を出す

CSP を貼ると、弱い点と改善案が出て、サーバーの書き方も得られる流れ
  1. 「評価」タブに、サーバーが返す Content-Security-Policy ヘッダーの値、meta タグ、または Report-Only の値を貼り付けます。「サンプルで試す」でも確認できます。

  2. 指摘を重さ(高・中・低)の順に確かめます。改善案は動作を変えうるので、コピーしたら必ずページの表示と操作を確認してください。

  3. 「生成」タブで用途のテンプレートを選び、必要なドメインを足します。出力の HTTP ヘッダー・meta・nginx・Apache・Next.js・helmet からお使いの環境に合うものをコピーします。

  4. 「hash」タブに、インラインの script や style の中身を 1 文字も変えずに貼ると、sha256・sha384・sha512 の値を計算します。

  5. 「違反レポート」タブに、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 で集めた違反レポートを読んで、本番で有効にしてよいかを判断したい

対応形式

入力

CSP ヘッダーの値・meta タグ・Report-Only の値違反レポート(JSON)インライン script・style の中身(hash 用)

対応状況

機能対応補足
ディレクティブの解析と重さつきの指摘対応—
改善案の提示一部対応動作が変わりうるため、適用前に確認が必要
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 を使わずにインラインスクリプトを動かすには?
スクリプトごとに nonce(リクエストごとの乱数)を付けるか、スクリプトの中身の hash を CSP に書きます。このツールの「生成」「hash」で書き方を確認できます。
strict-dynamic とは何ですか?
nonce や hash で許可されたスクリプトが読み込む別のスクリプトも許可する指定です。対応するブラウザでは、ホスト名による許可は無視されます。
meta タグと HTTP ヘッダーのどちらで書くべきですか?
HTTP ヘッダーが基本です。meta タグでは frame-ancestors・report-uri・sandbox が効かず、Report-Only も使えません。
本番に影響を与えずに試すには?
Content-Security-Policy-Report-Only ヘッダーで送ると、違反をブロックせずに報告だけします。違反レポートを集めて、このツールの「違反レポート」で確認できます。
生成された nonce の値を入れたままでよいですか?
いいえ。REPLACE_WITH_SERVER_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 でのおおよその見え方もプレビューします。

アップロードなし

最終更新: