AppSECT.A.
378 subscribers
427 photos
9 videos
127 links
Блог Ильи Шмакова

geminishkv.tech

- AppSec Toolchain
- DevOps
- Процессы DevSecOps
- Infosec Risks
- PMI
- Кулуарный ИБ

AppSec Teamlead СберСпасибо @sberbank

Лидер findevsecops.ru @fintechassociation

Преподаватель @bmstu1830, @miptru
Download Telegram
🏆 Ежегодный митап сообщества FinDevSecOps

Хочу поделиться с тобой новостью, что у нас тут проходит очередной митап нашего сообщества findevsecops.ru.

Ассоциация ФинТех @fintechassociation проводит митап: 08 декабря 2025 с 11.00 до 17.00.

Место проведения: офис Т1 по адресу г. Москва, Ленинградский проспект, 36с41, 23 этаж, амфитеатр.

Также будет доступно онлайн подключение к трансляции и ты сможешь увидить классных спикеров по финтеху и безопасной разработке в ИБ.

Лидеры FinDevSecOps и приглашенные эксперты в своих выступлениях ответят на следующие вопросы:

- Как выстроить конвейер безопасной разработки в финансовой организации?
- Как создать эффективную команду безопасной разработки?
- Возможно ли построить безопасную разработку как сервис?
- Как оценить зрелость и эффективность команд разработки, AppSec и SecChampion в частности?


Необходима регистрация по форме.

Поделюсь немного контентом, который тебя ждет 🙏

#appsec #devsecops #pmi #specialty #toolchain #vulnmanagement #techsolution #meetup #кулуарка
🔥5
🛠 Cheatsheet тебя "качает": Docker

Давай выдохнем и просто закинем в закладочки, сегодня на последок хочу поделиться с тобой cheatsheet по Docker и какие могут быть проблемы/ решения.

Общее описание


docker exec -it <container_name_or_id> <command> # выполнение команды
-i  # интерактивный режим (позволяет передать ввод)
-t  # выделяет псевдотерминал (tty) для взаимодействия.
<container_name_or_id>  # имя или ID контейнера.


Базис


$ docker build
$ docker build --no-cache
$ docker compose build --no-cache

$ docker image ls all # все образы

# Создает только определенную службу
$ docker compose build <service>


$ docker container ls # все запущенные контейнеры
$ docker container ls -all # все контейнеры

# привилегированный режим
$ docker run -d --privileged --name docker go:1.16


Compose


$ docker compose up
$ docker compose up -d # Запускает контейнеры в отсоединенном режиме в фоновом режиме
$ docker compose start # Запускает уже созданные контейнеры (не перестраивает и не создает заново)
$ docker compose up --build # Создает изображения, а затем запускает контейнеры
$ docker compose up --force-recreate # Воссоздает контейнеры, даже если ничего не изменилось
$ docker compose up --build --force-recreate # Полностью перестраивает и воссоздает контейнеры



$ docker compose stop
$ docker compose down # Останавливает и удаляет контейнеры, сети и тома по умолчанию
$ docker compose down --volumes # Удаляет контейнеры, сети и именованные/анонимные тома
$ docker compose down --rmi all # Также удаляет все построенные изображения
$ docker compose rm # Удаляет остановленные контейнеры служб (после остановки)
$ docker compose kill # Принудительно останавливает запуск контейнеров


Списки и профили


$ docker compose ps # Списки запущенных служб и их состояние
$ docker compose logs # Отображение журналов для всех служб
$ docker compose logs -f
$ docker compose exec <service> sh # Открывает оболочку внутри работающего контейнера
$ docker compose config


Итого: подсказки и отредаченные материалы из опыта коллег, преподов и окружающих тебя лиц могут тебе помочь расти, то есть найти свои зоны роста и продвигаться далее. Качайся, это поможет 🙏

#toolchain #appsec #specialty #pmcases #paper #containersecurity
🔥5
Салюты,
С субботкой 🙃

#lol #кулуарка
🤣8❤‍🔥2😐2
Ну вы поняли 🤣🤣🤣

#lol #кулуарка
❤‍🔥4🔥3
🛠 Сценарий для Docker CIS & Image Audit

Салют,
Начнем неделю с практики, решил поделиться кастомом, так как ты сможешь его заюзать для триажа, конвертации отчетов.

Сценарий

