Проверка сайта и компании для работы в России
иностранные сервисы · 152-ФЗ · блокировки · защита почты · безопасность · ЕГРЮЛ и санкции
Укажите адрес сайта, и через минуту у вас будет отчёт: что на сайте держится на иностранных сервисах, какие требования закона нарушены и какой штраф за это грозит, можно ли подделать письмо от имени компании и что исправить в первую очередь. Каждый вывод подкреплён доказательством: DNS-записью, заголовком ответа, цитатой из политики, адресом скрипта.
На картинках — выдуманные сайты в зарезервированной зоне .test: это данные настоящих
проверок, в которых имена, адреса и IP заменены, чтобы не показывать чужие компании.
Быстрый старт
Windows. Скачайте Suveren.exe со страницы
последнего релиза и запустите: откроется
меню, командную строку знать не нужно, Python не нужен. Windows может предупредить о неизвестном
издателе — «Подробнее» → «Выполнить в любом случае».
Любая система (Python 3.11+):
pip install "suveren[browser]"
suveren scan example.ru
Другие способы: из исходного кода и Docker
Из исходного кода меню открывает Suveren.bat: скачайте репозиторий (Code → Download ZIP),
распакуйте и запустите батник — при первом запуске он сам установит всё нужное.
docker build -t suveren https://github.com/marsilid/suveren.git
docker run --rm -v "$PWD:/work" suveren scan example.ru
Что проверяет
- Что отвалится при следующей волне санкций? DNS, почта, хостинг, CDN, конструктор сайта, регистратор, сертификат, скрипты и виджеты. Оценка независимости от A до F и план переезда.
- Соблюдает ли сайт 152-ФЗ? Политика и её содержание, согласия в формах, cookies, трансграничная передача, реестр операторов ПДн, вход через Google и Apple, ссылки на Instagram и Facebook без пометки о запрете Meta. Сумма возможных штрафов по КоАП.
- Открывается ли сайт в России? Домен и IP-адреса в реестре блокировок, заблокированные сервисы на страницах.
- Можно ли подделать письмо от имени компании? SPF, DMARC, DKIM, MTA-STS и простой ответ: да, частично или нет.
- Нет ли забытых поддоменов, которые можно захватить?
- Чей код выполняется на сайте? Сторонние и брошенные скрипты, уязвимые библиотеки, ключи в коде, заголовки безопасности, cookies, TLS, CAA и DNSSEC.
- С кем мы имеем дело? Компания в ЕГРЮЛ, санкционные списки США, ЕС, Великобритании и ООН, перечень Росфинмониторинга.
Около 70 проверок с постоянными ID (список) и база из 300 с лишним сервисов. Находки из разных разделов собираются в сценарии атак: «почту можно подделать» + «на сайте есть оплата» = фишинг от имени компании.
Кому пригодится: владельцам бизнеса и ИТ-директорам, веб-студиям, юристам и ответственным за персональные данные, отделам закупок для проверки контрагентов.
Отчёт
Отчёт сохраняется в reports/ и сам открывается в браузере. Сверху — оценки, штрафы и что
сделать в первую очередь; под каждой проблемой — доказательство, статья закона и как исправить.
Можно сохранить ещё в PDF или Word, сделать сводку на одну страницу для руководителя или
оформить отчёт под брендом своей студии.
Раздел 152-ФЗ, проверка компании и сводка по списку сайтов
Главные команды
suveren scan сайт.ru # обычная проверка, около 20 секунд
suveren scan сайт.ru --profile deep # глубокая: браузер, до 12 страниц, отключение сервисов
suveren scan сайт.ru --pdf отчёт.pdf # то же и PDF; --docx — Word, --summary — для руководителя
suveren company 7707083893 # компания по ИНН, ОГРН или адресу сайта
suveren batch sites.txt # список сайтов: сводная таблица, CSV и отчёт по каждому
suveren watch sites.txt --every 24h # следить за сайтами; изменения можно получать в Telegram
suveren research sites.txt # исследование: только доли сайтов с каждой находкой
Все команды и параметры — в руководстве, а также в
suveren --help и suveren scan --help.
Что Suveren делает с сайтом
Suveren в основном смотрит то же, что любой посетитель: публичные DNS-записи, открытые реестры и страницы сайта. Никакого сканирования портов и подбора паролей.
companyпо ИНН или ОГРН к сайту не обращается: только ЕГРЮЛ, реестры и санкционные списки. По адресу сайта он открывает главную страницу, чтобы найти на ней ИНН.scanоткрывает главную и до 6 внутренних страниц. В двух местах он прощупывает: пробует соединиться по устаревшим TLS 1.0 и 1.1 и открывает страницы поддоменов, которые ведут на внешние сервисы. Сайт видит ваш IP, как при обычном заходе.--browserи--profile deepоткрывают страницы в браузере, и на вашем компьютере выполняется JavaScript сайта. Браузер работает в песочнице, ему закрыты адреса вашей сети и загрузка файлов.--own-siteглубже проверяет свой сайт: служебные файлы.gitи.env, шифры TLS, почтовые серверы, а с--form-leaks— утечки данных из форм. Запускается только после подтверждения владения (suveren verify).
У каждой проверки в docs/checks.md указано, что она делает с сайтом и чем
рискует тот, кто её запускает. Куда уходят данные при --dns ru — в
руководстве, чем рискуют плагины — в docs/plugins.md.
Для CI
suveren scan example.ru --no-open --sarif suveren.sarif --fail-on fail
SARIF читают GitHub и GitLab code scanning и DefectDojo. Находку, которую решили пока не
исправлять, можно принять в .suveren-ignore с причиной, автором и сроком: она остаётся в
отчёте, но не валит сборку, а после срока снова считается. Подробнее — в
руководстве.
Источники данных и ограничения
Все источники открытые и бесплатные, ключи API не нужны: DNS, RDAP и WHOIS, ЕГРЮЛ, реестр
операторов ПДн, выгрузка реестра блокировок от antifilter.download, журналы сертификатов,
санкционные списки, база уязвимых библиотек retire.js, база расположения серверов
IP Geolocation by DB-IP (CC BY 4.0, скачивается раз в месяц).
suveren doctor проверяет, что все они отвечают.
Отчёт помогает расставить приоритеты и не является юридическим заключением: у каждой проверки 152-ФЗ указана статья закона со ссылкой на текст. Где проверить не удалось, Suveren пишет «не проверено», а не ложное «в порядке». Все ограничения — в руководстве.
Участие
Чтобы добавить сервис в базу, программировать не нужно: это файл
services.json, как его заполнить — в
руководстве. Можно и просто открыть issue
«Добавить сервис». Как устроен код и как запускать тесты — в CONTRIBUTING.md,
об уязвимостях — по правилам SECURITY.md.
Лицензия
GNU AGPL-3.0 или более поздняя, начиная с версии 1.1: код открыт, и любая изменённая версия, в том числе работающая как сервис, тоже должна быть открыта. Для закрытых продуктов и SaaS есть коммерческая лицензия — подробности в COPYRIGHT. Версии до 1.0.x остаются под MIT.
Связанный проект: ReconLens — пассивная OSINT-разведка домена с оценкой безопасности.
Metadata
Release files for suveren 2.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| suveren-2.2.0.tar.gz | 745.3 kB | With provenance | Details for suveren-2.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| suveren-2.2.0-py3-none-any.whl | Python 3 | none | any | Details for suveren-2.2.0-py3-none-any.whl |
Total release size: 1.3 MB
Release files / suveren-2.2.0.tar.gz
| Download URL | suveren-2.2.0.tar.gz |
|---|---|
| Size | 745.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bb5fcbedaf433d5100f34c7862e0fe293a3fda4fbc08179ea0cba1eacd121a13
|
|
BLAKE2b-256 checksum How to use checksums |
3aed751a80891c85d1ea31f6a6dddf3cd111fc090d05d8c44c103b2327dc546a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.
Transparency logRelease files / suveren-2.2.0-py3-none-any.whl
| Download URL | suveren-2.2.0-py3-none-any.whl |
|---|---|
| Size | 553.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
99a41b8b0769d4aecba5827b1fdc70c23f710a309f74d311e244466a1492b8dc
|
|
BLAKE2b-256 checksum How to use checksums |
3b45cdb7bab36da06e5d71f9c282e19aaea93f93a8380f566db22117c5de0cc8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.
Transparency logSecurity for suveren 2.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for suveren-2.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.