🛠🏆 DevSecOps Toolchain MAP Release v.1.1.2
Салюты,
Я тут запилил карту инструментов по AppSec и ее класам, Да, именно та самая о которой ранее писал в этом посте и я прям хочу с тобой поделиться этим.
Смотри, ты можешь ее почекать и попользоваться фильтрацией.
Вот тут source проекта с обертками на js, логикой на py + json из yaml. Ты можешь посмотеть репы и шилды с деталями, релизнул недавно, но никак не могу устоять перед тем, что бы поделиться с тобой этим. До нг планирую еще подкрутить пару классных штук.
Для твоего удобства натянут на mkdocs material и доступен по линку с адаптивной версткой, но ты же понимаешь, что с телефона таблица не удобно, поэтому есть фильтрация. Табличка подстраивается под размер экрана и компакта на сколько это возможно, записей на сейчас о тулах 267.
Сейчас функционал допиливается и пока работа ведется, обрати внимание, что ты один из первых, кто это видит прямо сейчас 🏆
Кусок таблицы в каруселе к данному посту. Фильтрация выглядит следующим образом и я покажу пару моментов, какие данные она выводит, включает свободный поиск по тулам внутри таблицы, которая собирается из yaml.
Основные моменты:
Release v.1.1.2 можешь посмотреть тут с артефактами и описанием как разворачивается, и да, не забывай про лицуху и уведомление.
Stay Tuned 🙏
#appsec #devsecops #roadmap #specialty #toolchain #techsolution #gost #paper
Салюты,
Я тут запилил карту инструментов по AppSec и ее класам, Да, именно та самая о которой ранее писал в этом посте и я прям хочу с тобой поделиться этим.
Смотри, ты можешь ее почекать и попользоваться фильтрацией.
Вот тут source проекта с обертками на js, логикой на py + json из yaml. Ты можешь посмотеть репы и шилды с деталями, релизнул недавно, но никак не могу устоять перед тем, что бы поделиться с тобой этим. До нг планирую еще подкрутить пару классных штук.
Для твоего удобства натянут на mkdocs material и доступен по линку с адаптивной версткой, но ты же понимаешь, что с телефона таблица не удобно, поэтому есть фильтрация. Табличка подстраивается под размер экрана и компакта на сколько это возможно, записей на сейчас о тулах 267.
- У каждого тула указан тип лицензии, в менюшке есть страничка описания лицензий и у меня тут можешь почекать по #licenses. Я скоро продолжу также эту историю. Помимо этого там есть описание и прочие классные отмеченные штуки, которые помогут тебе определиться с тем, нужен тебе тул или нет.
- В таблице предусмотрен open-source решения, вендорские по рынку РФ и из-за заграницы. Также там есть сертификаты ФСТЭК.
Сейчас функционал допиливается и пока работа ведется, обрати внимание, что ты один из первых, кто это видит прямо сейчас 🏆
Кусок таблицы в каруселе к данному посту. Фильтрация выглядит следующим образом и я покажу пару моментов, какие данные она выводит, включает свободный поиск по тулам внутри таблицы, которая собирается из yaml.
Основные моменты:
- карта дает возможность выбрать выгодные для себя инструменты под все необходимые ситуации: когда нет денег, когда не можем интегрировать большой инструмент, когда никого нет и приходится делать все одному и тд.
- карта инструментов показывает какие есть классы и типы инструментов
- предыдущая версия карты находится
тут
- агрегируются 'meta' данные о наличии сертификации, типе лицензии ПО, может ли быть импортозамещено, какой язык программирования, какие виды отчетов и иное
- вся верстка натянута на ' mkdocs material'
- мы принимаем 'pull requeste' на изменения для того, что бы эта карта шарилась и мы могли работать в едином поле с комьюнити. Сейчас релиз будет пофикшен и скоро мы зальем вот
сюда
и опубличим, а тебе достается из первых рук то, что имеется на сейчас
- имеется фильтрация по 'meta' данным
- убрали некоторые инструменты, которые не поддерживаются или пользуются меньшей популярностью, вследствие чего они не обновляются
- актуализировали списки инструментов, на сейчас готовятся правки по ткстам и добавление материалов описания
- добавили MLSecOps, то есть быть в тренде 😅
Release v.1.1.2 можешь посмотреть тут с артефактами и описанием как разворачивается, и да, не забывай про лицуху и уведомление.
Stay Tuned 🙏
#appsec #devsecops #roadmap #specialty #toolchain #techsolution #gost #paper
🔥4❤🔥3
🛠 Cilium как Container Network Interface k8s
Салют,
Сегодн я хочу поделиться с тобой описанием, относительно CNI контролей под Kubernetes. Мы посмотрим на CNI плагин Cilium. Но мы рассмотрим его в большей степени со стороны технички.
Особенности:
Применение
Policy & Deploy
CiliumNetworkPolicy пример
Политика "default-deny" для namespace
Итого:
#appsec #toolchain #containersecurity #reco #techsolution #paper
Салют,
Сегодн я хочу поделиться с тобой описанием, относительно CNI контролей под Kubernetes. Мы посмотрим на CNI плагин Cilium. Но мы рассмотрим его в большей степени со стороны технички.
Служит для обеспечения сетевой связности, безопасности и наблюдаемости между рабочими нагрузками, как подами в Kubernetes. Работает на уровне ОС. Cilium использует eBPF для гибкого и эффективного управления сетевым трафиком и политиками безопасности путем настройки сети пода через eBPF-программы в ядре хоста. Тип лицензии: Open-source Apache 2.0.
Особенности:
- Сетевые возможности: CNI, LoadBalancer как CiliumClusterMesh
- Политики безопасности на основе identity-aware, шифрование трафика, защита от DDoS, фильтрация DNS, соответствие FIPS
- Может использоваться через minikube или kind для тестирования сетевых политик и поведения
- CiliumNetworkPolicy можно применять как манифесты
- Policy работают на уровне приложений L7 для HTTP, gRPC, Kafka и т.д., а не только на сетевом уровне L3/L4
- CiliumNetworkPolicy сами по себе являются декларативными правилами и можно настроить default-deny режим
Применение
helm repo add cilium https://helm.cilium.io/
# Установка Cilium в кластер Kubernetes
helm install cilium cilium/cilium --version 1.14.4 \
--namespace kube-system \
--set cluster.name=my-cluster \
--set cluster.id=1
Policy & Deploy
deploy_cilium:
stage: deploy
image:
name: alpine/helm:latest
entrypoint: ['']
script:
- helm repo add cilium https://helm.cilium.io/
- helm upgrade --install cilium cilium/cilium
--version 1.14.4
--namespace kube-system
--set cluster.name=${CLUSTER_NAME}
--set cluster.id=1
--set hubble.relay.enabled=true
--set hubble.ui.enabled=true
security_policies:
stage: deploy
image:
name: bitnami/kubectl:latest
entrypoint: ['']
script:
- kubectl apply -f manifests/cilium-network-policies/
dependencies: []
CiliumNetworkPolicy пример
apiVersion: "cilium.io/v2"
kind: CiliumNetworkPolicy
metadata:
name: "l7-rule"
spec:
endpointSelector:
matchLabels:
app: myService
ingress:
- fromEndpoints:
- matchLabels:
app: frontend
toPorts:
- ports:
- port: '80'
protocol: TCP
rules:
http:
- method: "GET" # Разрешить только GET-запросы
path: "/api/v1/data.*" # ко всем путям, начинающимся с /api/v1/data
- method: "POST"
path: "/api/v1/upload" # и конкретно на этот путь
- method: "GET"
path: "/public/.*" # Разрешить доступ к публичным ресурсам
Политика "default-deny" для namespace
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
name: allow-dns
namespace: production
spec:
endpointSelector: {} # Все pod'ы
egress:
- toEndpoints:
- matchLabels:
k8s-app: kube-dns
toPorts:
- ports:
- port: "53"
protocol: UDP
- port: "53"
protocol: TCP
Итого:
- Cilium полностью заменяет kube-proxy, реализуя балансировку нагрузки на основе eBPF
- Для приложений с REST API или gRPC Cilium позволяет внедрить политику "наименьших привилегий"
- Cluster Mesh позволяет безопасно соединять несколько кластеров Kubernetes,
- Вместо фильтрации по IP-адресам присваивает идентификатор безопасности группам подов с одинаковыми метками, где встраивается в каждый сетевой пакет, что позволяет проверять права связи на узле-получателе, независимо от того, где запущен под
- Расширяет стандартные NetworkPolicy Kubernetes, позволяя описывать правила на основе протоколов HTTP, gRPC и Kafka. Это позволяет разрешать или запрещать конкретные API-вызовы, HTTP-методы (GET, POST) или пути URL
- Может автоматически шифровать весь трафик между подами в кластере или даже между кластерами с использованием IPsec или WireGuard
- Безопасность исходящего трафика может быть реализована через политики, привязанные к DNS-именам
#appsec #toolchain #containersecurity #reco #techsolution #paper
🔥7
🏆 Ежегодный митап сообщества FinDevSecOps
Хочу поделиться с тобой новостью, что у нас тут проходит очередной митап нашего сообщества findevsecops.ru.
Ассоциация ФинТех @fintechassociation проводит митап: 08 декабря 2025 с 11.00 до 17.00.
Место проведения: офис Т1 по адресу г. Москва, Ленинградский проспект, 36с41, 23 этаж, амфитеатр.
Также будет доступно онлайн подключение к трансляции и ты сможешь увидить классных спикеров по финтеху и безопасной разработке в ИБ.
Лидеры FinDevSecOps и приглашенные эксперты в своих выступлениях ответят на следующие вопросы:
Необходима регистрация по форме.
Поделюсь немного контентом, который тебя ждет 🙏
#appsec #devsecops #pmi #specialty #toolchain #vulnmanagement #techsolution #meetup #кулуарка
Хочу поделиться с тобой новостью, что у нас тут проходит очередной митап нашего сообщества 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 и какие могут быть проблемы/ решения.
Общее описание
Базис
Compose
Списки и профили
Итого: подсказки и отредаченные материалы из опыта коллег, преподов и окружающих тебя лиц могут тебе помочь расти, то есть найти свои зоны роста и продвигаться далее. Качайся, это поможет 🙏
#toolchain #appsec #specialty #pmcases #paper #containersecurity
Давай выдохнем и просто закинем в закладочки, сегодня на последок хочу поделиться с тобой 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
🛠 Сценарий для Docker CIS & Image Audit
Салют,
Начнем неделю с практики, решил поделиться кастомом, так как ты сможешь его заюзать для триажа, конвертации отчетов.
Сценарий
Скрипт
#appsec #devsecops #specialty #toolchain #containersecurity #vulnmanagement #techsolution
Салют,
Начнем неделю с практики, решил поделиться кастомом, так как ты сможешь его заюзать для триажа, конвертации отчетов.
Сценарий
- Определяет платформу 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
Салюты,
Из первых рук,
Мы тут с моими ребятками участвовали в испытаниях по ГОСТ 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 ты триажишь, разбираешься с уязвимостями и качаешь себя.
Структура
Дополнения
Итого: у тебя есть отличная возможность стартануть с такого, либо продолжить прокачивать себя, а я планирую его развивать дальше, делать более сложные лабы дальше и делиться практикой.
Stay Tuned ;)
#appsec #devsecops #roadmap #specialty #toolchain #techsolution #gost #paper #course #reco #sast #sca #dast #sbom #containersecurity #secrets #riskanalys #techsolution
Салюты,
Запилил для тебя классные лабораторки по 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
🔥14 2