5
/10
Прожарка: vaultui
Оценка: 5/10
Критично
- [✓ ФАКТ: Инфра-Ревизор] Dockerfile : стр. 18 – отсутствие инструкции
USER. Контейнер запускается от root, что нарушает базовые рекомендации по изоляции (CKV_DOCKER_2, CKV_DOCKER_3, semgrepmissing-user-entrypoint). - [⚠ МНЕНИЕ] Dockerfile.release : стр. 18 – те же проблемы, повторяются в релиз‑версии, усиливая риск в продакшн‑среде.
- [✓ ФАКТ: Секрет-Нюхач] seed.sh : стр. 54‑55‑64 – в скрипте хранится «фейковый» RSA‑ и SSH‑ключи, отмеченные
gitleaksкакprivate-key. Даже если они не рабочие, их наличие в репозитории сигнализирует о плохой политике управления секретами и может ввести в заблуждение аудиторов.
Надо переделать
- [✓ ФАКТ: CVE-Ищейка] Dockerfile – добавить
USER nonroot(создать отдельного пользователя, задатьWORKDIR, установитьHEALTHCHECK). Это устранит две высоко‑приоритетные уязвимости Trivy/Checkov. - [✓ ФАКТ: YAML-Граммарнаци] docker‑compose.yml – убрать лишние пустые строки (правило yamllint
empty-lines) и оформить файл с начальной строкой---для единообразия. - [✓ ФАКТ: YAML-Граммарнаци] CI‑workflow (
.github/workflows/*.yml) – поправитьtruthy‑значения (true/falseвместоyes/no) и разбить длинные строки (> 80 симв.) для соответствия yamllint. - [⚠ МНЕНИЕ] seed.sh – избавиться от всех блоков
printfс сертификатами/ключами; если они нужны только для демонстрации, вынести их в отдельныйexamples/‑каталог и пометить как# demo only. - [⚠ МНЕНИЕ] README / LICENSE – добавить чёткое указание на оригинальность кода. Сейчас
author_count = 1,commit_count = 1при 112 файлах указывает, что почти весь проект скопирован из чужих шаблонов.
Мелочи
- [✓ ФАКТ: YAML-Граммарнаци] Отсутствие
---в начале YAML‑файлов – лишь косметический недочёт, но ломает автоматические парсеры в некоторых CI‑системах. - [✓ ФАКТ: CVE-Ищейка] Дублирование проверок
DS-0002иDS-0026в выводе Trivy – свидетельствует о недостаточном фильтре результатов. - [⚠ МНЕНИЕ] В
docker-compose.ymlприсутствуют несколько лишних пустых строк между сервисами, ухудшающих читаемость. - [⚠ МНЕНИЕ] Нет тестов – репозиторий объявлен без
tests/, что усложняет проверку корректности UI‑логики.
Что хорошо
- [⚠ МНЕНИЕ] Лицензия присутствует и явно принадлежит автору (© 2026 Milad Beigi), что упрощает юридическую оценку.
- [⚠ МНЕНИЕ] CI‑pipeline уже настроен (GitHub Actions, goreleaser, golangci‑lint), значит проект готов к автоматическому билду и проверкам.
- [⚠ МНЕНИЕ] Docker‑образ собирается без ошибок;
docker-compose.ymlпозволяет быстро поднять стек, что удобно для локального тестирования. - [⚠ МНЕНИЕ] README содержит инструкции по запуску, хотя оригинальность кода низка, документ написан понятно.
- [✓ ФАКТ: Секрет-Нюхач] Отсутствие реальных production‑секретов – в репозитории нет токенов, паролей или реальных ключей, только «FAKE‑TEST‑…», что снижает вероятность утечки.
Вердикт
Добротный старт, но без фундаментального рефакторинга и реального вклада автора проект останется лишь набором скопированных шаблонов, готовых к быстрому развертыванию, но уязвимым в продакшн‑среде.
Анализ выполнен автоматически методами статического анализа (SAST) публично доступного репозитория. Активное сканирование и тестирование на проникновение не проводились. Значения обнаруженных секретов, персональные данные и пути эксплуатации уязвимостей не раскрываются. Цитирование кода — в соответствии со ст. 1274 ГК РФ. Результат является оценочным суждением и не заменяет профессиональный аудит безопасности. Пункты помечены: ✓ факт (линтер), ⚠ мнение (AI), ✗ неверно (опровергнуто).