Pular para o conteúdo
Skillpedia
Agentes35 mil · #6198

scanning-kubernetes-manifests-with-kubesec

Ajuda seu agente a avaliar a segurança de configurações do Kubernetes. Ele encontra riscos de configuração antes da implantação.

O que ela faz

Verifica seus arquivos de configuração do Kubernetes para encontrar problemas de segurança. Ele dá uma nota para cada arquivo e sugere como consertar os problemas encontrados.

Quando usar

  • ✓Antes de instalar algo no Kubernetes.
  • ✓Ao revisar arquivos de configuração.
  • ✓Para entender por que um arquivo foi rejeitado.

Exemplo do que pedir para a IA

“Verifique este arquivo de configuração do Kubernetes para ver se há problemas de segurança.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/scanning-kubernetes-manifests-with-kubesec/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/scanning-kubernetes-manifests-with-kubesec/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

O Kubesec analisa seus arquivos de configuração, procurando por configurações perigosas ou que dão muitos privilégios. Ele te dá uma nota e diz exatamente o que mudar para melhorar a segurança.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill scanning-kubernetes-manifests-with-kubesec

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/scanning-kubernetes-manifests-with-kubesec/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Verificando Manifestos do Kubernetes com Kubesec

Visão Geral

Kubesec é uma ferramenta de análise de risco de segurança de código aberto desenvolvida pela ControlPlane que inspeciona manifestos de recursos do Kubernetes em busca de riscos comuns exploráveis, como escalonamento de privilégios, montagens de host graváveis e capacidades excessivas. Ele atribui uma pontuação numérica de segurança a cada recurso e fornece recomendações acionáveis para fortalecimento. O Kubesec pode ser usado como um binário CLI, contêiner Docker, plugin kubectl, webhook de admissão ou endpoint de API REST.

Quando Usar

  • Ao realizar avaliações de segurança que envolvem a verificação de manifestos do Kubernetes com o Kubesec
  • Ao seguir procedimentos de resposta a incidentes para eventos de segurança relacionados
  • Ao realizar atividades agendadas de testes ou auditoria de segurança
  • Ao validar controles de segurança por meio de testes práticos

Pré-requisitos

  • Arquivos de manifesto do Kubernetes (YAML/JSON) para Deployments, Pods, DaemonSets, StatefulSets
  • Runtime Docker ou Go para instalação local
  • Acesso kubectl para verificar recursos de cluster ativos
  • Acesso a pipeline CI/CD para integração de verificação automatizada

Conceitos Principais

Sistema de Pontuação de Segurança

O Kubesec atribui uma pontuação a cada recurso do Kubernetes com base em verificações de segurança:

  • Pontuações positivas: Concedidas por configurações que aprimoram a segurança (readOnlyRootFilesystem, runAsNonRoot)
  • Pontuações zero ou negativas: Indicam controles de segurança ausentes ou configurações perigosas
  • Avisos críticos: Configurações sinalizadas que representam riscos de segurança imediatos

Categorias de Verificação

  1. Controles de Privilégio: Verifica contêineres privilegiados, acesso a PID/rede do host, execução como root
  2. Capacidades: Identifica capacidades Linux excessivas (SYS_ADMIN, NET_RAW)
  3. Montagens de Volume: Detecta montagens perigosas de caminhos do host e caminhos sensíveis graváveis
  4. Limites de Recursos: Valida a presença de restrições de recursos de CPU/memória
  5. Contexto de Segurança: Verifica perfis seccomp, anotações AppArmor, contextos SELinux

Instalação

Instalação de Binário

# Linux/macOS
curl -sSL https://github.com/controlplaneio/kubesec/releases/latest/download/kubesec_linux_amd64.tar.gz | \
  tar xz -C /usr/local/bin/ kubesec

# Verify installation
kubesec version

Instalação com Docker

docker pull kubesec/kubesec:v2

# Scan a manifest file
docker run -i kubesec/kubesec:v2 scan /dev/stdin < deployment.yaml

Plugin kubectl

kubectl krew install kubesec-scan
kubectl kubesec-scan pod mypod -n default

Verificação Prática

Verificando um Único Manifesto

# Scan a deployment manifest
kubesec scan deployment.yaml

# Scan with JSON output
kubesec scan -o json deployment.yaml

# Scan from stdin
cat pod.yaml | kubesec scan -

Exemplo de Saída

[
  {
    "object": "Pod/web-app.default",
    "valid": true,
    "fileName": "pod.yaml",
    "message": "Passed with a score of 3 points",
    "score": 3,
    "scoring": {
      "passed": [
        {
          "id": "ReadOnlyRootFilesystem",
          "selector": "containers[] .securityContext .readOnlyRootFilesystem == true",
          "reason": "An immutable root filesystem prevents applications from writing to their local disk",
          "points": 1
        },
        {
          "id": "RunAsNonRoot",
          "selector": "containers[] .securityContext .runAsNonRoot == true",
          "reason": "Force the running image to run as a non-root user",
          "points": 1
        },
        {
          "id": "LimitsCPU",
          "selector": "containers[] .resources .limits .cpu",
          "reason": "Enforcing CPU limits prevents DOS via resource exhaustion",
          "points": 1
        }
      ],
      "advise": [
        {
          "id": "ApparmorAny",
          "selector": "metadata .annotations .\"container.apparmor.security.beta.kubernetes.io/nginx\"",
          "reason": "Well defined AppArmor policies reduce the attack surface of the container",
          "points": 3
        },
        {
          "id": "ServiceAccountName",
          "selector": ".spec .serviceAccountName",
          "reason": "Service accounts restrict Kubernetes API access and should be configured",
          "points": 3
        }
      ]
    }
  }
]

Verificando Múltiplos Recursos

# Scan all YAML files in a directory
for file in manifests/*.yaml; do
  echo "=== Scanning $file ==="
  kubesec scan "$file"
done

# Scan multi-document YAML
kubesec scan multi-resource.yaml

Usando a API HTTP


…
Perguntas frequentes

O que é um 'manifest' do Kubernetes?

É um arquivo de texto (geralmente YAML) que descreve como você quer que seus aplicativos rodem no Kubernetes. Pense nele como um plano ou uma receita.

O que são 'problemas de segurança'?

São configurações que podem deixar seu sistema vulnerável a ataques, como dar permissões extras que não são necessárias ou permitir que um programa modifique partes importantes do sistema.

O que é 'securityContext'?

É uma parte do arquivo de configuração onde você define como um container (o programa rodando) deve se comportar em termos de segurança, como rodar sem ser o 'administrador' ou não poder modificar o sistema de arquivos.

Detalhes

Descrição original do autor

Scores Kubernetes resource manifests with Kubesec to flag misconfiguration and privilege-escalation risk before deployment, mapping each finding back to the securityContext change that fixes it. Use when gating manifests in CI, reviewing YAML or a rendered chart before it reaches a cluster, or explaining why a manifest scored negatively. Keywords: Kubesec, manifest score, securityContext, readOnly

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6198
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas