auditing-kubernetes-cluster-rbac
Ensina seu agente de IA a colocar projetos no ar e cuidar da infraestrutura.
O que ela faz
Esta ferramenta ajuda a verificar as permissões de acesso em um sistema chamado Kubernetes. Ela procura por configurações que dão permissões demais a usuários ou programas, o que pode ser um risco de segurança.
Quando usar
- ✓Ao verificar a segurança de um sistema Kubernetes.
- ✓Quando você precisa garantir que as permissões são as mínimas necessárias.
- ✓Ao investigar possíveis acessos indevidos ou elevação de privilégios.
Exemplo do que pedir para a IA
“Verifique as permissões de acesso no meu cluster Kubernetes para encontrar configurações inseguras.”
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
A ferramenta usa comandos específicos para analisar as regras de permissão (RBAC) do Kubernetes. Ela procura por padrões perigosos, como permissões amplas ou acesso a informações sensíveis.
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 auditing-kubernetes-cluster-rbacOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/auditing-kubernetes-cluster-rbac/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.
Auditoria de RBAC em Clusters Kubernetes
Quando Usar
- Ao realizar avaliações de segurança de clusters Kubernetes (EKS, GKE, AKS ou auto-gerenciados)
- Ao validar que as políticas de RBAC aplicam o princípio do menor privilégio para usuários e contas de serviço
- Ao investigar potencial movimento lateral ou escalonamento de privilégios dentro de um cluster Kubernetes
- Quando auditorias de conformidade exigem documentação de controles de acesso e permissões
- Ao integrar novas equipes a um cluster compartilhado e definir políticas de RBAC apropriadas
Não use para auditoria de políticas de rede (use ferramentas de política de rede Cilium ou Calico), para escaneamento de imagens de contêineres (use Trivy ou Grype), ou para monitoramento de segurança em tempo de execução (use Falco ou Sysdig Secure).
Pré-requisitos
- kubectl configurado com permissões de cluster-admin ou de leitura equivalentes para o cluster alvo
- rbac-tool instalado (
kubectl krew install rbac-toolou binário do GitHub) - KubiScan instalado (
pip install kubiscan) - Kubeaudit instalado (
brew install kubeauditou de releases do GitHub) - Acesso aos logs de auditoria do cluster para correlacionar descobertas de RBAC com acesso real à API
Fluxo de Trabalho
Passo 1: Enumerar ClusterRoles e Roles com Permissões Perigosas
Identifique roles com permissões de curinga, acesso a secrets, execução de pods ou capacidades de escalonamento.
# List all ClusterRoles with wildcard verb access
kubectl get clusterroles -o json | python3 -c "
import json, sys
data = json.load(sys.stdin)
for role in data['items']:
name = role['metadata']['name']
for rule in role.get('rules', []):
verbs = rule.get('verbs', [])
resources = rule.get('resources', [])
if '*' in verbs or '*' in resources:
print(f'ClusterRole: {name}')
print(f' Verbs: {verbs}')
print(f' Resources: {resources}')
print(f' API Groups: {rule.get(\"apiGroups\", [])}')
print()
"
# Find roles that can read secrets
kubectl get clusterroles -o json | python3 -c "
import json, sys
data = json.load(sys.stdin)
for role in data['items']:
name = role['metadata']['name']
for rule in role.get('rules', []):
resources = rule.get('resources', [])
verbs = rule.get('verbs', [])
if ('secrets' in resources or '*' in resources) and ('get' in verbs or 'list' in verbs or '*' in verbs):
if not name.startswith('system:'):
print(f'ClusterRole: {name} -> can access secrets (verbs: {verbs})')
"
# Find roles with pod/exec permissions (container escape risk)
kubectl get clusterroles -o json | python3 -c "
import json, sys
data = json.load(sys.stdin)
for role in data['items']:
name = role['metadata']['name']
for rule in role.get('rules', []):
resources = rule.get('resources', [])
if 'pods/exec' in resources or 'pods/*' in resources:
print(f'ClusterRole: {name} -> has pods/exec access')
"
Passo 2: Auditar ClusterRoleBindings e RoleBindings
Revise os bindings para identificar quem tem acesso elevado e detectar atribuições de grupo excessivamente amplas.
# List all ClusterRoleBindings with the subjects
kubectl get clusterrolebindings -o json | python3 -c "
import json, sys
data = json.load(sys.stdin)
for binding in data['items']:
name = binding['metadata']['name']
role = binding['roleRef']['name']
subjects = binding.get('subjects', [])
for subject in subjects:
kind = subject.get('kind', '')
subj_name = subject.get('name', '')
ns = subject.get('namespace', 'cluster-wide')
print(f'{name} -> Role: {role} | {kind}: {subj_name} ({ns})')
" | sort
# Find bindings to cluster-admin
kubectl get clusterrolebindings -o json | python3 -c "
import json, sys
data = json.load(sys.stdin)
for binding in data['items']:
if binding['roleRef']['name'] == 'cluster-admin':
print(f\"Binding: {binding['metadata']['name']}\")
for subject in binding.get('subjects', []):
print(f\" {subject.get('kind')}: {subject.get('name')} (ns: {subject.get('namespace', 'N/A')})\")
"
# Find bindings granting access to all authenticated users
kubectl get clusterrolebindings -o json | python3 -c "
import json, sys
data = json.load(sys.stdin)
for binding in data['items']:
for subject in binding.get('subjects', []):
if subject.get('name') in ['system:authenticated', 'system:unauthenticated']:
print(f\"WARNING: {binding['metadata']['name']} grants {binding['roleRef']['name']} to {subject['name']}\")
"
…
Perguntas frequentes
O que é RBAC no Kubernetes?
RBAC (Role-Based Access Control) é o sistema que controla quem pode fazer o quê dentro de um cluster Kubernetes, definindo permissões baseadas em papéis.
Por que é importante auditar o RBAC?
Auditar o RBAC ajuda a prevenir acessos não autorizados, vazamento de dados e a garantir que apenas as permissões estritamente necessárias sejam concedidas, seguindo o princípio do menor privilégio.
Quais ferramentas são usadas?
São usadas ferramentas como `kubectl`, `rbac-tool`, `KubiScan` e `Kubeaudit` para analisar as configurações de permissão.
Detalhes
Descrição original do autor
Auditing Kubernetes cluster RBAC configurations to identify overly permissive roles, wildcard permissions, dangerous ClusterRoleBindings, service account abuse, and privilege escalation paths using kubectl, rbac-tool, KubiScan, and Kubeaudit. '
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5518
- 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
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC