Проверки Suveren¶
Файл создаётся командой suveren checks --markdown > docs/checks.md из каталога src/suveren/catalog.py. ID проверки не меняется между версиями: на него можно ссылаться в отчётах, задачах и правилах CI (suveren scan сайт --checks ID).
Статусы: проблема — нарушение или уязвимость найдены; внимание — возможная проблема, нужна ручная проверка; не проверено — данных не хватило (это лучше ложной тревоги); в порядке.
У каждой проверки две метки. С сайтом — что она делает с проверяемым сайтом:
- не обращается к сайту — только DNS, публичные реестры и журналы сертификатов.
- только смотрит — открывает страницы и файлы сайта, как посетитель, поисковый робот или почтовый сервер.
- прощупывает — делает запросы, которых обычный посетитель не делает: соединения по устаревшим TLS 1.0 и 1.1, страницы поддоменов.
- вводит данные — печатает тестовые значения в формы сайта и не отправляет их.
Для вас — чем рискует тот, кто запускает проверку:
- сайт вас не видит — запросы идут в DNS и публичные реестры, сайт о проверке не узнает.
- сайт видит ваш IP — как при обычном заходе: в журналах сайта останется ваш IP-адрес.
- выполняется JavaScript сайта — страница открывается в браузере на вашем компьютере, и её скрипты работают; браузеру закрыты внутренние адреса вашей сети и загрузка файлов.
Любой suveren scan открывает главную страницу сайта и читает его DNS: из них собираются иностранные сервисы. Поэтому сайт видит ваш IP при любом скане, даже если выбраны только проверки «не обращается к сайту». С --browser страницы открывает браузер, и JavaScript сайта выполняется у всех проверок, которые читают страницы.
Персональные данные (152-ФЗ)¶
| ID | Проверка | Что проверяет | С сайтом | Для вас | Модуль | Теги |
|---|---|---|---|---|---|---|
SUV-PD-000 |
Проверка 152-ФЗ | Проверка 152-ФЗ не выполнена: главная страница не загрузилась. | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
pd, law |
SUV-PD-001 |
Политика обработки персональных данных | Опубликована ли политика обработки персональных данных (152-ФЗ, ст. 18.1). | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
pd, law |
SUV-PD-002 |
Содержание политики | Есть ли в политике разделы, которые рекомендует Роскомнадзор. | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
pd, law |
SUV-PD-003 |
Согласие на обработку в формах | Просят ли согласие на обработку в формах, собирающих персональные данные. | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
pd, law, forms |
SUV-PD-004 |
Отдельное согласие на обработку | Оформлено ли согласие отдельно от оферты и других документов (с 01.09.2025). | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
pd, law, forms |
SUV-PD-005 |
Уведомление о cookies | Есть ли уведомление о cookies при метрических и рекламных сервисах. | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
pd, law, cookies |
SUV-PD-006 |
Трансграничная передача данных | Получают ли данные посетителей иностранные сервисы. | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
pd, law, foreign |
SUV-PD-007 |
Хранение данных в России | Находится ли сервер сайта в России: по базе расположения серверов DB-IP, без неё — по владельцу сети (152-ФЗ, ст. 18 ч. 5). | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
pd, law, foreign |
SUV-PD-008 |
Защищённое соединение | Работает ли сайт по HTTPS. | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
pd, law, tls |
SUV-PD-009 |
Реестр операторов персональных данных | Есть ли компания с сайта в реестре операторов персональных данных РКН. | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
pd, law |
SUV-PD-010 |
Куда уходят данные посетителя | В какие страны и каким сервисам браузер посетителя передаёт IP и cookies. | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
pd, law, foreign |
SUV-PD-011 |
Политика и реальность | Сходится ли политика с сайтом: оператор и сайт, данные из форм, cookies, третьи лица, страны. | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
pd, law |
SUV-PD-012 |
Данные из форм до отправки | Эксперимент в браузере: уходят ли имя, телефон, почта, пароль сторонним сервисам до отправки формы. | вводит данные | выполняется JavaScript сайта | эксперимент --form-leaks (только в режиме «свой сайт») |
pd, law, forms, browser |
Другие требования законов¶
| ID | Проверка | Что проверяет | С сайтом | Для вас | Модуль | Теги |
|---|---|---|---|---|---|---|
SUV-LAW-001 |
Вход через иностранные сервисы | Вход через Google, Apple и другие иностранные сервисы (149-ФЗ, ст. 8 ч. 10). | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
law, foreign, auth |
SUV-LAW-002 |
Рекомендательные технологии | Персональные рекомендации без опубликованных правил их применения (149-ФЗ, ст. 10.2-2; КоАП, ст. 13.56). | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
law |
SUV-LAW-003 |
Маркировка интернет-рекламы | Видна ли маркировка рекламы (erid). Всегда «не ясно»: полноту маркировки снаружи не проверить, вывода о нарушении нет. | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
law, ads |
SUV-LAW-004 |
Ссылки на Instagram и Facebook без пометки о Meta | Ссылки на Instagram и Facebook без пометки, что Meta признана экстремистской и запрещена в РФ (только предупреждение). | только смотрит | сайт видит ваш IP | 152-ФЗ и законы (--no-152fz отключает) |
law, foreign, social |
Блокировки в России¶
| ID | Проверка | Что проверяет | С сайтом | Для вас | Модуль | Теги |
|---|---|---|---|---|---|---|
SUV-BLK-000 |
Реестр блокировок Роскомнадзора | Реестр блокировок не загрузился, проверка не выполнена. | не обращается к сайту | сайт вас не видит | реестр блокировок (--no-blocklist) |
blocklist |
SUV-BLK-001 |
Домен в реестре блокировок | Есть ли домен сайта в реестре блокировок РКН. | не обращается к сайту | сайт вас не видит | реестр блокировок (--no-blocklist) |
blocklist |
SUV-BLK-002 |
IP-адреса сайта | Есть ли IP-адреса сайта в реестре блокировок РКН. | не обращается к сайту | сайт вас не видит | реестр блокировок (--no-blocklist) |
blocklist |
SUV-BLK-003 |
Сторонние сервисы в реестре блокировок | Какие сторонние домены, с которых грузится сайт, уже заблокированы в России. | только смотрит | сайт видит ваш IP | реестр блокировок (--no-blocklist) |
blocklist |
Защита почты от подделки¶
| ID | Проверка | Что проверяет | С сайтом | Для вас | Модуль | Теги |
|---|---|---|---|---|---|---|
SUV-MAIL-001 |
Итог: можно ли подделать письмо от имени домена. | Итог: можно ли подделать письмо от имени домена. | не обращается к сайту | сайт вас не видит | защита почты (--no-mail) |
mail, spoofing |
SUV-MAIL-002 |
SPF: кто может отправлять почту | Запись SPF: синтаксис, ~all/-all, лимит в 10 DNS-запросов. | не обращается к сайту | сайт вас не видит | защита почты (--no-mail) |
mail, spf |
SUV-MAIL-003 |
DMARC: что делать с поддельными письмами | Политика DMARC: none, quarantine или reject, pct и отчёты. | не обращается к сайту | сайт вас не видит | защита почты (--no-mail) |
mail, dmarc |
SUV-MAIL-004 |
DKIM: цифровая подпись писем | Ключи DKIM среди распространённых селекторов, иначе узел _domainkey в DNS. | не обращается к сайту | сайт вас не видит | защита почты (--no-mail) |
mail, dkim |
SUV-MAIL-005 |
Шифрование входящей почты (MTA-STS) | MTA-STS и TLS-RPT: защита входящей почты от понижения до открытого текста. | только смотрит | сайт видит ваш IP | защита почты (--no-mail) |
mail, tls |
SUV-MAIL-006 |
DKIM: длина ключа | Найденные ключи DKIM: RSA не короче 1024 бит (лучше 2048), не только SHA-1 (RFC 8301). | не обращается к сайту | сайт вас не видит | защита почты (--no-mail) |
mail, dkim |
SUV-MAIL-007 |
BIMI: логотип компании в почтовых программах | Запись BIMI для сведения: покажут ли почтовые программы логотип компании. Никогда не проблема. | не обращается к сайту | сайт вас не видит | защита почты (--no-mail) |
mail, bimi |
Безопасность сайта¶
| ID | Проверка | Что проверяет | С сайтом | Для вас | Модуль | Теги |
|---|---|---|---|---|---|---|
SUV-WEB-000 |
Заголовки безопасности (CSP, HSTS и другие) | Проверка безопасности сайта не выполнена. | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
web |
SUV-WEB-001 |
Сторонний код на сайте | Скрипты с чужих доменов: каждый может выполнить на сайте любой код. | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
web, scripts, supply-chain |
SUV-WEB-002 |
Скрипты с брошенных и скомпрометированных доменов | Скрипты с доменов, которые свободны для регистрации или были взломаны. | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
web, scripts, supply-chain |
SUV-WEB-003 |
Контроль целостности библиотек с CDN (SRI) | Библиотеки с публичных CDN без атрибута integrity. | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
web, scripts, supply-chain |
SUV-WEB-004 |
Политика безопасности контента (CSP) | Заголовок Content-Security-Policy и его слабые места. | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
web, headers |
SUV-WEB-005 |
Принудительный HTTPS (HSTS) | Заголовок Strict-Transport-Security и его срок. | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
web, headers, tls |
SUV-WEB-006 |
Защитные заголовки | X-Frame-Options или frame-ancestors, X-Content-Type-Options. | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
web, headers |
SUV-WEB-007 |
Флаги cookies | Secure, HttpOnly и SameSite у cookies сайта. | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
web, cookies |
SUV-WEB-008 |
TLS: сертификат и протоколы | Версии TLS, срок и отзыв сертификата (OCSP, CRL), отключены ли TLS 1.0 и 1.1. Поверхностно: шифры и уязвимости сервера не проверяются. | прощупывает | сайт видит ваш IP | безопасность сайта (--no-security) |
web, tls |
SUV-WEB-009 |
Ключи и секреты в коде сайта | Секреты (токены, приватные и API-ключи) в JavaScript, который получает посетитель. | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
web, secrets, scripts |
SUV-WEB-010 |
Уязвимые версии библиотек | jQuery, Bootstrap, Vue, React и др. с явной версией, уязвимой по базе retire.js. | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
web, scripts, cve |
SUV-WEB-011 |
Цепочки сторонних скриптов | Код, который подключил не сайт, а чужие скрипты (только в режиме --browser). | только смотрит | выполняется JavaScript сайта | безопасность сайта (--no-security) |
web, scripts, supply-chain, browser |
SUV-WEB-012 |
Ограничение центров сертификации (CAA) | Запись CAA: какие центры сертификации могут выпускать сертификаты сайта (RFC 8659). | не обращается к сайту | сайт вас не видит | безопасность сайта (--no-security) |
web, tls, dns |
SUV-WEB-013 |
Подпись DNS (DNSSEC) | Подписана ли зона и сходится ли запись DS у регистратора с ключом зоны (RFC 4035, RFC 8624). | не обращается к сайту | сайт вас не видит | безопасность сайта (--no-security) |
web, dns |
SUV-WEB-014 |
Перенаправление с HTTP на HTTPS | Отправляет ли http:// сразу на HTTPS, а не отдаёт сайт в открытом виде. | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
web, tls |
SUV-WEB-015 |
Политика Referrer-Policy | Не уходит ли полный адрес страницы (с параметрами) сторонним сайтам. | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
web, headers |
SUV-WEB-016 |
Версия CMS | WordPress и 1С-Битрикс по тегу generator и путям файлов на уже загруженных страницах; версия показывается, но не оценивается (всегда «не ясно»). | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
web, cms |
SUV-WEB-017 |
Ограничение функций браузера (Permissions-Policy) | Заголовок Permissions-Policy: какие функции (камера, микрофон, геолокация) доступны странице и встроенным фреймам. Нет — мягкое «внимание». | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
web, headers |
Поддомены¶
| ID | Проверка | Что проверяет | С сайтом | Для вас | Модуль | Теги |
|---|---|---|---|---|---|---|
SUV-SUB-000 |
Поддомены и их захват | Проверка поддоменов не выполнена. | прощупывает | сайт видит ваш IP | поддомены (--no-subdomains) |
subdomains |
SUV-SUB-001 |
Поддомены в публичных журналах сертификатов | Поддомены из журналов Certificate Transparency. | не обращается к сайту | сайт вас не видит | поддомены (--no-subdomains) |
subdomains, ct |
SUV-SUB-002 |
Захват поддоменов | Поддомены, указывающие на удалённые проекты или свободные домены. | прощупывает | сайт видит ваш IP | поддомены (--no-subdomains) |
subdomains, takeover |
SUV-SUB-003 |
Висящие A-записи на облачные адреса | Поддомены с адресом из списков AWS, Google Cloud, Oracle, DigitalOcean, которые не отвечают: адрес мог перейти к другому клиенту облака (только предупреждение). | прощупывает | сайт видит ваш IP | поддомены (--no-subdomains) |
subdomains, takeover, cloud |
SUV-SUB-004 |
Висящие NS-записи | Домен или поддомен делегирован на NS-серверы в домене, который свободен для регистрации: его можно купить и отвечать за ваши имена. | не обращается к сайту | сайт вас не видит | поддомены (--no-subdomains) |
subdomains, takeover, dns |
Сценарии атак¶
| ID | Проверка | Что проверяет | С сайтом | Для вас | Модуль | Теги |
|---|---|---|---|---|---|---|
SUV-ATK-001 |
Фишинг от имени компании | Подделываемая почта + формы или оплата на сайте: фишинг клиентов. | только смотрит | сайт видит ваш IP | защита почты (--no-mail) |
scenario, mail |
SUV-ATK-002 |
Чужой код у всех посетителей | Брошенный домен скрипта или CDN без SRI и CSP: чужой код на сайте. | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
scenario, scripts, supply-chain |
SUV-ATK-003 |
Захват поддомена | Поддомен можно занять: фишинг на настоящем адресе, доступ к cookies. | прощупывает | сайт видит ваш IP | поддомены (--no-subdomains) |
scenario, subdomains |
SUV-ATK-004 |
Перехват при первом заходе | Нет HSTS + формы с данными: подмена страницы в общественном Wi-Fi. | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
scenario, tls |
SUV-ATK-005 |
Утёкший ключ | Секрет в коде сайта: действия от имени компании. | только смотрит | сайт видит ваш IP | безопасность сайта (--no-security) |
scenario, secrets |
SUV-ATK-006 |
Отключение сайта и почты | Иностранные DNS, хостинг или CDN (и почта): сайт и почта пропадают разом. | только смотрит | сайт видит ваш IP | основная проверка (запускается всегда) | scenario, foreign |
Отключение иностранных сервисов¶
| ID | Проверка | Что проверяет | С сайтом | Для вас | Модуль | Теги |
|---|---|---|---|---|---|---|
SUV-CUT-001 |
Отключение: сайт и почта целиком | Отключат ли сайт или почту целиком иностранные DNS, хостинг, CDN, почта. | только смотрит | сайт видит ваш IP | эксперимент --cutoff или --profile deep |
cutoff |
SUV-CUT-002 |
Отключение: что перестанет работать на странице | Эксперимент в браузере: страница без иностранных сервисов — что пропало и сломалось. | только смотрит | выполняется JavaScript сайта | эксперимент --cutoff или --profile deep |
cutoff, browser |
Свой сайт¶
| ID | Проверка | Что проверяет | С сайтом | Для вас | Модуль | Теги |
|---|---|---|---|---|---|---|
SUV-OWN-001 |
Открытые служебные файлы (.git, .env) | Открыты ли снаружи /.git и /.env (только для своего сайта). | прощупывает | сайт видит ваш IP | режим «свой сайт» (--own-site, после подтверждения владения) |
own, web, secrets |
SUV-OWN-002 |
TLS подробно: ключ и слабые шифры | Ключ и подпись сертификата, соглашается ли сервер на 3DES и RC4. | прощупывает | сайт видит ваш IP | режим «свой сайт» (--own-site, после подтверждения владения) |
own, tls |
SUV-OWN-003 |
Почтовые серверы: STARTTLS и DANE | Предлагают ли MX-серверы STARTTLS (порт 25), есть ли записи DANE (TLSA). | прощупывает | сайт видит ваш IP | режим «свой сайт» (--own-site, после подтверждения владения) |
own, mail, tls |
Проверка компании¶
| ID | Проверка | Что проверяет | С сайтом | Для вас | Модуль | Теги |
|---|---|---|---|---|---|---|
SUV-CO-001 |
ЕГРЮЛ / ЕГРИП | Статус организации в ЕГРЮЛ/ЕГРИП: действует или ликвидирована. | не обращается к сайту | сайт вас не видит | suveren company |
company, egrul |
SUV-CO-002 |
Возраст компании | Как давно зарегистрирована компания. | не обращается к сайту | сайт вас не видит | suveren company |
company, egrul |
SUV-CO-003 |
Санкционные списки | Компания в санкционных списках США, ЕС и Великобритании. | не обращается к сайту | сайт вас не видит | suveren company |
company, sanctions |
SUV-CO-004 |
Руководитель в санкционных списках | Руководитель компании в санкционных списках. | не обращается к сайту | сайт вас не видит | suveren company |
company, sanctions |
SUV-CO-005 |
Управляющая организация в санкционных списках | Управляющая организация в санкционных списках. | не обращается к сайту | сайт вас не видит | suveren company |
company, sanctions |
SUV-CO-006 |
Реестр операторов персональных данных | Есть ли компания в реестре операторов персональных данных РКН. | не обращается к сайту | сайт вас не видит | suveren company |
company, pd |
SUV-CO-008 |
Перечень террористов и экстремистов | Компания (ИНН, ОГРН) или руководитель (полное ФИО) в перечне Росфинмониторинга. | не обращается к сайту | сайт вас не видит | suveren company |
company, ru-registries |
SUV-CO-007 |
Сайт и компания | Связан ли сайт с компанией: ИНН на сайте и домен в ЕГРЮЛ. | только смотрит | сайт видит ваш IP | suveren company |
company |
Иностранные зависимости¶
Находки об иностранных сервисах имеют ID по категории: SUV-DEP-DNS, SUV-DEP-HOSTING, SUV-DEP-MAIL, SUV-DEP-CDN, SUV-DEP-ANALYTICS и т. д. (SUV-DEP- и название категории). Они есть в JSON (findings[].id) и SARIF.