ШІ-інструменти та скрипти
Перевірка Content Security Policy
Перевірте заголовки та метатеги Content-Security-Policy до випуску: джерела скриптів, відкриті для будь-якого хоста, ключові слова без лапок і помилки в написанні, фіксовані nonce, unsafe-inline, відсутність object-src, base-uri і frame-ancestors, а також частини, які браузери ігнорують.
Що ви отримаєте: 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
ШІ-інструменти та скрипти
Перевірка Content Security Policy
Перевірте заголовки та метатеги Content-Security-Policy до випуску: джерела скриптів, відкриті для будь-якого хоста, ключові слова без лапок і помилки в написанні, фіксовані nonce, unsafe-inline, відсутність object-src, base-uri і frame-ancestors, а також частини, які браузери ігнорують.
Getly відкрив завантажені файли й не знайшов нічого, що завадило б їх відкрити. Це не антивірусна перевірка і не оцінка якості.
Теги
Поширені запитання
Чи отримаю я доступ одразу?
Так. Це цифровий товар: ви можете завантажити його одразу після оплати, просто зі своєї бібліотеки.
Чи можна використовувати його в комерційних проєктах?
Так. Комерційне використання дозволено: користуйтеся в особистому бізнесі та в тому, що продаєте. Ви не можете перепродавати чи поширювати сам файл.
Яка у вас політика повернення коштів?
Ви можете запросити повернення коштів протягом 30 дн. Якщо щось не так, подайте запит зі свого замовлення, і команда Getly його розгляне.
Які формати та розміри файлів я отримаю?
Ви завантажите 1 файл - ZIP - загалом 50.04 KB.
Чи отримую я безкоштовні оновлення?
Так: коли продавець випускає нову версію, ви можете повторно завантажити свіжі файли зі своєї бібліотеки безкоштовно. Останні оновлення дивіться в журналі змін.
Ціна
$5.00



