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

RA AppSec Language: Russian Course Difficulty Status License: Apache 2.0 Git Python Docker MkDocs Shell (Bash) Markdown Ruff CI Latest release Repo size Last commit Commit activity Contributors Nmap Semgrep Checkov Trivy OWASP ZAP GitHub Actions

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! Пример отчета тут

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

Описание Материалы
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 Лабораторная работа посвящена построению DevSecOps CI/CD конвейера на GitHub Actions и встраиванию инструментов безопасности: Semgrep, Checkov, OWASP Dependency‑Check, Trivy, OWASP ZAP Материалы в репозитории
lab10 Лабораторная работа посвящена оценке анализа рисков ИБ и отработке практических знаний

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

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

Замечание

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

Логотип