securing-helm-chart-deployments
Garante a segurança das implantações de Helm. Verifica assinaturas, configurações e permissões para evitar vulnerabilidades.
O que ela faz
Esta ferramenta ajuda a tornar as instalações de pacotes (chamados 'charts') no Kubernetes mais seguras. Ela verifica a autenticidade dos pacotes, procura por erros de configuração nos modelos e garante que os aplicativos rodem com as permissões corretas.
Quando usar
- ✓Ao instalar um novo pacote no Kubernetes.
- ✓Ao revisar a segurança de um pacote existente.
- ✓Ao configurar o ambiente de implantação.
Exemplo do que pedir para a IA
“Como posso garantir que o pacote que estou instalando no Kubernetes é confiável e não tem erros 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
Mensagem pronta para colar
Como funciona
Ela verifica a assinatura digital do pacote para garantir que não foi alterado. Em seguida, simula a instalação para encontrar erros de configuração e aplica regras de segurança para limitar o que o aplicativo pode fazer.
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 securing-helm-chart-deploymentsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/securing-helm-chart-deployments/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Protegendo Implantações de Helm Charts
Visão Geral
Helm é o gerenciador de pacotes do Kubernetes. Proteger implantações de Helm exige validar a proveniência dos charts, escanear templates em busca de configurações de segurança incorretas, impor contextos de segurança de pods, gerenciar segredos de forma segura e controlar RBAC para operações de Helm.
Quando Usar
- Ao implantar ou configurar recursos de proteção de implantações de Helm em seu ambiente
- Ao estabelecer controles de segurança alinhados a requisitos de conformidade
- Ao construir ou melhorar a arquitetura de segurança para este domínio
- Ao realizar avaliações de segurança que exigem esta implementação
Pré-requisitos
- Helm 3.12+ instalado
- kubectl com acesso ao cluster
- GnuPG para assinatura/verificação de charts
- kubesec ou checkov para escaneamento de templates
Proveniência e Integridade de Charts
Assinar um Helm Chart
# Generate GPG key for signing
gpg --full-generate-key
# Package and sign chart
helm package ./mychart --sign --key "helm-signing@example.com" --keyring ~/.gnupg/pubring.gpg
# Verify chart signature
helm verify mychart-0.1.0.tgz --keyring ~/.gnupg/pubring.gpg
Verificar Chart Antes da Instalação
# Verify chart from repository
helm pull myrepo/mychart --verify --keyring /path/to/keyring.gpg
# Check chart provenance file
cat mychart-0.1.0.tgz.prov
Escaneamento de Segurança de Templates
Renderizar e Escanear Templates
# Render templates without deploying
helm template myrelease ./mychart --values values-prod.yaml > rendered.yaml
# Scan with kubesec
kubesec scan rendered.yaml
# Scan with checkov
checkov -f rendered.yaml --framework kubernetes
# Scan with trivy
trivy config rendered.yaml
# Scan with kube-linter
kube-linter lint rendered.yaml
Helm Lint para Configurações Incorretas
# Lint chart
helm lint ./mychart --values values-prod.yaml --strict
# Lint with debug output
helm lint ./mychart --debug
Imposição de Contexto de Segurança em values.yaml
# values.yaml - Security hardened defaults
securityContext:
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 3000
fsGroup: 2000
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
podSecurityContext:
seccompProfile:
type: RuntimeDefault
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 100m
memory: 128Mi
networkPolicy:
enabled: true
serviceAccount:
create: true
automountServiceAccountToken: false
image:
pullPolicy: Always
# Use digest instead of tag for immutability
# tag: "1.0.0"
# digest: "sha256:abc123..."
Template com Contextos de Segurança
# templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "mychart.fullname" . }}
spec:
template:
spec:
automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
resources:
{{- toYaml .Values.resources | nindent 12 }}
Gerenciamento de Segredos
Usar Segredos Externos (Não Valores de Helm)
# templates/external-secret.yaml
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: {{ include "mychart.fullname" . }}-secrets
spec:
refreshInterval: 1h
secretStoreRef:
name: aws-secretsmanager
kind: ClusterSecretStore
target:
name: {{ include "mychart.fullname" . }}-secrets
data:
- secretKey: db-password
remoteRef:
key: production/database
property: password
Plugin helm-secrets
# Install helm-secrets plugin
helm plugin install https://github.com/jkroepke/helm-secrets
# Encrypt values file
helm secrets encrypt values-secrets.yaml
# Deploy with encrypted secrets
helm secrets install myrelease ./mychart -f values.yaml -f values-secrets.yaml
# Decrypt for editing
helm secrets edit values-secrets.yaml
RBAC para Operações de Helm
# helm-deployer-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: helm-deployer
namespace: production
rules:
- apiGroups: ["", "apps", "batch", "networking.k8s.io"]
resources: ["deployments", "services", "configmaps", "secrets", "ingresses", "jobs"]
…
Perguntas frequentes
O que são 'charts' no Kubernetes?
Charts são pacotes de aplicativos pré-configurados para o Kubernetes, facilitando a instalação e o gerenciamento de softwares.
Por que é importante verificar a assinatura de um chart?
Verificar a assinatura garante que o chart veio de uma fonte confiável e não foi modificado por terceiros mal-intencionados, prevenindo a instalação de software comprometido.
O que são 'contextos de segurança'?
São configurações que definem as permissões e restrições de segurança para os aplicativos que rodam no Kubernetes, como quais arquivos eles podem acessar ou quais comandos podem executar.
Detalhes
Descrição original do autor
Secures Helm chart deployments by verifying chart signatures and provenance, rendering and linting templates for misconfiguration, enforcing pod security contexts through values.yaml, moving secrets into an external store instead of Helm values, and scoping RBAC for Helm operations in CI/CD. Use when deploying charts to Kubernetes or reviewing chart provenance, templates, or release RBAC. Keywords
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6208
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC