chore(tests): проверить секреты в ответах административного API

This commit is contained in:
Denozordec committed 2026-10-13 16:28:10 +07:00
1 parent bf39b3de18
commit 3c30c5c7cb
7 files changed
+158 -12

No files matched your search

+11 -3
View File
@@ -1,8 +1,8 @@
# Оставшаяся внешняя приёмка — 2026-10-13
Актуальное продолжение 2026-10-13: завершён201 — цельный real Telegram outbox/dedupe/two senders/unknown/no-auto-repeat/manual acknowledged retry passed в одной own DB; пользователь подтвердил1×№1+2×№2.200 collector crash/observed lock-loss fixed/deployed. Backend ux-lock200/frontend ux-portal199/Portal1.3.1. Следующий202 — reader API аудит секретов в административных интеграциях.12.5 открыта.
Актуальное продолжение 2026-10-13:202 reader actual Portal JWT audit10 GET endpoints +server detail passed, secrets absent, admin-only403/noJWT401; fixture удалена.201 цельный Telegram live/human receipt принят;200 collector crash/observed lock-loss fixed/deployed. Runtime backend ux-lock200/frontend ux-portal199. Следующий203 — заполненные S3/EvoBGP/Telegram secrets в own SQL, не рабочие credentials.12.5 открыта.
Это актуальная матрица после 12.5.201. Исторические записи сохраняют версии и ограничения на момент выполнения; поздние проверки ниже уточняют их. Этап 12.5 открыт. Успех в двух CHR и одном backend не означает приёмку всех конфигураций, интеграций или полной регрессии.
Это актуальная матрица после 12.5.202. Исторические записи сохраняют версии и ограничения на момент выполнения; поздние проверки ниже уточняют их. Этап 12.5 открыт. Успех в двух CHR и одном backend не означает приёмку всех конфигураций, интеграций или полной регрессии.
Стенд: Debian13/Compose, PostgreSQL18.6, два CHR RouterOS7.24.5. Backend `ux-lock200`, frontend `ux-portal199`; production lab с195 использует AUTH_REQUIRED=true и Portal1.3.1. Подписанные JWT/RBAC проверялись в изолированных процессах. Все собственные объекты112 удалены, исходные13 коллекций×2 (включая logging/certificates/files/routes) проверены; пароли не менялись.
@@ -26,7 +26,7 @@
## Следующая последовательность — 2026-10-13
1. **202 — reader API secrets:** административные integrations/config endpoints, чтение с реальным reader JWT; проверить masking/permissions без изменения credentials/config.
1. **203 — populated secret DTOs:** собственная DB, синтетические S3/EvoBGP/Telegram credentials, real compiled handlers/JWT; без внешних probe/send или изменений рабочих credentials.
2. **Профильный контроль:** для новых изменений выполнять затронутые SQL/API/UI проверки. Общая регрессия192 выполнена; не повторять её без изменений общей основы или нового основания.
3. **Внешние зависимости:** Portal issuer/login/revoke, Telegram bot/chat/разрешённое сообщение, клиентские ОС, независимые WAN/public IPv6 и scale/multi-instance — отдельные группы по таблице выше. Ограничения текущего стенда не превращать в обещание приёмки всех конфигураций.
@@ -1372,3 +1372,11 @@ Actual production compiled backend ux-lock200, ограниченная PostgreS
Own DB/role/container и Portal reader user удалены, отдельный private bot file удалён; рабочие настройки приложения сохранены. Нативные CHR и runtime images не менялись, дополнительных отправок вне бюджета не было. Полный успешный201 теперь дополняет partial/failed197 и отдельный resume197; исходный failed evidence сохраняется. Точная причина первого сбоя197 не установлена: pacing/новая диагностика не выдаются за доказательство его причины или исправление продуктового дефекта. Controlled receipt loss не является физическим WAN timeout/доказательством exactly-once на стороне Telegram.
Протокол: [цельный live тест и подтверждение пользователя](ux-ui/acceptance/telegram201-live-2026-10-13.json). Следующий202 — reader API аудит секретов административных интеграций; широкие публичные IPv6/clientOS/independentWAN/scale/external jobs остаются в матрице.12.5 открыта.
## 12.5.202 — чтение административных интеграций без раскрытия секретов (2026-10-13)
На actual deployed ux-lock200 создан собственный Portal reader с mm:servers/alerts/backups/uptime/traffic:read, без writer/admin.10 real GET endpoints: servers, alerts, outbox, backup storage, uptime settings/speed probes, traffic flow settings, GeoIP200; EvoBGP settings/scheduler403. Для тех же10 endpoints безJWT401. Дополнительно server details200 с password пустым. Recursive response check не нашёл непустых password/botToken/token/apiKey/secretAccessKey/privateKey/licenseKey и известных CHR/bot test secrets. Значения credentials в evidence не сохранены.
Telegram в рабочем приложении действительно настроен и доставлял сообщения201: reader alerts DTO не содержит raw bot token. S3/EvoBGP secrets в текущем стенде не заполнены; их маскирование populated credentials не объявляется доказанным данным read-only прогоном. Source audit подтвердил DTO secretConfigured уbackup/EvoBGP, GeoIP только metadata, speedProbeRead безpassword. App config/credentials не менялись, native commands не запрашивались. Собственный reader удалён204. Вспомогательный драйвер сначала ошибся на JSON parsing пустого204cleanup; исправлен на nullable response body, actual removal уже произошёл; финальный прогон successful/cleaned.
Протокол: [actual reader API](ux-ui/acceptance/reader202-live-api-2026-10-13.json). Это scoped DTO audit10 endpoints, не аудит binary backup/cert export или произвольных embedded credentials в errors. Следующий203: собственная ограниченная PostgreSQL DB с синтетическими заполненными S3/EvoBGP/Telegram secrets, actual compiled handlers/JWT, без send/network probe.12.5 открыта.