Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
database-sentinel — Claude Skill, который проверяет ваши проекты на наличие неправильных настроек RLS, раскрытых ключей, обходов аутентификации и уязвимостей хранилища. 27 антипаттернов, взятых из CVE-2025-48757 и 10 исследований по безопасности. Безопасно для использования в production. | Kitploit
Инструменты/GitHubGitHub/farenhytee/database-sentinel
Аутентификация и авторизацияСканеры уязвимостейАнализ КодаАудит конфигурацииБезопасность облачных средDevSecOpsОбнаружение СекретовНеправильная КонфигурацияОбучение и Образование

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Безопасность ИИ
Безопасность Баз Данных
GitHubfarenhytee/database-sentinel

database-sentinel

Claude Skill, который проверяет ваши проекты на наличие неправильных настроек RLS, раскрытых ключей, обходов аутентификации и уязвимостей хранилища. 27 антипаттернов, взятых из CVE-2025-48757 и 10 исследований по безопасности. Безопасно для использования в production.

Репозиторий
4153 месяцев назадПроверено Kitploit

🛡️ Database Sentinel (Страж Базы Данных)

Навык Claude, который проверяет безопасность ваших бэкендов баз данных.

Вставьте его в Claude Code, Cursor или любое окружение на базе Claude. Скажите «audit my database» и получите исчерпывающий отчёт по безопасности с точным кодом исправлений — за минуты, а не дни.

Были взломаны более 170 приложений Lovable. 20,1 млн строк подверглись утечке среди стартапов YC. Около 87 000 экземпляров MongoDB оставались уязвимыми для MongoBleed (CVE-2025-14847, CISA KEV). 1,8 млн паролей Firebase утекли в результате одного инцидента 2025 года. 45% кода, сгенерированного ИИ, содержат уязвимости из OWASP Top 10. Database Sentinel проверяет, действительно ли ваша конфигурация безопасности работает — а не просто ли она присутствует.


Что он делает

Database Sentinel выполняет 7-этапный аудит безопасности для любого используемого вами бэкенда:

  1. Обнаруживает, какие бэкенды вы используете (Supabase, Firebase, MongoDB, собственный Postgres / MySQL)
  2. Сканирует вашу кодовую базу на наличие раскрытых учётных данных, жёстко закодированных ключей, секретов в git
  3. Интроспектирует каждый бэкенд — схему, политики, правила, пользователей, роли, конфигурацию
  4. Сопоставляет результаты с каталогами антипаттернов для каждого бэкенда на основе CVE, отчётов об утечках, эталонных тестов CIS и исследований vibe-кодинга 2025–2026 гг.
  5. Динамически проверяет с помощью безопасных примитивов (tx=rollback, канарные коллекции, опциональный детектор MongoBleed)
  6. Генерирует оценённый отчёт безопасности с пояснениями на простом языке и конкретными сценариями атак
  7. Создаёт точный код исправлений — SQL DDL, файлы правил, различия конфигураций, Terraform — копируйте, вставляйте, готово

Межбэкендное рассуждение выявляет проблемы, которые пропускают сканеры одного бэкенда (например, идентификатор Firebase Auth UID, которому доверяет API Postgres без проверки JWT).


Статус

Ранее Database Sentinel назывался Supabase Sentinel (один бэкенд). Переименование произошло во время Фазы 1 расширения на несколько бэкендов. Прокладка обратной совместимости compat/supabase-sentinel/ сохраняет старое имя навыка как минимум до следующего минорного релиза — существующие пользователи не видят регрессии.


Быстрый старт

Вариант 1: Claude Code / Cursor

Клонируйте навык в каталог навыков вашего проекта или в центральный:

root@kitploit:~
git clone https://github.com/Farenhytee/database-sentinel.git ~/claude-skills/database-sentinel

Затем спросите у Claude:

root@kitploit:~
Audit my database

Database Sentinel обнаружит, какой бэкенд(ы) использует ваш проект, выполнит соответствующие аудиты и сформирует единый отчёт. Если присутствуют несколько бэкендов (Firebase Auth + Postgres и т.д.), отчёт будет включать раздел межбэкендных взаимодействий после выхода Фазы 6.

