Repository navigation
Open
Open
Copy link
Labels
devopsЗадачи, связанные с автоматизацией жизненного цикла ПОЗадачи, связанные с автоматизацией жизненного цикла ПОenhancementNew feature or requestNew feature or request
Description
Контекст
После разработки 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.
- Сканирование итоговых образов на наличие уязвимостей (CVE) и запуск от
- Тестирование CLI (Negative Testing):
Цель и критерии приемки (Definition of Done)
- Функционал: CLI успешно обрабатывает некорректный ввод, не падая с
unhandled exception. - Безопасность: Интегрирован
gitleaksилиtrufflehogв workflow для предотвращения коммита секретов. - Безопасность: Внедрена проверка Docker-образов через
trivyилиsnykв CI. - Интеграция: Workflow настроен так, что он блокирует билд при обнаружении критических уязвимостей (High/Critical CVE).
- База: Написан чек-лист/отчет по найденным пограничным случаям (Edge cases).
Важные указания
- Производительность: Тесты безопасности не должны увеличивать время CI более чем на 2 минуты. Использовать легковесные бинарные сканеры.
- Ошибки: CLI должен предлагать исправить некорректный формат ( например, невалидный URL базы данных) сразу, а не в конце сессии.
- Безопасность: Проверить, что
.envфайлы создаются с правами доступа600(чтение/запись только для владельца), чтобы другие пользователи системы не могли их прочитать.
Metadata
Metadata
Assignees
Labels
devopsЗадачи, связанные с автоматизацией жизненного цикла ПОЗадачи, связанные с автоматизацией жизненного цикла ПОenhancementNew feature or requestNew feature or request
Activity