CSP не предназначен в качестве первой линии защиты от уязвимостей, связанных с внедрением контента.
...
Новый ответ II
Вопрос:
Чтобы уточнить: браузер по-разному относится к изображениям или другим ресурсам, не относящимся к документам, если они имеют прикрепленный заголовок CSP?
Мой ответ:
Сначала определите « non-document »? W3 (ребята, которые задают, как на самом деле работает интернет) имеют определение "документа" , и я предполагаю, что ваше определение такое же.
Если это не так, пожалуйста, уточните соответственно.
Правила W3 по политике безопасности контента (по состоянию на октябрь 2018 г.) гласят, что цели CSP заключаются в следующем:
Снижение риска атак с внедрением контента, предоставляя разработчикам достаточно детальный контроль над:
Ресурсы, которые могут быть запрошены (и впоследствии внедрены или выполнены) от имени конкретного Документа или Работника
Выполнение встроенного скрипта
Динамическое выполнение кода (через eval () и аналогичные конструкции)
Применение встроенного стиля
Снижение риска атак, требующих внедрения ресурса во вредоносный контекст (описана атака «Pixel Perfect»)
в [TIMING], например), предоставляя разработчикам детальный контроль над
источники, которые могут встраивать данный ресурс.
Предоставляет структуру политики, которая позволяет разработчикам снижать привилегии своих приложений.
Предоставляет механизм отчетности, который позволяет разработчикам обнаруживать недостатки, эксплуатируемые в дикой природе.
Примечание пункт 1 (i);
"Ресурсы, которые могут быть запрошены (и впоследствии внедрены или выполнены) от имени определенного Документа или Работника "
Документ определен, как указано выше, а работа определена, по сути, как то, что использует модель DOM Javascript (, это может быть неправильно ).
Таким образом, CSP, как ожидается, будет применять к документам (данные) и работникам .
Другие (MP3, PDF и т. Д.) Файлы - документы или рабочие? Они не являются документами, но то, как они обрабатываются в браузерах , подразумевает, что они содержатся в структуре документа .
Пожалуйста, посмотрите это old Chrome Bug report . При этом PDF-файл не смог загрузить содержимое из-за настроек CSP веб-сайтов, а PDF-файл фактически загружался плагином для браузера (родным для всех современных браузеров) и поэтому был подвержен влиянию object-src
CSP.
Это CSP версии 1, и у меня нет оснований полагать, что либо способ, которым браузеры обрабатывают файлы без документов, либо способ интеграции CSP значительно изменился с тех пор, как была обнаружена эта ошибка.
Следовательно: браузеры НЕ ТРЕБУЮТСЯ для применения CSP к недокументированным и нерабочим объектам, но из-за того, как работают браузеры, они, вероятно, будут применять заголовки CSP к недокументированным и нерабочим объектам факт, что эти объекты будут обернуты в модели документов для облегчения работы с файлами в браузере.
Но Это происходит из-за кодирования браузера и не должно ожидаться с октября 2018 года.