Вариант 2: Запрос для одного бэкенда

Если вы хотите провести аудит только конкретного бэкенда, спросите явно:

root@kitploit:~
Audit my Supabase project
Audit my MongoDB instance

Диспетчер сузит область.

Вариант 3: Вручную (любой ИИ-ассистент)

Скопируйте содержимое SKILL.md и соответствующего backends/<name>/workflow.md в системную подсказку. Пройдите 7 шагов, используя свои учётные данные.


Что он выявляет

Supabase (Фаза 1) — 27 паттернов

MongoDB (Фаза 2) — 20 паттернов

Сетевой зонд MongoBleed (backends/mongodb/mongobleed-probe.md) содержит детектор на основе одного пакета, который подтверждает эксплуатируемость в рантайме — проверено на mongo:7.0.20 (уязвим) и mongo:7.0.28 (исправлен). Он read-only, защищён двумя опциональными подтверждениями и никогда не извлекает содержимое.


Пример вывода

root@kitploit:~
╔════════════════════════════════════════════════════════╗
║                  АУДИТ БЕЗОПАСНОСТИ SENTINEL           ║
╠════════════════════════════════════════════════════════╣
║  Бэкенды:   supabase, mongodb                         ║
║  Сканировано:    2026-04-30 14:30 UTC                 ║
║  Оценка:      0/100 🔴                                ║
║  Итого:    2 бэкенда, 8 находок (3К / 4В / 1С)        ║
╚════════════════════════════════════════════════════════╝

─────────────────────────────────────────────────────────
  Supabase                                       35/100 🔴
─────────────────────────────────────────────────────────

🔴 КРИТИЧЕСКИЙ — public.users: RLS выключена              [SB-001]

  Риск:     Любой пользователь интернета может читать всю вашу таблицу users.
  Атака:   Откройте DevTools браузера → скопируйте анонимный ключ → curl к API → выгрузите
            все email, имена и метаданные.
  Доказательство:    curl возвращает [{"id":"...","email":"[email protected]",...}]
  Источник:   CVE-2025-48757 / Splinter 0013_rls_disabled_in_public

  Исправление:
  ALTER TABLE public.users ENABLE ROW LEVEL SECURITY;

  CREATE POLICY "users_select_own"
    ON public.users FOR SELECT TO authenticated
    USING ((SELECT auth.uid()) = id);

─────────────────────────────────────────────────────────
  MongoDB                                         0/100 🔴
─────────────────────────────────────────────────────────

🔴 КРИТИЧЕСКИЙ — mongod 7.0.20: MongoBleed (CVE-2025-14847)  [MG-SH-001]

  Риск:     Один TCP-пакет раскрывает фрагменты памяти MongoDB —
            включая учётные данные, запросы и данные документов — без
            необходимости входа.
  Атака:   Публичный PoC доступен с 26 декабря 2025; CISA KEV. Повторные
            запросы постепенно сливают всё больше рабочего набора.
  Доказательство:    buildInfo.version = "7.0.20" (уязвим; исправлен в 7.0.28)
            сжатие zlib включено (по умолчанию): true
            Активный зонд вернул: уязвим (opCode=2012, 163 байта)
  Источник:   CVE-2025-14847 / CISA KEV / Обновление безопасности MongoDB Server, декабрь 2025

  Исправление:
  Обновитесь до 7.0.28+. Временное смягчение, если обновление заблокировано:
  net.compression.compressors = "snappy,zstd"  в mongod.conf

✅ ПРОХОДИТ — Supabase: orders, payments, invoices, subscriptions

Структура файлов

