SKILLEMALL.ai

BD hunt-k8s

Поиск уязвимостей Kubernetes и Docker — анонимный доступ к API, kubelet 10250 exec (SPDY/WebSocket, НЕ простой POST) и более простой примитив /run, etcd 2379 без аутентификации, обход входа в dashboard, неправильная конфигурация RBAC, злоупотребление SA-токенами secret/SA, побег с docker.sock, побег из контейнера runc/container (Leaky Vessels CVE-2024-21626), RCE через API-сервер на узлы/прокси, EphemeralContainers node-shell, злоупотребление SA-токенами с ограниченной аудиторией/проекцией + сроком действия, обход admission-controller, остатки Helm/Tiller. Используйте, когда целевая система использует контейнеризованную инфраструктуру, открывает порты K8s (6443/10250/10255/2379/8443) или метаданные облака раскрывают сервисные учетные записи K8s.

машинный переводПоказать оригиналСкрыть оригинал«Hunt Kubernetes & Docker — API anonymous access, kubelet 10250 exec (S…»

Hunt Kubernetes & Docker — API anonymous access, kubelet 10250 exec (SPDY/WebSocket, NOT plain POST) and the simpler /run primitive, etcd 2379 unauth, dashboard skip-login, RBAC misconfig, secret/SA-token abuse, docker.sock host escape, runc/container-escape (Leaky Vessels CVE-2024-21626), API-server-mediated nodes/proxy RCE, EphemeralContainers node-shell, bound/projected SA-token audience+expiry abuse, admission-controller bypass, Helm/Tiller remnants. Use when target runs containerized infra, exposes K8s ports (6443/10250/10255/2379/8443), or cloud metadata reveals K8s service accounts.

elementalsouls/Claude-BugHunter Agent Skills автор: elementalsouls 1 файл тело ≈ 4 813 токенов Открыть источникgithub.com проанализирован 2 ч назад

Поиск уязвимостей Kubernetes и Docker — анонимный доступ к API, kubelet 10250 exec (SPDY/WebSocket, НЕ простой POST) и более простой примитив /run, etcd 2379…

Как процесс D 45/100 · Процесс не доведён — слабые места: результат и критерий готовности, когда включается, входы и предусловия

ИнтеграцияDockerKubernetesAWSИнфраструктуратип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
B
88/100
безопасность, качество, тесты
Безопасность 60%
93
Качество 40%
80
Прогон на моделях
не было
Процессный рейтинг
D
45/100
Процесс не доведён
Результат и критерий готовности вес 14
0
Входы и предусловия вес 11
0
Отчётность по ходу вес 2
0
три самых слабых из десяти параметров · все десять

Как улучшить

    Для прогона на моделях — необязательно
    • Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
    • spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.

    Находки guard · 7

    ✓ Критических и высоких находок нет

    Средние и низкие: 7
    • низкая Секреты в коде secret-high-entropy-token SKILL.md:52
      Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
      TOK=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aw…ds: 60") # IMDSv2
      в кавычках
    • низкая Утечка данных net-credential-use SKILL.md:139
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (документация security-скилла)
      NODE=$(curl -sk -H "Authorization: Bearer $TOKEN" "$SRV/api/v1/nodes" | grep -o '"name":"[^"]*"' | head -1 | cut -d'"' -f4)
      security-скилл
    • низкая Утечка данных net-credential-use SKILL.md:142
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (документация security-скилла)
      curl -sk -X POST -H "Authorization: Bearer $TOKEN" \
      security-скилл
    • низкая Утечка данных net-credential-use SKILL.md:146
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (документация security-скилла)
      curl -sk -H "Authorization: Bearer $TOKEN" "$SRV/api/v1/nodes/$NODE/proxy/pods"
      security-скилл
    • низкая Утечка данных net-credential-use SKILL.md:193
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (документация security-скилла)
      curl -sk "$API/api/v1/namespaces/$NS/secrets" -H "Authorization: Bearer $TOKEN"
      security-скилл
    • низкая Утечка данных net-credential-use SKILL.md:246
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (документация security-скилла)
      curl -sk "$SRV/apis/admi….io/v1/validatingwebhookconfigurations" -H "Authorization: Bearer $TOKEN"
      security-скилл
    • низкая Рискованное назначение intent-offensive-security SKILL.md:258
      Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
      | Kubelet 10250 `/run` | exec in any pod → steal SA token → API | Cluster privilege escalation |

    Просканировано файлов: 1. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.

    По спецификации Agent Skills

    • заметка frontmatter-key неизвестное поле фронтматтера "sources"
    • заметка frontmatter-key неизвестное поле фронтматтера "report_count"

    Процессный рейтинг: все десять параметров 45/100

    • 0Результат и критерий готовности. Не сказано, что считать результатом
    • 0Входы и предусловия. Не сказано, что нужно иметь на входе
    • 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
    • 20Когда включается. Не сказано, при каком запросе скилл включается
    • 30Повторный запуск. Изменяющих операций: 6, без проверки текущего состояния
    • 55Ошибки и развилки. Развилок: 1
    • 60Инструменты и файлы. Используются инструменты (bash, web, node), но во frontmatter они не объявлены
    • 70Стоимость исполнения. Тело инструкции 4813 токенов
    • 85Шаги. Шагов: 33, расплывчатых формулировок: 1
    • 100Согласованность. Имя и обязательные поля на месте
    • low Разделов верхнего уровня: 14. Похоже на несколько доменов в одном скилле
    • low Ответ описан самодельной разметкой (6 тегов): типизированный вызов надёжнее

    Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.

    Сигналы качества

    • +5В description нет примеров фраз, по которым скилл должен срабатывать
    • +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
    • +3Формат ответа не описан: модель каждый раз решает сама
    • -2Ссылки на localhost: у другого пользователя не заработает
    • +1Лицензия не указана
    • +2Инструкции на одном языке
    • +3Длина description 596 символов: достаточно сигнала, не съедает бюджет
    • +4Структура: 15 заголовков
    • +3Пошаговые инструкции: 33 пунктов
    • +4Есть примеры (9 блоков кода)

    База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 80.