Главная страница
Intro
Салют,Отмечу основные моменты:
- Цель - сформировать навыки работы с
git, CI/CD, Docker, Packages, AppSec Toolchain, YAML, etc. - Часть работ базируется на Go, Python, JAVA, Shell и т.д. - Рассматриваются инструменты SAST, SCA, Container Security, DAST, Secret Detection, etc. - Работы направлены на углубление и изучение материалов анализа рисков и оценки защищенности приложений, которые необходимы для итерационной разработки, также дают дополнительно возможности для изучения паттернов программирования, прототипирования - Каждый мини проект должен будет собран по формату из представленных лабораторных работ и размещен на сервисе GitHub, с формированием соответствующего отчета в виде gistup для демонстрации выполненной работы и скриншотами результатов (где это требуется) - Для каждой лабораторной работы следует создавать собственный репозиторий (возможно использование fork с родительского), в котором необходимо разместить исходный код проекта, далее составить отчет к нему в формате gistup Этапы
1. Ознакомление с учебными материалами по лекциям и примерами 2. Каждый репозиторий должен содержать
.gitignore, CODE_OF_CONDUCT, CONTRIBUTING, LICENSE, NOTICE, SECURITY и должен быть адаптирован под конкретную лабораторную работу или проект 3. Выполнить следующие работы по порядку 4. Реализовать итоговую работу и составить отчет по pet_project: тема согласовывается с преподавателем, применяется весь стек AppSec/DevSecOps инструментов Обратите внимание, что тип лицензий должен быть подобран правильно при переиспользовании материалов проекта и следует ознакомиться с ними дополнительно NB! Пример отчета тут Лабораторные работы
Формализованные требования
✔️ Все функции по работе с деревом должны находиться в пространстве имен и единый стиль кода ✔️ Оформление
README.md в соответствии с содержанием проекта ✔️ Оформление .gitignore в соответствии с содержанием проекта ✔️ Оформление .dockerignore в соответствии с содержанием проекта ✔️ Использовать подходящий тип LICENSE для проекта и NOTICE ✔️ Создать и использовать скрипты для автоматизации сборки проекта, примеров, тестов, пакетирования ✔️ Обеспечить непрерывный процесс сборки проекта с использованием сервиса GitHub Actions ✔️ Написать документацию к проекту с использованием инструмента doxygen ✔️ Обеспечить размещение пакета проекта на сервисе GitHub Release при успешном слиянии ветки develop ✔️ Рефакторинг и поддержка лабораторных работ в процессной деятельности ✔️ Все команды выполняются строго из терминала/консоли без использования WebUI (кроме токенов, ключей и специфичных настроек) Замечание
1 - Лабораторные работы - обязательны к прохождению, сдаче и итерационной разработке, при любом уровне подготовки 2 - Необходимо скопировать этапы реализации и отмечать у себя именно те, которые были сделаны 3 - Каждая работа изначально должна итерационно разбиваться на коммиты изменений для их отслеживания 4 - Каждый отчет сдается индивидуально с защитой, каждая используемая команда должна иметь описание (пояснение) в отчете `gistup` и содержать вывод из терминала с пояснением команды в консоли 5 - В лабораторных рассматривается также использование инструментов требующих установки дополнительных пакетов `open-source` 6 - Для всех отчетов следует избегать скриншотов и делать со вставками вывода из консоли и описания используемых команд, флагов и что они означают для понимания принципа их работы
