スクリプトの許可が広すぎる設定

script-src に 'unsafe-inline'、'unsafe-eval'、* の 3 つを並べた例です。どれも許可範囲を広げるため、それぞれ注意の警告として示し、default-src が無い点も情報で出します。

入力

Content-Security-Policy の値

script-src 'unsafe-inline' 'unsafe-eval' *

どこに書くポリシーか

Content-Security-Policy ヘッダー(強制)

結果

エラー 0 件・警告 3 件・情報 1 件

指摘(エラー・警告・情報)

  • 警告 1 番目(script-src) script-src の 'unsafe-inline' はインラインのスクリプト(script 要素の中身・イベント属性)を許可します。CSP の主な目的の 1 つを弱めるため、可能なら nonce かハッシュに置き換えます(CSP3 2.3.1・6.1)。
  • 警告 1 番目(script-src) script-src の 'unsafe-eval' は文字列からコードを実行する仕組みを許可します(CSP3 2.3.1)。使っているライブラリの対応を確認し、外せるなら外します。
  • 警告 1 番目(script-src) script-src の * はすべてのホストからのスクリプトを許可します(スキームの制限を除く)。読み込み元を絞りたければホスト名で指定します。
  • 情報 全体 default-src がありません。読み込み系ディレクティブ(6.1 節)は、指定のないものが default-src に戻る仕組みです。default-src がないと、指定していない種類の読み込みは制限されません(CSP3 6.1.3)。
読み取ったディレクティブ1 個
指摘の件数エラー 0 件・警告 3 件・情報 1 件
判定の範囲構文・ディレクティブ名・ソース式の形・仕様に書かれた組み合わせだけを機械的に判定します。ポリシーの強さや安全性は判定せず、指摘がなくても安全とは限りません

ディレクティブの一覧

ディレクティブの一覧
ディレクティブ値区分意味(CSP3 の節)
script-src'unsafe-inline' 'unsafe-eval' *読み込みスクリプトの読み込み元と実行条件(CSP3 6.1)

検算(この結果になる理由)

script-src の 'unsafe-inline'(インライン許可)、'unsafe-eval'(文字列からのコード実行許可)、*(すべてのホスト)の 3 つは構文上は正しいが許可が広く、警告 3 件です。default-src が無いため、指定外の種類が制限されない旨の情報が 1 件になります。

判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。

このツールの制約

ご利用にあたって

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

ほかの入力例