【セキュリティ診断】CSPの「unsafe-inline / unsafe-eval」指摘。理想とレガシーシステムでの現実的対応
概要
OWASP ZAPなどの脆弱性診断ツールで、Content Security Policy (CSP) の設定に関して「`script-src unsafe-eval`」や「`script-src unsafe-inline`」という警告が出ることがあります。
本記事では、なぜこれらの設定が危険視されるのかという攻撃の仕組みから、具体的なリスク、そして「古いフレームワーク等の制約でどうしても設定を外せない」場合の現実的な対応方針(リスクの許容と多層防御)について解説します。
【起】CSPにおける「unsafe」な設定とは何か
Content Security Policy (CSP) は、ブラウザに対して「どのオリジン(ドメイン)からのリソース読み込みや実行を許可するか」を指示し、クロスサイトスクリプティング(XSS)などの攻撃を防ぐ強力なセキュリティ機構です。
しかし、CSPのディレクティブ(指示)の中に以下のキーワードが含まれていると、その防御力は大きく低下してしまいます。
`unsafe-inline` (script-src / style-src): HTML内に直接書かれた `<script>...</script>` や `<style>...</style>`、およびHTMLタグ内のイベントハンドラ(`onclick="..."`)やインラインスタイル(`style="..."`)の実行を許可してしまいます。
`unsafe-eval` (script-src): `eval()` や `new Func
0