Skip to content

Security: Validum-Tech/validum

Security

SECURITY.md

Политика безопасности

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

Версия Поддержка
0.1.x да
старше нет

Как сообщить об уязвимости

Не открывайте публичный issue. Напишите на security@validum.tech и укажите:

  1. версию (validum version / тег коммита);
  2. способ запуска (CLI, REST, Docker) и конфигурацию (например, VALIDUM_BIK_FILE);
  3. шаги воспроизведения и ожидаемое/фактическое поведение;
  4. оценку влияния, если она у вас есть.

Ответ в течение 5 рабочих дней. После исправления — согласованное раскрытие: сначала патч, потом публичное описание с благодарностью (если вы не против).

Модель угроз (важно понять до развёртывания)

Validum — инструмент для закрытого контура. Он спроектирован так, чтобы работать на машине QA-инженера, в CI или во внутренней сети — рядом с тестируемой системой, а не в интернете.

  • REST API не имеет аутентификации и авторизации. Это осознанное решение для self-hosted инструмента: поднимать его «в интернет» нельзя. Если нужен сетевой доступ — ставьте за reverse-proxy с аутентификацией (nginx + basic/OIDC) или в приватную сеть.
  • Нет ограничения частоты запросов. POST …/batch принимает до 10 000 профилей за запрос (@Max(10000)), /fill/individual — до 10 000 строк. Это защита от случайной перегрузки, а не от целенаправленного DoS: разворачивайте за прокси с лимитами.
  • Actuator. В application.yml открыты health, info, metrics. Детали health отдаются только авторизованным (show-details: when-authorized). Если actuator наружу не нужен — закройте его целиком (management.endpoints.web.exposure.include: health).
  • Данные синтетические. Validum не принимает и не хранит персональные данные. Пространство значений ИНН/СНИЛС/паспортов конечно, поэтому случайное совпадение с реальным человеком теоретически возможно — не используйте сгенерированные значения как боевые ПДн.
  • Нет сетевых вызовов в рантайме. Генерация полностью локальна и детерминирована (seed + asOf). Единственная сетевая операция — явная команда validum fetch-bik (скачивание справочника ЦБ) и export (чтение локального файла).

Что не считается уязвимостью

  • Отсутствие аутентификации в REST — см. модель угроз выше.
  • Совпадение сгенерированных реквизитов с реальными (это свойство конечного пространства значений).
  • «Невалидные» данные, полученные при явном запросе corrupt: ["INN"] — это штатная фича для проверки негативных сценариев.
  • Отсутствие HTTPS — терминируется на прокси.

Зависимости

Зависимости обновляются через Dependabot (.github/dependabot.yml). validum-core намеренно не имеет runtime-зависимостей; новая библиотека в core принимается только с обоснованием.

There aren't any published security advisories