Scrapbox の Content Security Policy
このワンライナーをChrome 開発者ツールで実行すると、Scrapboxでの通信の制限が一覧で見れます
Scrapboxのcsp確認.jsconsole.table((await fetch(location.href)).headers.get("content-security-policy").split(";").map(x=>x.trim().split(" ")));
各種CSP許可するタイプ | 許可一覧→ | | | | |
"connect-src" | "'self'" | "i.gyazo.com" | "wss://scrapbox.io" | "https://upload.gyazo.com" | "https://gyazo.com" | "https://upload.gyazo.com" | "https://storage.googleapis.com" | "https://sentry.io" | "www.google-analytics.com" |
"default-src" | "'self'" | | | | | | | | |
"font-src" | "'self'" | "cdnjs.cloudflare.com" | "fonts.gstatic.com" | | | | | | |
"frame-src" | "'self'" | "www.google.com" | "www.youtube.com" | "player.vimeo.com" | "js.stripe.com" | | | | |
"img-src" | "*" | "data:" | "blob:" | | | | | | |
"media-src" | "*" | | | | | | | | |
"script-src" | "'self'" | "cdnjs.cloudflare.com" | "maps.googleapis.com" | "'unsafe-eval'" | "helpfeel-tweaks.helpfeel.com" | "js.stripe.com" | "www.google.com" | "www.gstatic.com" | "www.google-analytics.com" |
"style-src" | "'self'" | "fonts.googleapis.com" | "cdnjs.cloudflare.com" | "'unsafe-inline'" | | | | | |
"worker-src" | "'self'" | | | | | | | | |
"form-action" | "'self'" | | | | | | | | |
"upgrade-insecure-requests" |
この表はホワイトリスト形式なので、画像・メディア以外は通信できるホストをたかだか10個に絞り込んでいるということがわかります。一方画像やメディアはワイルドカードで示されていて、文字通り「どこでも通信していい」となっているわけですね。
今後変わる可能性は十分にあります