k8s (in)security
13.3K subscribers
1.19K photos
2 videos
53 files
1.8K links
Канал о (не)безопасности Kubernetes + микросервисных, контейнеризированных приложений.

Ведет команда www.luntry.ru
#ZST99
Вопросы, идеи, предложения => @Qu3b3c

https://knd.gov.ru/license?id=673ddbc21039886b1d03b7ce&registryType=bloggersPermission
Download Telegram
Docker выпустил свой официальный набор skills для работы со своими решениями:
- Dockerfile & Build
- Docker Compose
- Docker Sandboxes
- Docker Agent
- Cross-Product

В общем если вы активно работаете с Docker и Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode и т.д. то это может вам пригодиться.
👍16🔥7❤4
Docker Sandbox Kit Specification — это открытая спецификация упаковки окружения для AI-агентов вместе с декларацией того, какие доступы ему нужны.

Dockerfile описывает, что установлено внутри образа. Kit дополнительно описывает, что этому окружению потребуется снаружи: сеть, учётные данные, хранилища, инструменты и контекст для агента. При этом Kit сам ничего не разрешает: он запрашивает возможности, а среда запуска решает, что предоставить, и обеспечивает ограничения. Kit собирает программное окружение и декларации его потребностей в один версионируемый артефакт. Он представляет собой технически обычный OCI-образ с дополнительной аннотацией. Обеспечивать заявленные ограничения должен Kit-совместимый runtime.

Но формат не ограничен агентами: им можно описывать потребности обычных сервисов!

По сути Docker Sandbox Kit — это переносимый комплект окружения плюс явный список его запросов к внешнему миру.

Как попробовать на практике? Самый понятный путь — установить sbx runtime и запустить локальные примеры из репозитория.

P. S. Важная оговорка: спецификация сейчас экспериментальная, финальная версия в README намечена на IV квартал 2026 года.
👍4🔥3❤2💩1
k8s-aibom - это оператор для сбора AI Bill of Materials в Kubernetes.

В AI-проектах уже недостаточно знать только версии контейнеров и пакетов. Важно понимать, какие AI-модели, фреймворки и компоненты реально используются в кластере, где они запущены и от чего зависят. Что и как он идентифицирует можно почитать тут.

Команда Google Cloud представила k8s-aibom — инструмент с открытым исходным кодом, который помогает автоматически собирать AIBOM.
Что инструмент дает:
- инвентаризацию AI-компонентов в кластере;
- понимание, какие модели и ML-фреймворки используются;
- повышение прозрачности AI-нагрузок;
- помощь в анализе рисков, уязвимостей и соответствия требованиям безопасности;
- более удобный контроль AI-софта в production-средах.

Со временем окружение быстро усложняется, а ручной учет компонентов становится практически невозможным. По сути, k8s-aibom — это попытка сделать для AI-компонентов то же, что SBOM (только в формате OWASP CycloneDX 1.6 Machine Learning Bill of Materials (ML-BOM)) делает для обычного программного обеспечения: дать структурированное представление о составе системы, чтобы защитить цепочку поставки (supply chain), борьба с shadow AI.
👍10🔥5❤2
Исследователи Palo Alto Networks показали интересный сценарий атаки на SPIFFE/SPIRE в Kubernetes. Если атакующий получает root на ноде, он может подменить cgroup метаданные процесса и заставить SPIRE Agent выдать ему SVID другого workload.

В результате злоумышленник получает возможность использовать криптографическую идентичность скомпрометированного workload и обращаться к сервисам, доверяющим этой identity. При этом сама криптография SPIFFE не ломается — проблема в том, что после компрометации ноды рушится доверие к данным, на которых основана workload attestation.

