Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
kube-linter — KubeLinter é uma ferramenta de análise estática que verifica arquivos YAML do Kubernetes e charts Helm para garantir que as aplicações representadas neles sigam as melhores práticas. | Kitploit
Ferramentas/GitHubGitHub/stackrox/kube-linter
Análise EstáticaSegurança de ContêineresAuditoria de ConfiguraçãoSegurança na NuvemDevSecOpsConfiguração Incorreta
GitHubstackrox/kube-linter

kube-linter

KubeLinter é uma ferramenta de análise estática que verifica arquivos YAML do Kubernetes e charts Helm para garantir que as aplicações representadas neles sigam as melhores práticas.

Ver Repositório
3.5k273há 3 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

Análise estática para Kubernetes

Go Report Card

O que é o KubeLinter?

O KubeLinter analisa arquivos YAML do Kubernetes, Helm charts e manifests do Kustomize e os verifica em relação a uma variedade de práticas recomendadas, com foco em prontidão para produção e segurança.

O KubeLinter executa verificações padrão criteriosas, projetadas para fornecer informações úteis sobre seus arquivos YAML do Kubernetes, Helm charts e manifests do Kustomize. Isso ajuda as equipes a verificar cedo e com frequência se há configurações incorretas de segurança e a seguir as práticas recomendadas de DevOps. Alguns exemplos comuns incluem executar contêineres como um usuário não root, aplicar o princípio do menor privilégio e armazenar informações confidenciais somente em secrets.

O KubeLinter é configurável, portanto, você pode ativar e desativar verificações, bem como criar suas próprias verificações personalizadas, dependendo das políticas que deseja seguir em sua organização.

Quando uma verificação de lint falha, o KubeLinter relata recomendações sobre como resolver possíveis problemas e retorna um código de saída diferente de zero.

Documentação

Visite https://docs.kubelinter.io para obter documentação detalhada sobre instalação, uso e configuração do KubeLinter.

Instalando o KubeLinter

Os binários do KubeLinter podem ser encontrados aqui: https://github.com/stackrox/kube-linter/releases/latest

Usando Go

Para instalar usando Go, execute o seguinte comando:

root@kitploit:~
go install golang.stackrox.io/kube-linter/cmd/kube-linter@latest

Caso contrário, baixe o binário mais recente em Releases e adicione-o ao seu PATH.

Usando Homebrew no macOS ou LinuxBrew no Linux

Para instalar usando Homebrew ou LinuxBrew, execute o seguinte comando:

root@kitploit:~
brew install kube-linter

Usando nix-shell

root@kitploit:~
nix-shell -p kube-linter

Usando Docker

root@kitploit:~
docker pull stackrox/kube-linter:latest

Desenvolvimento

Pré-requisitos

  • Certifique-se de ter instalado o Go antes de compilar a partir do código-fonte.

Compilando o KubeLinter

Instalar o KubeLinter a partir do código-fonte é tão simples quanto seguir estes passos:

  1. Primeiro, clone o repositório do KubeLinter.

    root@kitploit:~
    git clone [email protected]:stackrox/kube-linter.git
    
  2. Depois, compile o código-fonte. Isso criará os arquivos binários do kube-linter para cada plataforma e os colocará na pasta .gobin.

    root@kitploit:~
    make build
    
  3. Por fim, você está pronto para começar a usar o KubeLinter. Verifique sua versão para garantir que o KubeLinter foi instalado com sucesso.

    root@kitploit:~
    .gobin/kube-linter version
    

Testando o KubeLinter

Há várias camadas de teste. Espera-se que cada camada seja aprovada.

  1. Testes unitários com go:

    root@kitploit:~
    make test
    
  2. Testes de integração ponta a ponta:

    root@kitploit:~
    make e2e-test
    
  3. e, por fim, testes de integração ponta a ponta usando bats-core:

    root@kitploit:~
    make e2e-bats
    

Verificando as imagens do KubeLinter

As imagens do KubeLinter são assinadas pelo cosign. Recomendamos verificar a imagem antes de usá-la.

Depois de instalar o cosign, você pode usar a chave pública do KubeLinter para verificar a imagem do KubeLinter com:

root@kitploit:~
cat kubelinter-cosign.pub
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEl0HCkCRzYv0qH5QiazoXeXe2qwFX
DmAszeH26g1s3OSsG/focPWkN88wEKQ5eiE95v+Z2snUQPl/mjPdvqpyjA==
-----END PUBLIC KEY-----


cosign verify --key kubelinter-cosign $IMAGE_NAME

O KubeLinter também fornece assinaturas keyless do cosign.

Você pode verificar a imagem do KubeLinter com:

root@kitploit:~
# NOTE: Keyless signatures are NOT PRODUCTION ready.

COSIGN_EXPERIMENTAL=1 cosign verify $IMAGE_NAME

Usando o KubeLinter

Lint local de YAML

Executar o KubeLinter para fazer lint dos seus arquivos YAML requer apenas dois passos em sua forma mais básica.

  1. Localize o arquivo YAML que deseja testar em relação às práticas recomendadas de segurança e prontidão para produção:

  2. Execute o seguinte comando:

    root@kitploit:~
    kube-linter lint /path/to/your/yaml.yaml
    

Exemplo

Considere o seguinte arquivo de especificação de pod de exemplo pod.yaml. Este arquivo tem dois problemas de prontidão para produção e um problema de segurança:

Problema de segurança:

  1. O contêiner neste pod não está sendo executado com um sistema de arquivos somente leitura, o que pode permitir que ele grave no sistema de arquivos raiz.

Prontidão para produção:

  1. Os limites de memória do contêiner não estão definidos, o que pode permitir que ele consuma memória em excesso

    root@kitploit:~
    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. Copie o YAML acima para pod.yaml e faça o lint deste arquivo executando o seguinte comando:

    root@kitploit:~
    kube-linter lint pod.yaml
    
  3. O KubeLinter executa suas verificações padrão e relata recomendações. Abaixo está a saída do nosso comando anterior.

    root@kitploit:~
    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
    

Vários formatos de saída

O KubeLinter suporta a geração de vários formatos de saída em uma única execução. Isso é útil para gerar relatórios legíveis por humanos e por máquina simultaneamente:

root@kitploit:~
kube-linter lint \
  --format sarif --output kube-linter.sarif \
  --format json --output kube-linter.json \
  --config .kube-linter.yaml \
  pod.yaml

Este comando irá:

  • Gerar um relatório no formato SARIF em kube-linter.sarif
  • Gerar um relatório no formato JSON em kube-linter.json
  • Processar os arquivos apenas uma vez, melhorando a eficiência

Nota: Vários formatos exigem flags --output explícitas. Para saída de formato único no stdout, use apenas uma flag --format sem --output.

Para obter mais detalhes sobre como usar vários formatos de saída, consulte a documentação.

Para saber mais sobre como usar e configurar o KubeLinter, visite a página de documentação.

Menções/Tutoriais

A seguir estão tutoriais sobre o KubeLinter escritos por usuários. Se você tiver um que gostaria de adicionar a esta lista, envie um PR!

  • Garantindo as práticas recomendadas de YAML com o KubeLinter no civo.com por Saiyam Pathak.
  • Analise arquivos do Kubernetes em busca de erros com o KubeLinter no opensource.com por Jessica Cherry.
  • Como adicionar uma nova verificação no KubeLinter? por Priyanka Saggu.
  • Estendendo o kube-linter para criar um modelo personalizado por Gareth Healy.

LICENÇA

O KubeLinter é licenciado sob a Apache License 2.0.

Comunidade

Se você quiser interagir com a comunidade do KubeLinter, incluindo mantenedores e outros usuários, você pode entrar no workspace do Slack aqui.

Pode haver mudanças disruptivas no futuro no uso dos comandos, nas flags e nos formatos de arquivo de configuração. No entanto, incentivamos você a usar o KubeLinter para testar seus arquivos YAML de ambiente, ver o que quebra e contribuir.

Como lembrete, toda participação na comunidade do KubeLinter é regida pelo nosso código de conduta.


O KubeLinter foi criado com ❤️ pela StackRox e agora é mantido pela Red Hat.

Baixar ferramenta