Files
tf_registry/HISTORY/code-review-results-v2.md
T

1.8 KiB

Code Review v2 — Результаты (Соннет, 2026-08-09)

1. proxyHandler стриминг — OK

Цикл Read/Write/Flush корректен. Обрыв соединения обработан. ⚠️ Нет таймаута — context.Background() без дедлайна. При зависании S3 горутина повиснет навсегда. 📎 ?bucket= в URL игнорируется (безопасно), можно убрать из download_url.

2. /debug — 🔴 КРИТИЧНО

Утечка секретов. Фильтр strings.Contains(e, "S3_") захватывает S3_ACCESS_KEY и S3_SECRET_KEY — выводятся в открытом виде.

Фикс: исключить ключи из вывода.

3. main.go ~430 строк — OK

Дробить рано. Порог ~700-1000 строк. gpg_key.go и docs.go уже выделены правильно.

4. embed logo.svg — OK

Нормально. SVG < 5KB на бинарник не влияет.

5. S3_PREFIX в Dockerfile — Конфиг

ENV в Dockerfile = default, переопределяется через jsonEnv. Не хардкод.

6. defer внутри if — OK

defer привязан к функции, не к блоку. Корректно.

7. Dockerfile go.mod/go.sum — OK

Канонический паттерн. Билд воспроизводимый.

8. Перед продом

# Проблема Риск
1 /debug — утечка S3 ключей 🔴 Критично
2 proxyHandler — нет таймаута на S3 🟡
3 proxyHandler — key не валидируется по s3Prefix 🟡
4 Платформы hardcoded 🟢
5 readyz BucketExists без таймаута 🟡