root@kitploit:~
database-sentinel/
├── SKILL.md                                # Диспетчер — обнаруживает бэкенды, направляет аудиты (~2K токенов)
├── DECISIONS.md                            # Зафиксированные архитектурные решения (D1-D4 + замены)
├── core/
│   ├── workflow.md                         # Универсальный 7-этапный рабочий процесс аудита
│   ├── detection.md                        # Обнаружение бэкендов + JSON-манифест
│   ├── scoring.md                          # Веса для каждого бэкенда, минимальная агрегация
│   ├── reporting.md                        # Унифицированный формат отчёта (текст + JSON)
│   └── credentials.md                      # Обработка публичных и привилегированных ключей
├── backends/
│   ├── supabase/                           # Фаза 1 — реализована
│   │   ├── workflow.md                     # 7-этапный аудит, адаптированный для Supabase
│   │   ├── audit-queries.md                # 20 SQL-запросов для интроспекции схемы
│   │   ├── anti-patterns.md                # 27 паттернов (SB-001..SB-027)
│   │   └── fix-templates.md                # Шаблоны исправлений SQL (7 паттернов RLS и др.)
│   └── mongodb/                            # Фаза 2 — реализована
│       ├── workflow.md                     # 7-этапный аудит, адаптированный для MongoDB
│       ├── introspection.md                # mongosh + Atlas Admin API + сканирование IaC
│       ├── anti-patterns.md                # 20 паттернов (MG-SH-001..014, MG-AT-001..006)
│       ├── mongobleed-probe.md             # Безопасный детектор CVE-2025-14847 (один пакет)
│       ├── fix-templates.md                # Матрица версий + mongod.conf + валидаторы + Atlas TF
│       └── test-recipe.md                  # Полный рецепт end-to-end тестирования (только документы)
├── compat/
│   └── supabase-sentinel/                  # Прокладка обратной совместимости (принудительно backend=supabase)
│       └── SKILL.md
├── references/
│   ├── vibe-coding-context.md              # CVE-2025-48757, исследования утечек — межбэкендные
│   └── cve-feed.md                         # Межбэкендный список CVE (базовый MongoBleed)
├── assets/
│   └── ci/
│       ├── github-action-supabase.yml      # 1 задача — аудит безопасности
│       └── github-action-mongodb.yml       # 3 задачи — статический IaC, живой аудит, зонд MongoBleed
├── README.md                               # этот файл
├── LICENSE                                 # MIT
├── DECISIONS.md
└── sentinel-implementation-plan.md         # План расширения на несколько бэкендов

Как работает прогрессивное раскрытие: Claude загружает только SKILL.md (~2K токенов) плюс core/* изначально. Когда обнаружение идентифицирует бэкенд, загружается соответствующий backends/<name>/workflow.md и справочные файлы по требованию. Аудит только Supabase не загружает содержимое MongoDB; будущие расширения Firebase / Postgres / MySQL следуют тому же шаблону.


Непрерывный мониторинг (GitHub Actions)

Для каждого реализованного бэкенда поставляется шаблон рабочего процесса CI:

БэкендРабочий процессРежимы задач
Supabaseassets/ci/github-action-supabase.yml

Рабочие процессы запускаются при изменениях соответствующих файлов (миграции, файлы правил, IaC, манифесты зависимостей), по еженедельному cron (понедельник 06:00 UTC) и при ручном запуске. Они публикуют комментарии в PR, загружают артефакты отчётов и проваливают сборку при критических находках.

Просто спросите: «Set up continuous security monitoring for this project.»


Исследовательская база

База антипаттернов Database Sentinel основана на:

Экосистема Supabase / Firebase / vibe-кодинга

  • CVE-2025-48757 — более 170 приложений Lovable скомпрометированы, CVSS 9.3 (Мэтт Палмер, май 2025)
  • Escape.tech — более 2000 уязвимостей в 5600 приложениях, созданных с помощью vibe-кодинга (октябрь 2025)
  • Veracode — 45% кода, сгенерированного ИИ, содержит уязвимости OWASP Top 10 (июль 2025)
  • Университет Карнеги-Меллона, SusVibes — 82,8% функционально корректного ИИ-кода оказались небезопасными (декабрь 2025)
  • SupaExplorer — 11% инди-приложений раскрывают учётные данные Supabase (январь 2026)
  • ModernPentest — 20,1 млн строк данных раскрыты в 107 стартапах YC (март 2026)
  • OpenFirebase / Icex0 (сентябрь 2025) — около 150 приложений Firebase с неаутентифицированным чтением/записью
  • Zendata (май 2025) — 1,8 млн паролей Firebase в открытом виде утекли из более чем 900 приложений
  • GitGuardian — 19,8 млн секретов Firebase утекли в публичных репозиториях GitHub
  • Supabase Splinter — все 16 официальных линтов безопасности отображены и расширены
  • Wiz Research — Критический обход аутентификации в платформе vibe-кодинга Base44 (июль 2025)

MongoDB / Atlas

  • CVE-2025-14847 «MongoBleed» (CVSS 8.7, CISA KEV) — раскрытие кучи до аутентификации, около 87 000 затронутых экземпляров
  • CVE-2024-53900 / CVE-2025-23061 — инъекция $where в populate-match Mongoose
  • CVE-2025-30706 — MongoDB Connector/J критический (Oracle CPU, апрель 2025)
  • Устаревание Atlas Data API (30 сентября 2025)
  • Мониторинг Shadowserver / вымогательское ПО Meow (продолжающиеся зачистки 2024–2025)
  • CIS MongoDB 7 Benchmark v1.2

Полный набор ссылок см. в references/vibe-coding-context.md и references/cve-feed.md.


Что Database Sentinel выявляет, а встроенные инструменты пропускают


Безопасность

Database Sentinel спроектирован безопасным для использования на production:

  • По умолчанию только чтение. Запросы интроспекции читают только системные каталоги (pg_tables, pg_policies, getCmdLineOpts и т.д.). Никаких DDL или DML по умолчанию.
  • Зонды записи опциональны. Стратегия для каждого бэкенда:
    • Supabase — Prefer: tx=rollback (родной PostgREST; данные не изменяются)
    • Postgres собственный — BEGIN…ROLLBACK (транзакционный DDL)
    • MongoDB с репликацией/шардированием — сессия + abortTransaction()
    • MongoDB standalone — вставка+удаление канарной коллекции (очистка best-effort, опционально)
    • Firebase — канарная коллекция в /_sentinel_probe/{random}
    • MySQL собственный — схема _sentinel_probe + DROP DATABASE (опционально, деструктивно — явное предупреждение)
  • Сетевые зонды (MongoBleed) требуют двойного согласия. Политика аудита должна включить сетевые зонды И пользователь должен отдельно подтвердить владение хостом. Некоторые инструменты мониторинга могут срабатывать на пакет зонда, хотя это всего лишь один тестовый пакет размером 42 байта на чтение.

Участие в разработке

Вклад приветствуется. Наиболее ценными являются:

  1. Новые антипаттерны — Нашли проблему безопасности, которой нет в нашей базе? Добавьте её в соответствующий backends/<name>/anti-patterns.md с указанием критичности, запроса для обнаружения, кода исправления и подтверждения из реального мира (CVE / утечка / Splinter / CIS).
  2. Улучшения шаблонов исправлений — Лучшие шаблоны политик, пограничные случаи или оптимизация производительности в backends/<name>/fix-templates.md.
  3. Живое тестирование — Запустите Database Sentinel на своих бэкендах и сообщите о ложноположительных / ложноотрицательных результатах. Живое тестирование помогло выявить три реальные ошибки во время Фазы 2 (см. аннотации «Эмпирически проверено» в backends/mongodb/mongobleed-probe.md).
  4. Новые расширения бэкендов — Фазы 3–5 открыты. Следуйте структуре backends/mongodb/ и backends/supabase/. План реализации (sentinel-implementation-plan.md) содержит контракт для каждого.
  5. Атрибуция паттернов vibe-кодинга — Когда вы находите паттерн, который, вероятно, сгенерирован ИИ в Cursor / Bolt / Lovable / Claude Code, документируйте его. Это клин проекта.

Как внести вклад

  1. Форкните репозиторий
  2. Создайте ветку (git checkout -b add-new-pattern)
  3. Внесите изменения с чёткими комментариями и ссылками
  4. Откройте PR с описанием паттерна и доказательствами

План развития

В ближайших планах

  • Фаза 3 — Firebase (Firestore + RTDB + Storage + Cloud Functions + Remote Config + App Check). Самое большое расширение; подмодули для каждого продукта Firebase для контроля бюджета токенов.
  • Фаза 4 — PostgreSQL собственный, включая pgBouncer (обнаружение CVE-2025-12819)
  • Фаза 5 — MySQL собственный (покрытие Oracle CPU; обработка устаревания mysql_native_password для 8.4+)
  • Фаза 6 — Анализ межбэкендных взаимодействий (пути доверия Firebase Auth → Postgres и т.д.)
  • Фаза 7 — Доработка README (этого), краткий справочник BACKENDS.md, график устаревания прокладки supabase-sentinel

В будущем

  • CLI-инструмент — npx database-sentinel audit для окружений без Claude
  • MCP-сервер — программный доступ для CI/CD и дашбордов
  • Расширение для VS Code — встроенные предупреждения безопасности в редакторе
  • Премиум-дашборд — исторические тренды, просмотр нескольких проектов, оповещения в Slack

История названий

  • Supabase Sentinel (v1) — аудитор одного бэкенда Supabase. Первый выпуск.
  • Sentinel (рабочее название во время архитектурного рефакторинга Фазы 1)
  • DB Sentinel (v2, переходное рабочее название во время развёртывания нескольких бэкендов)
  • Database Sentinel (v3, текущее) — несколько бэкендов; полное слово «database» для явного обнаружения навыка и соответствия имени репозитория GitHub

Название навыка supabase-sentinel по-прежнему работает через прокладку compat/supabase-sentinel/. Она принудительно ограничивает аудит только Supabase и выдаёт результат, неотличимый от v1. Дата прекращения поддержки: TBD; как минимум до следующего минорного релиза.


Лицензия

MIT — используйте как угодно, в коммерческих целях или иным образом.


Создано для эпохи vibe-кодинга.
Потому что «оно работает» и «оно безопасно» — две совершенно разные вещи.

Скачать инструмент
ФазаБэкендСтатус
1Supabase✅ выпущено
2MongoDB (самостоятельный + Atlas)✅ выпущено
3Firebase (Firestore / RTDB / Storage / Functions / Remote Config)🚧 запланировано
4PostgreSQL (собственный, включая pgBouncer)🚧 запланировано
5MySQL (собственный)🚧 запланировано
6Анализ межбэкендных взаимодействий🚧 запланировано
7Дистрибуция + доработка🚧 запланировано
КритичностьПаттернЧто это
🔴 КРИТИЧЕСКИЙSB-001 RLS_DISABLEDТаблицы без безопасности на уровне строк — полностью открыты в интернет
🔴 КРИТИЧЕСКИЙSB-002 SERVICE_ROLE_EXPOSEDКлюч service_role во фронтенд-коде — обходит ВСЕ механизмы безопасности
🔴 КРИТИЧЕСКИЙSB-003 POLICIES_BUT_NO_RLSПолитики написаны, но RLS никогда не включена — ложное ощущение безопасности
🔴 КРИТИЧЕСКИЙSB-005 WRITE_USING_TRUEINSERT/UPDATE/DELETE с USING(true) — любой может изменять
🟠 ВЫСОКИЙSB-006 USING_TRUE_SELECTВсе строки читаемы анонимными пользователями в чувствительных таблицах
🟠 ВЫСОКИЙSB-007 VIEW_NO_SECURITY_INVOKERПредставления обходят RLS, выполняются как суперпользователь
🟠 ВЫСОКИЙSB-008 SECURITY_DEFINER_EXPOSEDФункции в публичной схеме обходят RLS, вызываемы через API
🟠 ВЫСОКИЙSB-009 USER_METADATA_IN_POLICYПолитики используют изменяемые пользователем метаданные — эскалация привилегий
🟠 ВЫСОКИЙSB-010 UPDATE_NO_WITHCHECKПолитики UPDATE без WITH CHECK — риск массового присваивания
🟠 ВЫСОКИЙSB-011 GHOST_AUTHРегистрация с неподтверждённым email предоставляет аутентифицированные сессии
🟠 ВЫСОКИЙSB-012 STORAGE_NO_RLSБакет хранилища без политик контроля доступа
🟠 ВЫСОКИЙSB-013 JWT_SECRET_EXPOSEDУтечка секрета подписи JWT — можно подделать токен любого пользователя
🟡 СРЕДНИЙ+ ещё 15 паттерновСм. backends/supabase/anti-patterns.md
КритичностьПаттернЧто это
🔴 КРИТИЧЕСКИЙMG-SH-001 MongoBleed (CVE-2025-14847, CISA KEV)Раскрытие памяти кучи до аутентификации через поддельный сжатый пакет. На момент раскрытия было затронуто ~87 000 экземпляров.
🔴 КРИТИЧЕСКИЙMG-SH-002 Аутентификация отключенаmongod запущен без аутентификации — поверхность атаки для вымогательского ПО Meow
🔴 КРИТИЧЕСКИЙMG-SH-003 mongod, доступный из интернета--bind_ip_all + порт 27017 доступен — в паре с MG-SH-002 ведёт к полной компрометации
🔴 КРИТИЧЕСКИЙMG-AT-001 Белый список Atlas 0.0.0.0/0Кластер Atlas доступен из любой точки интернета
🟠 ВЫСОКИЙMG-SH-004 Обход аутентификации с localhost + выполнение в контейнереenableLocalhostAuthBypass true + доступ к docker exec
🟠 ВЫСОКИЙMG-SH-005 JavaScript на стороне сервера включёнДоступны $where / $function / mapReduce — поверхность для NoSQL-RCE
🟠 ВЫСОКИЙMG-SH-006 TLS не требуетсяТрафик передаётся в открытом виде
🟠 ВЫСОКИЙMG-SH-007 Привилегированная роль у пользователя приложенияПриложение подключается как root / dbAdminAnyDatabase и т.д.
🟠 ВЫСОКИЙMG-SH-008 Самоизменяемый документ ролиfindByIdAndUpdate(id, req.body) + без валидатора + поле роли
🟠 ВЫСОКИЙMG-AT-002 Функция Atlas как прокси для БДNoSQL-инъекция через HTTPS — распространилась после устаревания Data API
🟠 ВЫСОКИЙMG-AT-003 Atlas Data API всё ещё в кодеУстарел 30 сентября 2025; сломан И, вероятно, заменён на менее проверяемые Functions
🟡 СРЕДНИЙMG-SH-009 Mongoose < 8.9.5CVE-2024-53900 / CVE-2025-23061 — инъекция $where в populate-match
🟡 СРЕДНИЙ+ ещё 8 паттерновСм. backends/mongodb/anti-patterns.md
Одна задача — аудит безопасности (интроспекция + динамические зонды)
MongoDBassets/ci/github-action-mongodb.ymlТри задачи — статическое сканирование IaC (всегда выполняется, без секретов), живой аудит (ограничен vars.AUDIT_LIVE == 'true'), зонд MongoBleed (ограничен vars.MONGOBLEED_PROBE == 'true' + подтверждение владения)
БэкендВстроенный инструментЧто он пропускаетDatabase Sentinel покрывает
SupabaseSplinter (16 линтов)Действительно ли политики предотвращают несанкционированный доступЖивое тестирование tx=rollback каждого пути CRUD для каждой таблицы
SupabaseSplinterGhost-auth (обход подтверждения email)Зонд регистрации с доменом .invalid
SupabaseSplinterМассовое присваивание через UPDATE без WITH CHECK + чувствительные столбцыПерекрёстная проверка имён столбцов с формой политики
SupabaseSplinterСканирование кодовой базыОбнаруживает ключи service_role во фронтенд-коде, жёстко закодированные JWT, записанные .env файлы
MongoDBAtlas AdvisorПодтверждение уязвимости MongoBleed в рантаймеДетектор на уровне протокола (один пакет; проверено на 7.0.20 + 7.0.28)
MongoDBAtlas AdvisorСамоизменяемые документы ролейПерекрёстная проверка шаблонов исходного кода и валидаторов коллекций
MongoDBTrivy / AikidoКонфигурация Atlas (белые списки, IAM, CMK)Прямой аудит через Atlas Admin API
MongoDBmongoaudit (заброшен в 2018)Актуальность в 2025+Поддерживаемый каталог паттернов с CVE 2025–2026
  • Аутентификационные зонды используют домен .invalid. Тестовые email используют зарезервированные домены RFC 6761, которые не могут получать почту.
  • Учётные данные никогда не сохраняются. Хранятся в памяти на время аудита, удаляются по окончании. Отчёты заменяют значения учётных данных.
  • Open source. Проверьте аудитора — каждый запрос, зонд и паттерн находятся в этом репозитории.