仕様と根拠

読み方

値を「;」でディレクティブに分け、各ディレクティブを空白で名前と値に分けます。名前は大文字・小文字を区別せず、同じ名前が重複したら最初のものだけが有効です(CSP3 2.2・2.2.1)。名前は CSP3 の 6 節にある読み込み・文書・ナビゲーション・レポートのディレクティブと照らして区分を表示します。

エラーにする条件

名前に英数字とハイフン以外が使われている(コンマ区切りの誤りなど)、'none' がほかのソース式と同居している、nonce・ハッシュの書式が正しくない、キーワードでもスキームでもホストでもないソース式がある、meta 要素で使えない report-uri・frame-ancestors・sandbox を書いている場合です(CSP3 2.2・2.3.1・3.3)。

警告・情報にする条件

ディレクティブの重複、値が空のソースリスト、引用符のないキーワード(self と書いたものはホスト名扱い)は警告です。スクリプトの 'unsafe-inline'・'unsafe-eval'・*・http:・data: は許可範囲が広いため注意の警告にします。default-src がない場合や非推奨の report-uri は情報です。

判定の範囲

この点検は構文とソース式の形、仕様に書かれた組み合わせを機械的に確かめるだけです。ポリシーが攻撃を防げるほど強いか、サイトが壊れないかは判定しません。指摘が 0 件でも安全とは限りません。nonce・ハッシュと unsafe-inline の併用規則など、仕様のうち確認していない部分は判定の対象外です。

根拠にした仕様・資料

仕様・資料と確認日
仕様・資料確認日使った箇所
W3C Content Security Policy Level 32026年10月28日2.2・2.2.1(構文・重複)・2.3.1(ソースリスト)・3.3(meta)・6(ディレクティブ)。Working Draft のため改訂される可能性あり。ページ後半は未確認

指摘の段階

入力の扱い(送信しない仕組み)

処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。

このツールでできないこと(制約)

ご利用にあたって

  • 結果は仕様にもとづく構文の点検で、ポリシーの強さやサイトの安全性を保証するものではありません。「指摘なし」を「安全」と読み替えないでください。
  • 本番の設定を変えるときは、まず Report-Only で挙動を確かめ、ページが壊れないことを検証環境で確認してください。