Анализатор CSP

Вставьте значение заголовка Content-Security-Policy, чтобы увидеть каждую директиву, объяснённую простым языком, и каждый риск, помеченный по степени серьёзности — всё в браузере.

Анализатор CSP разбирает и оценивает вашу Content-Security-Policy целиком в вашем браузере. Вставленное значение заголовка никогда не покидает ваше устройство, и ничего не загружается в ArrayKit.

Открыть генератор заголовка CSP

Об инструменте Анализатор CSP

Анализатор CSP берёт значение заголовка Content-Security-Policy и разбивает его на таблицу по директивам, объясняя простым языком, что контролирует каждая директива. Затем он проверяет политику на слабости, тихо сводящие CSP на нет: 'unsafe-inline' и 'unsafe-eval' в источниках скриптов, голые wildcards '*', небезопасные http:-источники, чрезмерно широкую схему data: и недостающее усиление, такое как default-src, object-src 'none', frame-ancestors и base-uri. Каждая находка несёт степень серьёзности, так что вы с первого взгляда видите, плотна политика или дырява. Полезно, когда вы усиливаете сайт, проверяете политику, сгенерированную для вас фреймворком, или отлаживаете, почему report-only CSP всё ещё пропускает встроенные скрипты. Всё разбирается и оценивается на вашем устройстве — вставленный заголовок никогда не загружается.

Возможности

Как использовать Анализатор CSP

  1. Скопируйте значение заголовка Content-Security-Policy из конфигурации сервера или заголовков ответа
  2. Вставьте его в анализатор (ведущее имя заголовка необязательно)
  3. Прочитайте таблицу по директивам, чтобы подтвердить, что разрешает каждая директива
  4. Проработайте находки, начиная с худших, и ужесточите помеченные директивы

Пример

Ввод

default-src 'self'; script-src 'self' 'unsafe-inline'; object-src 'none'

Результат

HIGH  script-src  'unsafe-inline' permits inline scripts
MED   frame-ancestors  missing — page can be framed (clickjacking)
OK    object-src  'none' blocks plugins (recommended)

Анализатор помечает unsafe-inline как высокий риск, отмечает недостающий frame-ancestors и подтверждает object-src 'none'.

Частые ошибки и устранение неполадок

Часто задаваемые вопросы

Что проверяет анализатор CSP?
Он разбирает каждую директиву, объясняет, что она контролирует, и помечает распространённые слабости: 'unsafe-inline' и 'unsafe-eval' в источниках скриптов, голые wildcards '*', небезопасные http:-источники, чрезмерно широкую схему data: и недостающие default-src, object-src 'none', frame-ancestors и base-uri.
Почему 'unsafe-inline' помечен как высокий риск?
'unsafe-inline' позволяет выполняться встроенным блокам <script> и атрибутам-обработчикам событий, что и есть тот самый вектор инъекции, который CSP призван блокировать. Он фактически нейтрализует script-src, поэтому анализатор считает его находкой высокой серьёзности и предлагает вместо него nonce или хеши.
Нужно ли включать имя заголовка 'Content-Security-Policy:'?
Нет. Вы можете вставить либо полную строку заголовка, либо только значение политики. Анализатор автоматически убирает ведущий префикс 'Content-Security-Policy:' или 'Content-Security-Policy-Report-Only:' перед разбором.
Почему анализатор предупреждает о недостающем frame-ancestors?
Без frame-ancestors любой сайт может встроить вашу страницу в iframe, открывая путь для clickjacking. frame-ancestors — современная замена X-Frame-Options, поэтому анализатор рекомендует добавить frame-ancestors 'self' или 'none'.
Проверяет ли это, что моя политика синтаксически безупречна?
Он сосредоточен на защищённости, а не на строгой грамматике. Он обрабатывает распространённые формы, принимаемые браузерами — директивы через точку с запятой с источниками через пробел, — и указывает на рискованные источники и недостающее усиление, а не придирается к пробелам.
Отправляется ли вставленный мной заголовок CSP куда-либо?
Нет. Анализатор CSP разбирает и оценивает политику целиком в вашем браузере. Вставленное значение заголовка остаётся на вашем устройстве и никогда не загружается в ArrayKit.

Связанные инструменты

Все инструменты ArrayKit