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

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

https://knd.gov.ru/license?id=673ddbc21039886b1d03b7ce&registryType=bloggersPermission
Download Telegram
Начнем неделю со статьи "Scale your AI workloads faster and more efficiently with GKE Pod snapshots", которая рассказывает как в GKE можно замораживать (checkpoint) состояния Pod в виде snapshot и затем запускать их с этого же момента (restore). Более подробно можно узнать об этом из документации "Save and restore Agent Sandbox environments with Pod snapshots".

И если вам кажется, что это какая-то магия и доступна только избранным пользователям GKE Sandbox, то вы ошибаетесь - такое можете сделать и вы сегодня у себя дома. Так как это все базируется на возможностях рантайма gVisor (1,2)!

Да, это еще не реализация в рамках runc/crun и KEP-5823 (Pod-level Checkpoint/Restore) на базе CRIU, но тоже вариант ;)
❤6👍5🔥4
Сконцентрировавшись на серверной части инфраструктуры, мы порой непростительно забываем про клиентскую историю. Так вот очередная уязвимость в Kubernetes, напоминает нам о том что надо защищать и патчить не только компоненты control и data plane, но и kubectl.

CVE-2026-19444: kubectl cp path traversal on Windows allows arbitrary file writes

CVSS Rating: CVSS:3.1/AV:A/AC:L/PR:H/UI:R/S:C/C:L/I:H/A:N
Medium (6.5)

Если капнуть в историю, то это далеко не первая подобная бага в kubectl:
1) CVE-2018-1002100 — Первая оригинальная уязвимость kubectl cp
2) CVE-2019-1002101 — Атака через символические ссылки (Symlink Attack) в kubectl cp
3) CVE-2019-11246 — уязвимость обхода каталога (directory traversal) в команде kubectl cp
4) CVE-2019-11249 — закрывает обход предыдущих патчей для kubectl cp

Особенность новой уязвимости в том что она только под Windows. Проблема кроется в разнице обработки путей (например, разделителей путей \ против /, использования дисков C: или специфических для Windows символов), из-за чего общие кроссплатформенные проверки kubectl оказались неэффективны на Windows-системах, позволяя осуществлять несанкционированную запись произвольных файлов (arbitrary file write).
🔥4👍3❤1
Сегодняшний наш герой это runtime security агент на eBPF под названием Bombini, который целиком написанный на Rust с библиотекой Aya.

Он построен на BPF LSM хуках и состоит из модульных детекторов, которые отслеживают процессы, файловые и сетевые операции, а также взаимодействие с eBPF-подсистемой ядра.

Самое интересное здесь — rule engine, который целиком работает внутри eBPF в отличие от Falco, где правила вычисляются в user mode части агента. Правила пишутся в YAML с булевыми предикатами (AND/OR/NOT, in, CIDR для IPv4/IPv6, списки и макросы). Каждое правило компилируется как программа: парсер строит AST,оптимизационные проходы его упрощают, а на выходе получается байткод в обратной польской записи. Байткод загружается в eBPF-мапы и исполняется прямо в ядре собственным RPN-интерпретатором. Поэтому фильтрация происходит до отправки событий в userspace, и накладные расходы минимальны. Для правил есть sandbox-режим в вариантах allow-list и deny-list, в отличие от Tetragon, где реализован только deny-list способ.

Отдельно стоит отметить детектор SysEnumMon, аналогов нет ни в Falco, ни в Tetragon. Обычно в eBPF-агентах одно срабатывание хука даёт одно событие. SysEnumMon работает иначе: он собирает наблюдения с нескольких хуков (запуск бинарей и открытие файлов), коррелирует их внутри дерева процессов в скользящем временном окне и принимает решение прямо в eBPF. Так он ловит сканеры вроде LinPEAS и LinEnum, хотя каждое их действие по отдельности (id, uname, чтение /etc/passwd) выглядит легитимно.

Подробнее о проекте можно узнать тут и тут.
🔥16❤7👍5❤‍🔥1
Docker выпустил свой официальный набор skills для работы со своими решениями:
- Dockerfile & Build
- Docker Compose
- Docker Sandboxes
- Docker Agent
- Cross-Product

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

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

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

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

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

P. S. Важная оговорка: спецификация сейчас экспериментальная, финальная версия в README намечена на IV квартал 2026 года.
❤2👍2🔥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.
👍9🔥4❤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.
👍8🔥6❤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-чартам далеко не все классы проблем присутствуют.
🔥10👍4❤2
Сегодня мы также хотим поделиться с вами нашим большим внутренним праздником)

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

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

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

P.S. Больше технических деталей в докладе «ФСТЭК и контейнеры: от заявки до сертификата» с БеКон 2026
🔥41👍14❤4👏2
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🔥5❤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 пытается вынести эту инфраструктурную работу в отдельный слой.
👍13🔥6❤2