【CSP】OWASP ZAP で Wildcard Directive がでて困った


はじめに

OWASP ZAP の診断をすると CSP: Wildcard Directive で怒られるのですが、その原因がわからずに時間を使ってしまいました。
原因と対策を書いて供養します。

原因

原因1

form-action が書かれていませんでした。

form-action は指定されていないと form タグの action が自由に実行されてしまいます。
XSS につながって危ないです。

指定されていない directive はすべて default-src に fallback されると思っていたので、調査に時間がかかりました。今回のように fallback されない directive もあるんですね。

原因2

docker 版の OWASP-ZAP を html に出力してテストしていたのもよくなかったです。

docker 版は手軽に利用できていいのですが、エラー内容が不親切でした。

ちゃんと PC にインストールして実行すると、詳しいエラー内容を教えてくれました。

対策

form-actiondefault-src に fallback されないので、直接指定します。

form-action 'self';

あと、めんどくさがらずにインストールしましょう。

他の fallback されない directive たち

おまけで、おなじく fallback されないものを列挙します。
この顔にピンときたら、、、。

base-uri

form-action

frame-ancestors

navigate-to