Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
kube-score — Анализ объектов Kubernetes с рекомендациями по повышению надежности и безопасности. kube-score активно предотвращает простои и ошибки в ваших YAML и Charts Kubernetes. Статический анализ кода для Kubernetes. | Kitploit
Инструменты/GitHubGitHub/zegl/kube-score
Сканеры уязвимостейБезопасность контейнеровСтатический анализ кода (SAST)Аудит конфигурацииБезопасность облачных средDevSecOpsНеправильная КонфигурацияТоп в Аудит конфигурации №14Топ в Безопасность контейнеров №11Топ в Неправильная Конфигурация №14
3.1k19863 месяцев назадПроверено Kitploit
GitHubzegl/kube-score

kube-score

Анализ объектов Kubernetes с рекомендациями по повышению надежности и безопасности. kube-score активно предотвращает простои и ошибки в ваших YAML и Charts Kubernetes. Статический анализ кода для Kubernetes.

РепозиторийСайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

kube-score

Go Report Card Test Go Releases GitHub stars Downloads License


kube-score — это инструмент, выполняющий статический анализ кода ваших определений объектов Kubernetes.

Результат — список рекомендаций по улучшению безопасности и отказоустойчивости вашего приложения.

Вы можете опробовать kube-score в браузере с помощью ().

онлайн-демо
исходный код

Установка

kube-score легко установить; он доступен из следующих источников:

РаспространениеКоманда / Ссылка
Предварительно собранные бинарники для macOS, Linux и WindowsРелизы GitHub
Dockerdocker pull zegl/kube-score (Docker Hub)
Homebrew (macOS и Linux)brew install kube-score
Krew (macOS и Linux)kubectl krew install score

Спонсоры

Ваша компания здесь?

Проверки

Полный список проверок см. в README_CHECKS.md.

  • Ограничения контейнеров (должны быть заданы)
  • Pod находится под действием NetworkPolicy; рекомендуется настройка правил как egress, так и ingress
  • Deployment и StatefulSet должны иметь PodDisruptionPolicy
  • Deployment и StatefulSet должны быть настроены с host PodAntiAffinity
  • Пробы контейнера: readiness-проба должна быть настроена и не должна быть идентична liveness-пробе. Подробнее в README_PROBES.md.
  • securityContext контейнера: запускать под пользователем/группой с высоким ID, не запускать от root и не использовать привилегированную корневую ФС. Подробнее в README_SECURITYCONTEXT.md.
  • Стабильные API: использовать стабильное API, если оно доступно (поддерживаются: Deployment, StatefulSet, DaemonSet)

Пример вывода

Использование в CI

kube-score может работать в вашем CI/CD-окружении и завершится с кодом 1, если найдена критическая ошибка. Уровень срабатывания можно изменить на предупреждение с помощью аргумента --exit-one-on-warning.

Для наилучшего результата на вход kube-score следует подавать все приложения, развёртываемые в одно пространство имён.

Пример с Helm

root@kitploit:~
helm template my-app | kube-score score -

Пример с Kustomize

root@kitploit:~
kustomize build . | kube-score score -

Пример со статическими YAML

root@kitploit:~
kube-score score my-app/*.yaml
root@kitploit:~
kube-score score my-app/deployment.yaml my-app/service.yaml

Пример с существующим кластером

root@kitploit:~
kubectl api-resources --verbs=list --namespaced -o name \
  | xargs -n1 -I{} bash -c "kubectl get {} --all-namespaces -oyaml && echo ---" \
  | kube-score score -

Пример с Docker

root@kitploit:~
docker run -v $(pwd):/project zegl/kube-score:latest score my-app/*.yaml

Конфигурация

root@kitploit:~
Usage of kube-score:
kube-score [action] --flags

Actions:
	score	Checks all files in the input, and gives them a score and recommendations
	list	Prints a CSV list of all available score checks
	version	Print the version of kube-score
	help	Print this message

Flags for score:
      --disable-ignore-checks-annotations   Set to true to disable the effect of the 'kube-score/ignore' annotations
      --disable-optional-checks-annotations Set to true to disable the effect of the 'kube-score/enable' annotations
      --enable-optional-test strings        Enable an optional test, can be set multiple times
      --exit-one-on-warning                 Exit with code 1 in case of warnings
      --help                                Print help
      --ignore-container-cpu-limit          Disables the requirement of setting a container CPU limit
      --ignore-container-memory-limit       Disables the requirement of setting a container memory limit
      --ignore-test strings                 Disable a test, can be set multiple times
      --kubernetes-version string           Setting the kubernetes-version will affect the checks ran against the manifests. Set this to the version of Kubernetes that you're using in production for the best results. (default "v1.18")
  -o, --output-format string                Set to 'human', 'json', 'ci' or 'sarif'. If set to ci, kube-score will output the program in a format that is easier to parse by other programs. Sarif output allows for easier integration with CI platforms. (default "human")
      --output-version string               Changes the version of the --output-format. The 'json' format has version 'v2' (default) and 'v1' (deprecated, will be removed in v1.7.0). The 'human' and 'ci' formats has only version 'v1' (default). If not explicitly set, the default version for that particular output format will be used.
  -v, --verbose count                       Enable verbose output, can be set multiple times for increased verbosity.

Игнорирование проверки

Проверку можно игнорировать во всём запуске программы с помощью флага --ignore-test.

Проверку также можно игнорировать для отдельного объекта, добавив к нему аннотацию kube-score/ignore. Значение должно быть строкой, разделённой запятыми, содержащей идентификаторы проверок.

Пример:

При проверке этого объекта временно отключается проверка service-type, предупреждающая об использовании сервисов типа NodePort.

root@kitploit:~
apiVersion: v1
kind: Service
metadata:
  name: node-port-service-with-ignore
  namespace: foospace
  annotations:
    kube-score/ignore: service-type
spec:
  selector:
    app: my-app
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8080
  type: NodePort

Включение дополнительной проверки

Дополнительные проверки можно включить во всём запуске программы с помощью флага --enable-optional-test.

Проверку также можно включить для отдельного объекта, добавив к нему аннотацию kube-score/enable. Значение должно быть строкой, разделённой запятыми, содержащей идентификаторы проверок.

Пример:

При проверке этого объекта включается проверка container-seccomp-profile. Также одновременно игнорируются несколько проверок, определённых аннотацией kube-score/ignore.

root@kitploit:~
apiVersion: apps/v1
kind: Deployment
metadata:
  name: optional-test-manifest-deployment
  labels:
    app: optional-test-manifest
  annotations:
    kube-score/ignore: pod-networkpolicy,container-resources,container-image-pull-policy,container-security-context-privileged,container-security-context-user-group-id,container-security-context-readonlyrootfilesystem,container-ephemeral-storage-request-and-limit
    kube-score/enable: container-seccomp-profile
spec:
  replicas: 1
  selector:
    matchLabels:
      app: optional-test-manifest
  template:
    metadata:
      labels:
        app: optional-test-manifest
    spec:
      containers:
      - name: optional-test-manifest
        image: busybox:1.34
        command:
        - /bin/sh
        - -c
        - date; env; tail -f /dev/null

Сборка из исходников

Для сборки kube-score требуется Go версии 1.21 или новее. Клонируйте этот репозиторий, а затем выполните:

root@kitploit:~
# Собрать проект
go build ./cmd/kube-score

# Запустить все тесты
go test -v ./...

Желаете внести вклад?

Хотите помочь? Загляните в Руководство по внесению вклада для получения дополнительной информации. 🤩

Зависимости

ПроектВерсия
go.dev^1.21

Создатели

Скачать инструмент