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

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

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

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

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

Категории

Все категории
Loading categories
kube-linter — KubeLinter — это инструмент статического анализа, который проверяет YAML-файлы Kubernetes и чарты Helm, чтобы гарантировать, что представленные в них приложения соответствуют лучшим практикам. | Kitploit
Инструменты/GitHubGitHub/stackrox/kube-linter
Безопасность облачной инфраструктурыСтатический анализБезопасность контейнеровСтатический анализ кода (SAST)Аудит конфигурацииБезопасность облачных средDevSecOpsНеправильная КонфигурацияПобег из КонтейнераТоп в Безопасность облачной инфраструктуры №19
3.5k277662 дней назадПроверено Kitploit
Топ в Безопасность облачных сред №18
Топ в Аудит конфигурации №11
Топ в Побег из Контейнера №19
Топ в Безопасность контейнеров №8
Топ в Неправильная Конфигурация №11
Топ в Статический анализ кода (SAST) №19
GitHubstackrox/kube-linter

kube-linter

KubeLinter — это инструмент статического анализа, который проверяет YAML-файлы Kubernetes и чарты Helm, чтобы гарантировать, что представленные в них приложения соответствуют лучшим практикам.

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

Популярное

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

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

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

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

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

Статический анализ для Kubernetes

Go Report Card

Что такое KubeLinter?

KubeLinter анализирует YAML-файлы Kubernetes, диаграммы Helm и манифесты Kustomize и проверяет их на соответствие различным лучшим практикам с акцентом на производственную готовность и безопасность.

KubeLinter запускает разумные проверки по умолчанию, предназначенные для предоставления полезной информации о ваших YAML-файлах Kubernetes, диаграммах Helm и манифестах Kustomize. Это помогает командам проверять часто и на ранних этапах на предмет ошибок конфигурации безопасности и лучших практик DevOps. Некоторые распространенные примеры включают запуск контейнеров от имени непривилегированного пользователя, обеспечение минимальных привилегий и хранение конфиденциальной информации только в секретах.

KubeLinter настраивается, поэтому вы можете включать и отключать проверки, а также создавать собственные проверки в зависимости от политик, которым вы хотите следовать в своей организации.

Когда проверка lint завершается ошибкой, KubeLinter сообщает рекомендации по устранению возможных проблем и возвращает ненулевой код выхода.

Документация

Посетите https://docs.kubelinter.io для получения подробной документации по установке, использованию и настройке KubeLinter.

Установка KubeLinter

Бинарные файлы Kube-linter можно найти здесь: https://github.com/stackrox/kube-linter/releases/latest

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

Чтобы установить с помощью Go, выполните следующую команду:

go install golang.stackrox.io/kube-linter/cmd/kube-linter@latest

В противном случае загрузите последний бинарный файл из Releases и добавьте его в свой PATH.

Использование Homebrew для macOS или LinuxBrew для Linux

Чтобы установить с помощью Homebrew или LinuxBrew, выполните следующую команду:

brew install kube-linter

Использование nix-shell

nix-shell -p kube-linter

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

docker pull stackrox/kube-linter:latest

Разработка

Предварительные требования

  • Убедитесь, что у вас установлен Go, перед сборкой из исходного кода.

Сборка KubeLinter

Установка KubeLinter из исходного кода так же проста, как выполнение следующих шагов:

  1. Сначала клонируйте репозиторий KubeLinter.

    git clone [email protected]:stackrox/kube-linter.git
    
  2. Затем скомпилируйте исходный код. Это создаст бинарные файлы kube-linter для каждой платформы и поместит их в папку .gobin.

    make build
    
  3. Наконец, вы готовы начать использовать KubeLinter. Проверьте версию, чтобы убедиться, что KubeLinter успешно установлен.

    .gobin/kube-linter version
    

Тестирование KubeLinter

Существует несколько уровней тестирования. Каждый уровень должен быть пройден.

  1. модульные тесты go:

    make test
    
  2. сквозные интеграционные тесты:

    make e2e-test
    
  3. и, наконец, сквозные интеграционные тесты с использованием bats-core:

    make e2e-bats
    

Проверка образов KubeLinter

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

