Главная страница

RA AppSec Language: Russian Course Difficulty Status License: Apache 2.0 Git Python Docker MkDocs Shell (Bash) Markdown Ruff CI Latest release Repo size

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: Итоговая работа по оценке рисков ИБ и практическому использованию инструментов Application Security обновление будет предоставлено позже Обратите внимание, что тип лицензий должен быть подобран правильно при переиспользовании материалов проекта и следует ознакомиться с ними дополнительно NB! Пример отчета тут

Лабораторные работы

Описание Материалы
lab01 Лабораторная работа посвящена изучению GitSCM и подготовительным материалам для последующих работ Материалы в репозитории
lab02 Лабораторная работа посвящена изучению работы *nix, контролей прав доступа и управлению процессами Материалы в репозитории
lab03 Лабораторная работа посвящена изучению nmap и анализа выявленных уязвимостей Материалы в репозитории
lab04 Лабораторная работа посвящена практическому анализу и определению мер снижения рисков ИБ
lab05 Лабораторная работа посвящена изучению Docker и работе с контейнерами Материалы в репозитории
lab06 Лабораторная работа посвящена изучению Docker CIS Benchmark и аудиту Docker‑хоста Материалы в репозитории
lab07 Лабораторная работа посвящена изучению SAST и SCA на примере Semgrep, Checkov, Dependency‑Check Материалы в репозитории
lab08 Лабораторная работа посвящена изучению DAST (OWASP ZAP) и ручному тестированию уязвимого приложения Материалы в репозитории
lab09 будет опубликована позже
lab10 Лабораторная работа посвящена оценке анализа рисков ИБ и отработке практических знаний

Формализованные требования

✔️ Все функции по работе с деревом должны находиться в пространстве имен и единый стиль кода ✔️ Оформление README.md в соответствии с содержанием проекта ✔️ Оформление .gitignore в соответствии с содержанием проекта ✔️ Оформление .dockerignore в соответствии с содержанием проекта ✔️ Использовать подходящий тип LICENSE для проекта и NOTICE ✔️ Создать и использовать скрипты для автоматизации сборки проекта, примеров, тестов, пакетирования ✔️ Обеспечить непрерывный процесс сборки проекта с использованием сервиса GitHub Actions ✔️ Написать документацию к проекту с использованием инструмента doxygen ✔️ Обеспечить размещение пакета проекта на сервисе GitHub Release при успешном слиянии ветки develop ✔️ Рефакторинг и поддержка лабораторных работ в процессной деятельности ✔️ Все команды выполняются строго из терминала/консоли без использования WebUI (кроме токенов, ключей и специфичных настроек)

Замечание

1 - Лабораторные работы - обязательны к прохождению, сдаче и итерационной разработке, при любом уровне подготовки 2 - Необходимо скопировать этапы реализации и отмечать у себя именно те, которые были сделаны 3 - Каждая работа изначально должна итерационно разбиваться на коммиты изменений для их отслеживания 4 - Каждый отчет сдается индивидуально с защитой, каждая используемая команда должна иметь описание (пояснение) в отчете `gistup` и содержать вывод из терминала с пояснением команды в консоли 5 - В лабораторных рассматривается также использование инструментов требующих установки дополнительных пакетов `open-source` 6 - Для всех отчетов следует избегать скриншотов и делать со вставками вывода из консоли и описания используемых команд, флагов и что они означают для понимания принципа их работы

Логотип