- Определяет платформу Linux/macOS/другое и выбирает образ  как основной для аудита
- Создаёт структуру каталогов  ./audit_reports/{json,text,xlsx,odt} для результатов
- Запускает Trivy для образов, записывая JSON‑отчёты уязвимостей в  audit_reports/json/*.json
- Запускает контейнер  docker-bench-security  с маунтами и правами, выполняя аудит
- Если Python c  openpyxl  и  odfpy дополнительнос стоят рядом, то перебирает все JSON‑отчёты
- Сканирует Docker‑образы на CVE по заданному списку, включая docker/docker-bench-security, запускает по каждому инструмент анализ с перечнем уязвимых библиотек, их версий, идентификаторов уязвимостей, уровней критичности и статуса исправления
- Проводит конфигурационный аудит Docker‑хоста


Скрипт


set -euo pipefail

echo "Docker CIS & Image Audit"

command -v docker >/dev/null 2>&1 || { echo "no docker"; exit 1; }
docker info >/dev/null 2>&1 || { echo "docker daemon down"; exit 1; }

case "$(uname -s)" in
Linux) PLATFORM="Linux" ;;
Darwin) PLATFORM="macOS" ;;
*) PLATFORM="Other" ;;
esac

BENCH_IMAGE="${DOCKER_BENCH_IMAGE:-docker/docker-bench-security:latest}"
REPORTS_DIR="./audit_reports"
mkdir -p "${REPORTS_DIR}"/{json,text,xlsx,odt}

echo "Platform: ${PLATFORM}"
echo "Image: ${BENCH_IMAGE}"

docker image inspect "${BENCH_IMAGE}" >/dev/null 2>&1 || docker pull "${BENCH_IMAGE}"

if command -v trivy >/dev/null 2>&1; then
trivy image --format json --output "${REPORTS_DIR}/json/docker-bench-security.json" "${BENCH_IMAGE}" || true
for img in nginx:alpine python:3.11-alpine postgres:16-alpine; do
safe=$(echo "${img}" | sed 's/[:\/]/-/g')
trivy image --format json --output "${REPORTS_DIR}/json/${safe}.json" "${img}" || true
done
fi

run_bench() {
out="${REPORTS_DIR}/text/docker-bench-security-cis.txt"
docker run --rm \
--name "docker-bench-$(date +%s)" \
--cap-add audit_control \
--security-opt no-new-privileges \
--network host --pid host --userns host \
-e DOCKER_CONTENT_TRUST="${DOCKER_CONTENT_TRUST:-0}" \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /etc:/etc:ro -v /var/lib:/var/lib:ro -v /usr/bin:/usr/bin:ro \
"${BENCH_IMAGE}" 2>&1 | tee "${out}"
}

[ "${PLATFORM}" = "Linux" ] && run_bench || echo "CIS аудит в Linux/WSL"

if command -v python3 >/dev/null 2>&1; then
python3 << 'PY'
import json, os, sys
from pathlib import Path
try:
from openpyxl import Workbook
from odf.opendocument import OpenDocumentText
from odf.text import P
except ImportError:
sys.exit(0)

BASE = Path("./audit_reports")
for jf in (BASE / "json").glob("*.json"):
with jf.open() as f:
data = json.load(f)

xlsx = BASE / "xlsx" / (jf.stem + ".xlsx")
wb, ws = Workbook(), Workbook().active
ws = wb.active
ws.append(["Target","Type","VulnID","Severity","Status","Title"])
for r in data.get("Results", []):
t = r.get("Target","N/A")
for v in r.get("Vulnerabilities", []) + r.get("Misconfigurations", []):
ws.append([
t, r.get("Type","unknown"),
v.get("VulnerabilityID","N/A"),
v.get("Severity","UNKNOWN"),
v.get("Status","N/A"),
v.get("Title","N/A")[:80],
])
wb.save(xlsx)

odt = BASE / "odt" / (jf.stem + ".odt")
doc = OpenDocumentText()
doc.text.addElement(P(text=f"Report: {jf.name}"))
for r in data.get("Results", []):
doc.text.addElement(P(text=f"\nTarget: {r.get('Target','N/A')}"))
for i, v in enumerate(r.get("Vulnerabilities", []) + r.get("Misconfigurations", []), 1):
doc.text.addElement(P(text=f"[{i}] {v.get('VulnerabilityID','N/A')} ({v.get('Severity','UNKNOWN')}): {v.get('Title','N/A')}"))
doc.save(str(odt))
PY
fi

echo "Done -> ${REPORTS_DIR}/{json,text,xlsx,odt}"


#appsec #devsecops #specialty #toolchain #containersecurity #vulnmanagement #techsolution
🔥3🤯2🤣1
🏆 Испытания ФСТЭК России ГОСТ 71207 по SAST-анализаторам

Салюты,
Из первых рук,
Мы тут с моими ребятками участвовали в испытаниях по ГОСТ 71207 для SAST.

В итоге нас наградила Ирина Гефнер (ФСТЭК ) и Дмитрий Пономарев (ИСПРАН /Фобос) вот такой классной отчивкой в рамках открытой конференции ИСП РАН, которая проходит прямо сейчас.

Решил поделиться своим кайфом с тобой, двигаем ибешечку родной 🙏

#appsec #devsecop #specialty #toolchain #sast #conf #meetup #compliance #gost
🔥7❤‍🔥3
🛠🏆 AppSec Labs to pump yourself up Release v.1.3.0

Салюты,
Запилил для тебя классные лабораторки по AppSec, туда входит: Risk Analysis, обучение GitSCM, Docker и Compose, несколько SAST, SCA, DAST, Secret Detection и демо стенд, что бы потрогать руками эксплуатируемые уязвимости, подготовил разные уязвимые приложения, сделал скрипты для конвертации сработок от анализаторов в .xslx, .odt, .txt, SBOM, Orchestration, CI/CD, UML схемы процессов, etc.

Да, именно - это та самая практика, о которой ранее писал в тут и я прям хочу с тобой поделиться этим. Снова ты самым первым видишь релизы, которые я обкатываю в Бауманке, МФТИ и у себя в практике. Своим студентам и слушателям спасибо 😜


Подготовил также, на mkdocs material, удобный сайт с адаптивкой. Думаю тебе понравится, там User Friendly история, навигация и поиск по практическим материалам.

Intro

Это учебный репозиторий по прикладной безопасности приложений, в котором собраны лабораторные работы от базовых практик DevOps до AppSec. Во всех лабораторных, начиная с lab05 ты триажишь, разбираешься с уязвимостями и качаешь себя.

Курс ориентирован на инженеров, которые хотят научиться использовать git , CI/CD, контейнеризацию, сканеры уязвимостей, shell для сборок и натравливания на конкретные уязвимые приложения, а также сопутствующие сервисы в реальных мини‑проектах.


Структура

- lab01 — знакомство с базовыми инструментами и рабочим окружением, подготовка репозитория и базовой автоматизации
- lab02 - lab05  — мини‑проекты вокруг клиент–серверных приложений и контейнерной инфраструктуры, настройка CI/CD, работа с Docker и Compose
- lab06 – lab08  — практики аудита контейнеров, SAST/SCA‑сканирование, DAST и анализ отчётов с последующей агрегацией
- lab09 - оркестрация и Quality Gate, UMLи т.д.
– lab10  — проект по оценке рисков ИБ, интеграции результатов сканирования и оформлению отчётов


Дополнения

- приложение - описание команд, пакетов, софта по утилитам с линками на них
- cheatsheet по Docker, GitHub CLI, GitSCM, .gitignore, .dockerignore
- примеры нетиповых и тривиальных кейсов ИБ,
- описание лицензий ПО
- OWASP TOP 10 с основными материалами по нему и CI/CD Risks


Итого: у тебя есть отличная возможность стартануть с такого, либо продолжить прокачивать себя, а я планирую его развивать дальше, делать более сложные лабы дальше и делиться практикой.

Stay Tuned ;)

#appsec #devsecops #roadmap #specialty #toolchain #techsolution #gost #paper #course #reco #sast #sca #dast #sbom #containersecurity #secrets #riskanalys #techsolution
🔥142
🤔 Итоги года 2025 сообщества FinDevSecOps

Салют,
Тяжелая неделька, да?
Давай, под конец всего этого, я поделюсь с тобой итогами, которые мы обсуждили у нас на конфе сообщества findevsecops.ru. Маленький преролл я описывал тут.

В результате мы смогли достичь классных показателей, я запилил карту инструментов ИБ, еще фиксанул ее немного, смотри ее тут.


Материалы буду наполнять понемногу и шерить версиями, пока только пересобрал данные для таблички, ее пересоберу также попозже и сделаю пару фич, думаю, до нг 2026.

Также мы сделали wiki и планируем ее пошарить при поддержке ребят из Swordfish Security, Positive Technology и т.д. Приложил пару своих материалов из презы, которую показывал ребятам.

Основной и ключевой поинт в том, что мы пилим дает плоды как тут для меня, так и помогает делать нормальные описанные процессы с корректировками на поведение команды и изменяющиеся риски, карты сертификации под ГОСТ 56939, а также шерить опыт, знания по AppSec.


А официальная часть хорошо описана у @fintechassociation АФТ тут.

#appsec #devsecops #pmi #specialty #toolchain #vulnmanagement #techsolution #meetup #кулуарка
🔥5🤣2
Салюты,
До нового года 16 дней.
Поэтому актуальное 🫡🙃

#lol #кулуарка
🤣7🤯4🔥3
This media is not supported in the widget
VIEW IN TELEGRAM
🔥156
🛠 Карта DevSecOps Toolchain

Салют,
Интересная новость, я тут в продолжение этой темы, сейчас допиливаю карту инструментов, для тебя заливаю преролл, что бы ты смог поближе посмотреть на обновление в черновике, планирую закинуть для тебя инфо в начале следующей неделе 🙏

Также дополнительно закину пару новых апдейтов и проект, который может быть тебе полезен.

Инфа по карте инструментов будет более приятная, черновик можешь почекать тут.

Планирую зарелизить до конца года в репозиторий FDSO на github.com и буду рад тебя пригласить к pull requeste для корректировок и развития этой карты, шеринга опыта.

Поэтому stay tuned 😜

#toolchain #appsec #devsecops #specialty #compliance #gost #vulnmanagement #techsolution
❤‍🔥8🔥7
До нового года 13 дней.
Жизненное для всех нас 🫡

#lol #кулуарка
🤣13🤯3