Контекст
После разработки CLI для управления конфигурациями и настройки GitHub Actions необходимо провести этап "Chaos & Security Testing". Инструменты инициализации часто становятся слабым звеном: они могут допускать утечку секретов в логи, некорректно обрабатывать прерывания или создавать уязвимые конфигурации. Цель задачи — найти «дыры» в логике заполнения .env и слабые места в пайплайне сборки до того, как они попадут в продакшн-среду.
Технические требования
- Локация логики:
scripts/env-setup.ts, .github/workflows/ci.yml, tests/security/
- Инструменты:
jest, trivy (сканер образов), gitleaks (поиск секретов), shellcheck.
- Логика работы:
- Тестирование CLI (Negative Testing):
- Проверить поведение при
Ctrl+C в середине процесса (не должен оставаться "битый" .env).
- Попытка инъекции спецсимволов и bash-команд в значения переменных.
- Проверка переполнения буфера или падения при вводе пустых строк в обязательные поля.
- Аудит Workflow:
- Проверка на использование
pull_request_target (риск выполнения кода из форков).
- Поиск "Hardcoded" секретов в логах выполнения (Step Debugging).
- Проверка прав доступа
GITHUB_TOKEN (принцип минимальных привилегий).
- Аудит Docker:
- Сканирование итоговых образов на наличие уязвимостей (CVE) и запуск от
root.
Цель и критерии приемки (Definition of Done)
Важные указания
- Производительность: Тесты безопасности не должны увеличивать время CI более чем на 2 минуты. Использовать легковесные бинарные сканеры.
- Ошибки: CLI должен предлагать исправить некорректный формат ( например, невалидный URL базы данных) сразу, а не в конце сессии.
- Безопасность: Проверить, что
.env файлы создаются с правами доступа 600 (чтение/запись только для владельца), чтобы другие пользователи системы не могли их прочитать.
Контекст
После разработки CLI для управления конфигурациями и настройки GitHub Actions необходимо провести этап "Chaos & Security Testing". Инструменты инициализации часто становятся слабым звеном: они могут допускать утечку секретов в логи, некорректно обрабатывать прерывания или создавать уязвимые конфигурации. Цель задачи — найти «дыры» в логике заполнения
.envи слабые места в пайплайне сборки до того, как они попадут в продакшн-среду.Технические требования
scripts/env-setup.ts,.github/workflows/ci.yml,tests/security/jest,trivy(сканер образов),gitleaks(поиск секретов),shellcheck.Ctrl+Cв середине процесса (не должен оставаться "битый".env).pull_request_target(риск выполнения кода из форков).GITHUB_TOKEN(принцип минимальных привилегий).root.Цель и критерии приемки (Definition of Done)
unhandled exception.gitleaksилиtrufflehogв workflow для предотвращения коммита секретов.trivyилиsnykв CI.Важные указания
.envфайлы создаются с правами доступа600(чтение/запись только для владельца), чтобы другие пользователи системы не могли их прочитать.