Для проверки таких сценариев Palo Alto Networks выпустили открытый инструмент Spooffe, который автоматизирует тестирование подмены cgroup и получения чужих SVID. Хорошее напоминание о том, что SPIFFE/SPIRE не изолирует workload от полностью скомпрометированной ноды и root доступ нужно учитывать в threat model.
👍10🔥7❤2
Сегодня в центре нашего внимания свежий вайтпейпер "Kubernetes Misconfigurations in the Wild: Taxonomy, Evolution, and Automated Repair with Large Language Models"

Где авторы исследуют два вопроса:
1) какие ошибки конфигурации чаще всего возникают на практике;
2) насколько хорошо LLM могут автоматически их исправлять.

Для этого они анализируют обсуждения разработчиков на Stack Overflow, Helm-чарты и результаты нескольких инструментов статического анализа.

По первому моменту они сделали таксономию из 5 основных разделов (ее можно видеть на скриншоте).

А по второму итоговый вывод в том, что LLM лучше использовать не как полностью автономную сущность, а как генератор исправления, работающий внутри конвейера с детерминированной валидацией. Тоесть гибрид LLM + schema/policy validation выглядит значительно надёжнее (98–99% корректных исправлений), чем “чистая” генерация исправлений, но до безопасного автопилота ещё далеко. Все смотрелось только в статике, итоговые исправления не запускались на практике, да и явно что в выборке по Stack Overflow и Helm-чартам далеко не все классы проблем присутствуют.
🔥11👍5❤2
Сегодня мы также хотим поделиться с вами нашим большим внутренним праздником)

Наше решение Luntry получило сертификат ФСТЭК! Мы с 2021 года занимаемся безопасностью контейнеров и Kubernetes, и стараемся каждый год двигать нашу индустрию вперед (решением, этим каналом, нашей конференцией БеКон) и данное событие является еще одним таким шагом.

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

Подробности можно почитать тут - а мы праздновать =)

P.S. Больше технических деталей в докладе «ФСТЭК и контейнеры: от заявки до сертификата» с БеКон 2026
🔥42👍15❤4👏3
NCC Group рассказали, как с помощью LLM-assisted pipeline нашли две уязвимости в etcd. В результате исследования обнаружили CVE-2026-59818 — обход проверки отозванных сертификатов на gRPC listener, и CVE-2026-73499 — обход RBAC в Watch API, позволяющий получать события по ключам за пределами выданных прав.

Интересно здесь не только сами уязвимости, но и подход к их поиску. LLM анализировал структурированный граф кода, сравнивал связанные execution paths и искал различия в применении security controls, после чего найденные гипотезы проверялись на реальных инстансах etcd.

При этом авторы подчёркивают, что LLM генерировал много false positives, поэтому ключевым этапом оставалась динамическая проверка и ручная валидация. Получился довольно показательный пример того, как LLM можно использовать не вместо исследователя, а для значительного расширения покрытия при поиске уязвимостей в больших кодовых баз.
👍11🔥6❤3😁1👨‍💻1
В 2014 году Google явил миру оркестратор Kubernetes, чтобы управлять множеством контейнеров на множестве хостов, и который сегодня стал стандартом де-факто в индустрии.

И уже в 2026 году Google явил миру оркестратор ax (agent executor), чтобы управлять множеством автономных агентов в кластере Kubernetes. Станет ли он стандартом де-факто в индустрии покажет лишь время.

AX — это инфраструктура для запуска ИИ нагрузок и работает это дело по верх k8s и Agent Substrate. В его основе три сущности (YAML):
1) Task — задача в изолированной среде: образ контейнера, команда, переменные окружения, запросы и лимиты вычислительных ресурсов.
2) Workspace — рабочее окружение: Git-репозитории, MCP-серверы и пакеты навыков. Можно задать цель обычным языком, например «подготовить Go toolchain», и агент займётся настройкой окружения перед запуском основной команды.
3) Model — конфигурация провайдера и модели, параметры генерации и ссылки на Kubernetes Secrets с учётными данными.

Когда агентов становится много, недостаточно просто отправлять запросы к LLM. Нужно воспроизводимо готовить окружения, ограничивать ресурсы, изолировать выполнение и разбираться, почему конкретная задача зависла. AX пытается вынести эту инфраструктурную работу в отдельный слой.
👍18🔥10❤4💯1
Kubernetes продолжает переход на cgroup v2, а поддержка cgroup v1 постепенно уходит в прошлое. Начиная с Kubernetes 1.35, kubelet по умолчанию отказывается запускаться на узлах с cgroup v1, а в версии 1.38 поддержку старого механизма планируют удалить.

Переход на cgroup v2 даёт единую иерархию управления ресурсами, улучшает изоляцию и открывает доступ к новым возможностям, включая Memory QoS, метрики PSI и более точное управление ресурсами Pod. Кроме того, контроллер устройств в cgroup v2 реализован через cgroup BPF, что важно для инструментов на базе eBPF.

При миграции стоит проверить версии ядра Linux, containerd или CRI-O, настройки cgroup driver и совместимость инструментов мониторинга, которые напрямую читают файловую систему cgroups. Для новых кластеров рекомендуется сразу использовать cgroup v2, а для существующих — заранее спланировать миграцию. Об этом и не только довольно подробно рассказывают в заметке из официального блого Kubernetes – The Shift to cgroup v2 in Kubernetes: What You Need to Know.
👍14🔥3
Завтра в рамках отраслевого форума по информационной безопасности ITSEC 2026 наша команда представит 2 доклада:

1) Как не завалить SIEM в высоконагруженных кластерах Kubernetes

Кластера Kubernetes генерирует большой поток событий, что на уровне Runtime, что на уровне Kubernetes Audit Log. И если эту задачу решать в лоб, то либо складывается агент и хост вместе с ним, либо улетучивается вся лицензия на SIEM вместе с дисковым хранилищем. Как быть и что делать рассмотрим в данном докладе.

2) Защита AI-инфраструктур

Когда говорят про безопасность AI, чаще все обсуждают как безопасно его обучать или как с помощью него защищаться или защищаться от его действий. И в этой картине выпадает очень важный момент - момент инфраструктуры, где AI находится и функционирует. А эта среда очень специфичная со своими моделями угроз и нарушителей, требующая особого подхода. В рамках доклада мы и поговорим про специфику безопасности AI-инфраструктур.
🔥6👍4
Microsoft также не проходит мимо темы изоляции/ограничения AI-агентов.

Microsoft eXecution Container (MXC) — это SDK (Rust, .NET и Node.js) для запуска не доверенного кода в песочнице с явно заданными правами в Windows, Linux, macOS.

MXC позволяет приложению задать границы выполнения:
- Файлы: какие пути доступны только для чтения, какие — для записи, а какие запрещены.
- Сеть: ограничения исходящих соединений, настройки прокси и, в зависимости от backend, фильтрация хостов.
- Интерфейс: ограничения доступа к буферу обмена, дисплею и GU`I — там, где `backend это поддерживает.
- Выполнение: запуск команд и управление жизненным циклом изолированной среды.

И пусть вас не путает слово Container в названии (как нас сначала)! Это не имеет ничего общего с OCI образами и нашими любимыми контейнерами). Для каждой ОС тут свой backend изоляции:
- Windows — уровень BaseContainer backend ProcessContainer;
- macOS — Seatbelt;
- Linux — Bubblewrap.

Приложение передаёт команду, тип среды и политику доступа, а MXC проверяет запрос и запускает нагрузку через выбранный механизм изоляции.
🔥7👍3❤2
В прошлом году мы уже рассказывали про Zeroday Cloud от WIZ. В этом году мероприятие повторяется.

Скоуп и расценки расширяются. Так например, за успешный эксплойт в gVisor или Firecracker у исследователей есть шанс получить $200,000, а в NGINX – $300,000.

