Перейти к основному содержимому

Меню команд

Перейти на страницу или искать в каталоге

ИИ-инструменты и скрипты

Проверка Content Security Policy

Проверьте заголовки и мета-теги Content-Security-Policy до выпуска: источники скриптов, открытые для любого хоста, ключевые слова без кавычек и опечатки, фиксированные nonce, unsafe-inline, отсутствие object-src, base-uri и frame-ancestors, а также части, которые браузеры игнорируют.

$5.00

Что вы получите: 1 файл · 50.04 KB · ZIP

Варианты покупки

Описание товара

script-src 'self' https: позволяет внедрённому скрипту загружаться с любого HTTPS-сервера, default-src self без кавычек разрешает только хост с именем "self", nonce, прописанный в nginx.conf, одинаков для всех посетителей, а frame-ancestors в мета-теге игнорируется. При ревью каждая из этих настроек выглядит как защита, но не защищает. Этот навык находит такие ошибки и другие ошибки CSP, перечисленные ниже, до выпуска и подсказывает, как исправить каждую.

Ваш агент запускает сканер для HTML-страниц и шаблонов, конфигураций nginx, Apache и Caddy, файлов _headers, vercel.json, firebase.json, staticwebapp.config.json, netlify.toml, web.config для IIS, next.config и файлов proxy или middleware в Next.js, параметров helmet, настроек Django SECURE_CSP и django-csp, policyDirectives в Spring Security, а также строк заголовка CSP в коде на Python, PHP, Ruby, Go, Java и C#. Он читает каждую политику так, как это делают браузеры с CSP Level 3 (nonce или хеш отключает 'unsafe-inline', 'strict-dynamic' отключает списки хостов, base-uri и frame-ancestors не наследуются от default-src), отслеживает значения через шаблонные литералы, конкатенацию строк и константы в том же файле, читает значения Next.js, предназначенные только для разработки, как в продакшене, знает значения helmet по умолчанию и пропускает тестовые файлы, проверяющие примеры заголовков. Строгая политика с web.dev и примеры с nonce из руководства Next.js по CSP не отмечаются. Он никогда не запускает ваш код и не обращается к вашему сайту. Результат: BLOCK, REVIEW или NOT FLAGGED с указанием файла, строки, причины и более безопасного подхода. Секреты никогда не выводятся.

Что проверяется

BLOCK (исправить до выпуска)

  • C01: источники скриптов, разрешающие любой хост: *, https:, http:, data: или подстановочный знак на домен верхнего уровня (допустимо только вместе с 'strict-dynamic' и nonce или хешем)
  • C02: политика, которую браузер читает не так, как она написана: ключевые слова, nonce или хеши без одинарных кавычек, хосты в кавычках, имена директив с опечатками, подчёркиваниями, camelCase или двоеточием, пропущенные точки с запятой, запятые между источниками, мета-тег после тега body
  • C03: фиксированный nonce, прописанный в файле конфигурации, мета-теге или строке кода

REVIEW (проверить до релиза)

  • C11: 'unsafe-inline' для скриптов без nonce, хеша или 'strict-dynamic'
  • C12: 'unsafe-eval' для скриптов
  • C13: нет object-src или default-src либо object-src открыт для любого хоста
  • C14: политика на основе nonce без base-uri или base-uri, открытый для любого хоста
  • C15: политика в заголовке без frame-ancestors, когда тот же файл не задаёт X-Frame-Options
  • C16: части, которые не применяются: только заголовок Report-Only, Report-Only, frame-ancestors, report-uri или sandbox в мета-теге, директива, указанная дважды, удалённые директивы вроде plugin-types
  • C17: хосты скриптов, через которые можно обойти список хостов: хосты JSONP и AngularJS (в том числе через подстановочные знаки вроде *.googletagmanager.com), публичные CDN пакетов, если источник не указывает один пакет или файл (cdn.jsdelivr.net/npm/ разрешает любой пакет), подстановочные знаки на общий хостинг вроде *.cloudfront.net
  • C18: политика, ограничивающая изображения, стили или соединения, но не скрипты
  • C19: ключевое слово с опечаткой, например 'unsafe-inlne' или 'slef', которое браузеры игнорируют (в отчёте указано ближайшее к нему ключевое слово)

Что входит в комплект

  • Сканер (Python 3.9+, только стандартная библиотека)
  • Руководство по правилам с причиной, более безопасным подходом и официальным источником для каждого правила
  • Рискованный и безопасный примеры сайтов (nginx, HTML, _headers, vercel.json, Express с helmet, Caddyfile), а также настоящий отчёт сканера по рискованному

Ограничения

Сканер читает каждый файл отдельно: заголовки, отправляемые другими файлами, CDN, прокси или фреймворком, ему неизвестны, поэтому об отсутствии frame-ancestors может сообщаться, даже если X-Frame-Options задан в другом месте. Политики, формируемые во время выполнения (из переменных окружения, базы данных или вспомогательных функций), блок content_security_policy в Rails и настройки CSP в SvelteKit или Astro не читаются, а директивы include и map в nginx не отслеживаются. Nonce оцениваются по тому, как они записаны, а не по тому, как их генерирует сервер. NOT FLAGGED не является гарантией.

Содержимое

Один ZIP-файл с 21 файлом: SKILL.md, сканер в scripts/ (6 файлов Python), references/rules.md (все правила с причиной и более безопасным подходом) и examples/ (12 файлов примеров плюс report.md, настоящий вывод сканера по рискованному примеру).

Как использовать: это навык для агента: папка с файлом SKILL.md и скриптами Python, которые может запускать ИИ-агент для программирования, например Claude Code, Cursor или Codex CLI. Распакуйте архив в папку навыков вашего агента (для Claude Code: ~/.claude/skills/), затем попросите агента проверить ваш проект. Скрипты также работают самостоятельно с Python 3.9 или новее, ничего устанавливать не нужно. Они только читают ваши файлы: без доступа к сети, и никуда ничего не отправляется.

Что вы получите

1 файл · 50.04 KB

  • content-security-policy-check-1.0.0.zipZIP · 50.04 KB
ЛицензияКоммерческое использование разрешено
Проверка пакетаПройдена

Getly открыл загруженные файлы и не нашёл ничего, что помешало бы их открыть. Это не проверка на вирусы и не оценка качества.

Опубликовано12 нояб. 2026 г.
Размер файла50.04 KB
Формат файлаZIP
Версияv1.0

Теги

cspcontent-security-policysecurity-headersxssnginxai agent skill
R
RR HH

Частые вопросы

Доступ открывается сразу?

Да. Это цифровой товар - скачать его можно сразу после оплаты, прямо из своей библиотеки.

Можно ли использовать в коммерческих проектах?

Да. Коммерческое использование разрешено: в своём бизнесе и в том, что вы продаёте. Перепродавать и распространять сам файл нельзя.

Какие условия возврата?

Запросить возврат можно в течение 30 дней. Если что-то не так, оформите заявку в своём заказе - её рассмотрит команда Getly.

Какие форматы и размеры файлов я получу?

Вы скачаете 1 файл - ZIP - всего 50.04 KB.

Обновления бесплатны?

Да - когда продавец выпускает новую версию, вы можете бесплатно скачать актуальные файлы из своей библиотеки. Последние изменения смотрите в истории версий.

Цена

$5.00