После установки cosign вы можете использовать открытый ключ KubeLinter для проверки образа KubeLinter с помощью:

cat kubelinter-cosign.pub
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEl0HCkCRzYv0qH5QiazoXeXe2qwFX
DmAszeH26g1s3OSsG/focPWkN88wEKQ5eiE95v+Z2snUQPl/mjPdvqpyjA==
-----END PUBLIC KEY-----


cosign verify --key kubelinter-cosign $IMAGE_NAME

KubeLinter также предоставляет подписи cosign без ключа.

Вы можете проверить образ KubeLinter с помощью:

# NOTE: Keyless signatures are NOT PRODUCTION ready.

COSIGN_EXPERIMENTAL=1 cosign verify $IMAGE_NAME

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

Локальная проверка YAML

Запуск KubeLinter для проверки ваших YAML-файлов в самой простой форме требует всего двух шагов.

  1. Найдите YAML-файл, который вы хотите проверить на соответствие лучшим практикам безопасности и производственной готовности:

  2. Выполните следующую команду:

    kube-linter lint /path/to/your/yaml.yaml
    

Пример

Рассмотрим следующий пример файла спецификации пода pod.yaml. Этот файл содержит две проблемы производственной готовности и одну проблему безопасности:

Проблема безопасности:

  1. Контейнер в этом поде не работает с файловой системой только для чтения, что может позволить ему записывать в корневую файловую систему.

Производственная готовность:

  1. Лимиты памяти контейнера не установлены, что может позволить ему потреблять чрезмерный объем памяти.

    apiVersion: v1
    kind: Pod
    metadata:
      name: security-context-demo
    spec:
      securityContext:
        runAsUser: 1000
        runAsGroup: 3000
        fsGroup: 2000
      volumes:
      - name: sec-ctx-vol
        emptyDir: {}
      containers:
      - name: sec-ctx-demo
        image: busybox
        resources:
          requests:
            memory: "64Mi"
            cpu: "250m"
        command: [ "sh", "-c", "sleep 1h" ]
        volumeMounts:
        - name: sec-ctx-vol
          mountPath: /data/demo
        securityContext:
          allowPrivilegeEscalation: false
    
  2. Скопируйте приведенный выше YAML в pod.yaml и проверьте этот файл, выполнив следующую команду:

    kube-linter lint pod.yaml
    
  3. KubeLinter запускает свои проверки по умолчанию и сообщает рекомендации. Ниже приведен вывод нашей предыдущей команды.

    pod.yaml: (object: <no namespace>/security-context-demo /v1, Kind=Pod) The container "sec-ctx-demo" is using an invalid container image, "busybox". Please use images that are not blocked by the `BlockList` criteria : [".*:(latest)$" "^[^:]*$" "(.*/[^:]+)$"] (check: latest-tag, remediation: Use a container image with a specific tag other than latest.)
    
    pod.yaml: (object: <no namespace>/security-context-demo /v1, Kind=Pod) container "sec-ctx-demo" does not have a read-only root file system (check: no-read-only-root-fs, remediation: Set readOnlyRootFilesystem to true in the container securityContext.)
    
    pod.yaml: (object: <no namespace>/security-context-demo /v1, Kind=Pod) container "sec-ctx-demo" has memory limit 0 (check: unset-memory-requirements, remediation: Set memory limits for your container based on its requirements. Refer to https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits for details.)
    
    Error: found 3 lint errors
    

Несколько форматов вывода

KubeLinter поддерживает генерацию нескольких форматов вывода за один запуск. Это полезно для одновременного создания отчетов, читаемых человеком и машиной:

kube-linter lint \
  --format sarif --output kube-linter.sarif \
  --format json --output kube-linter.json \
  --config .kube-linter.yaml \
  pod.yaml

Эта команда:

  • Создаст отчет в формате SARIF в файле kube-linter.sarif
  • Создаст отчет в формате JSON в файле kube-linter.json
  • Обработает файлы только один раз, повышая эффективность

Примечание: Несколько форматов требуют явных флагов --output. Для вывода одного формата в stdout используйте только один флаг --format без --output.

Для получения более подробной информации об использовании нескольких форматов вывода см. документацию.

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