Результаты будут представлены в лайве на Black Hat Europe 9-10 декабря. Выплаты в этом ивенте существенно выше, по сравнению с существующим расценками в багбаунти для этих продуктов.
🔥7👍3❤1
kern — rootless-контейнерный runtime без постоянного демона. Запускает OCI-образы, предлагает Python/Node SDK и MCP для выполнения кода AI-агентов.

kern это не другой способ изоляции вместо контейнеров. Это тоже Linux-контейнеры, но с другой архитектурой runtime, настройками безопасности и интерфейсами для разработчика. Большинство соответствующих ограничений можно организовать и в Docker/Podman. Разница — в том, насколько готовым и удобным получается этот сценарий без собственной обвязки.

Но самое интересное в проекте (по крайней мере для нас) — три документа: SECURITY.md, THREAT_MODEL.md и CVE-POSTURE.md. Эти документs честно и прямолинейно отвечают на вопросы: что именно защищает песочница и где защита заканчивается?

На пример, в CVE-POSTURE описывается 25 способов побега из контейнера и как с этим справляется данный проект. А так как проект базируется на классических механизмах контейнеризации (а не microVM, sandbox и т.д.), то это все очень просто перенести для понимания картины в классических контейнерах Docker/Podman.

В общем, как минимум для образовательных целей репозиторий прям очень полезен.
👍10🔥3🥰1
В своей статье Kubernetes Ingress vs Gateway API Isovalent сравнивает Kubernetes Ingress и Gateway API — два подхода к маршрутизации трафика внутри кластера. Ingress подходит для базовой маршрутизации HTTP/HTTPS, но при усложнении инфраструктуры его возможностей и гибкости может не хватать.

Gateway API предлагает более расширяемую модель с разделением ответственности между инфраструктурными и прикладными командами. Он поддерживает сложные правила маршрутизации и позволяет обходиться без привязки к специфичным аннотациям отдельных контроллеров.

Gateway API — перспективный выбор для новых Kubernetes кластеров и сложных сценариев маршрутизации, тогда как Ingress остаётся рабочим вариантом для простых конфигураций.
👍13🔥3
На днях была опубликована громкая уязвимость CVE-2026-99999 (PwnEscape), которая позволяет побег из гостевой VM на хост.

А что относительно классических Linux контейнеров?

Из состояния на сегодня:
- публичных материалов на этот счет нет
- так как уязвимость в IPv4-стеке ядра Linux, а не непосредственно в KVM, то потенциал есть
- есть возможность локального запуска атаки, а не только из VM
- недостаточно просто отправить специально сформированный IP-пакет, также требуется контроль над метаданными отложенного вычисления контрольной суммы, которые затем обрабатывает ядро. В подтверждённом сценарии VM эти данные поступают через virtio-net и сетевой путь хоста. У обычного контейнера путь другой.
- для контейнера также важно - доступны ли нужные сетевые интерфейсы и операции с учётом capabilities, namespaces, seccomp и LSM

Как итог: PwnEscape — подтверждённый VM escape и пока потенциальный риск для контейнерной изоляции.
👍12🔥3❤2
В ядре Linux развивается BPF ksock – API, позволяющий BPF-программам работать с сетевыми сокетами и отправлять данные напрямую из ядра. Изначально проект ориентирован на передачу телеметрии, событий и уведомлений без необходимости обрабатывать их в отдельном пользовательском процессе.

В первой реализации API доступны пять kfunc для создания UDP-сокета, подключения к удалённому адресу, отправки данных и управления временем жизни сокета. Это позволит, например, передавать события безопасности из BPF LSM даже при недоступности пользовательского агента, а также снизить накладные расходы на копирование и обработку телеметрии.

Авторы рассматривают и более широкие сценарии — от heartbeat-механизмов до DNS-серверов внутри ядра. Пока API ограничен рядом типов BPF-программ и UDP, но в планах – полноценная поддержка TCP, приёма данных и дополнительных операций с сокетами.
🔥9❤3👍2
Ребята из NVIDIA выложили в открытый доступ свой проект Run:ai, который превращает GPU-серверы в общую AI-платформу.

Если вам знакома ситуация: одна команда ждёт GPU для обучения, другая держит видеокарту под почти пустой Jupyter Notebook, а у третьей ресурсы простаивают «на всякий случай», то данное решение поможет все это разрулить.

Run:ai решает эту проблему на уровне инфраструктуры. Это платформа поверх Kubernetes для управления GPU-ресурсами и AI-нагрузками: разработкой, обучением и инференсом.

Что умеет:
- Объединять ресурсы в общий пул. Команды получают квоты и правила доступа вместо навсегда закреплённых серверов.
- Использовать свободную мощность. Проект может выходить за свою обычную долю, пока ресурсы не нужны другим — в рамках заданных политик.
- Выделять доли GPU. Небольшим задачам не обязательно занимать целую видеокарту.
- Управлять конкуренцией. Очереди, приоритеты, fair-share, вытеснение и размещение с учётом топологии помогают распределять ресурсы между нагрузками.
- Давать общую картину. Единое управление несколькими Kubernetes-кластерами, мониторинг загрузки и контроль доступа.

Отдельные механизмы есть и в других инструментах, в Run:ai это все объединено в готовую платформу для совместной работы команд.
❤14👍12❤‍🔥3🔥2
native.cloud – открытый проект, который предлагает единый словарь ключей для метаданных в облачной инфраструктуре. Идея появилась ещё в 2020 году, а запустили сайт в 2026-м. Проблему он решает знакомую: каждая команда и каждый инструмент называют одно и то же по-своему, и из-за этого буксует автоматизация.

На сайте собраны готовые ключи для аннотаций, меток и taints в Kubernetes, к каждому есть объяснение, а где нужно — правила валидации и примеры значений. Ключи разбиты по доменам: вычисления, сеть, хранилище, идентификация, мультитенантность, топология, вендоры и рабочие нагрузки.

Стандарт добровольный, вендорно-нейтральный и бесплатный, а сами авторы честно просят не добавлять ключи «для галочки».
❤‍🔥12🔥7❤3👎1
В официальном блоге Anthropic вышла статья "Using Claude to reduce the attack surface of code", которая особенна интересна в свете последнего большого количества критичных уязвимостей.

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

Логика простая: закрытая критическая уязвимость ничего не говорит вам об оставшихся. А вот сокращение reachable-кода снижает критичность тех багов, о которых вы ещё не знаете — включая те, что прямо сейчас эксплуатируют.

В данном исследовании они обращают внимание на:
1) Default-конфигурацию — какой код доступен извне «из коробки», хотя дефолтным сценариям он не нужен.
2) Взаимодействие настроек — опции, безобидные по отдельности, но вместе тихо отключающие контроль.
3) Ранняя достижимость — какой код может дёрнуть внешний ввод до аутентификации.

Далее авторы приводят результаты своей работы на OSS решениях.

В нашей теме контейнерной безопасности все это также работает и оправдано, просто является еще одним рубежом уменьшения поверхности атаки. В контейнерном мире без редактирования кода можно:
- уменьшать количество системных вызовов (seccomp)
- уменьшать возможности кода (capabilities)
- уменьшать что в контейнере запускается (AppArmor,eBPF_LSM, ...)
- уменьшать свойства самого контейнера (SecurityContext)
- уменьшать сетевую доступность и активность микросервиса (NetworkPolicy)
- уменьшать разновидности и многообразие Kubernetes ресурсов (PolicyEngine)

Честно благодаря такой возможности ограничить поверхность атаки, я и полюбил данную тему)
🔥12❤7👍6
Всем, привет!

В этом году в рамках SOC Forum 2026 наша команда продолжит делиться полезной информацией для SOC в окружениях на базе Kubernetes. В этом году поговорим про реагирование на инциденты!
👍11🔥7🥰2🤮1