securing-container-registry-with-harbor
Configura o registro de contêineres Harbor para segurança. Inclui verificação de vulnerabilidades e controle de acesso rigoroso.
O que ela faz
Este recurso configura o Harbor, um sistema para guardar imagens de programas, para que ele verifique se há falhas de segurança e se as imagens foram criadas por fontes confiáveis. Ele impede que imagens perigosas ou não verificadas sejam usadas.
Quando usar
- ✓Ao instalar ou ajustar o sistema de segurança do Harbor.
- ✓Quando regras de segurança exigem que apenas imagens verificadas e seguras sejam usadas.
- ✓Ao criar ou melhorar a segurança de um sistema de armazenamento de programas.
Exemplo do que pedir para a IA
“Configure o Harbor para verificar falhas de segurança e exigir que as imagens sejam assinadas por fontes confiáveis.”
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
Ele ativa verificações automáticas de segurança (Trivy) e políticas de confiança (Cosign/Notary) para garantir a origem e a segurança das imagens. Também configura quem pode acessar o quê e regras para manter as imagens atualizadas e seguras.
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-container-registry-with-harborOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/securing-container-registry-with-harbor/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 o Registro de Contêineres com Harbor
Visão Geral
Harbor é um registro de contêineres de código aberto que oferece recursos de segurança, incluindo varredura de vulnerabilidades (Trivy integrado), assinatura de imagens (Notary/Cosign), RBAC, políticas de confiança de conteúdo, replicação e registro de auditoria. Proteger o Harbor envolve configurar esses recursos para impor a proveniência da imagem, evitar a implantação de imagens vulneráveis e manter o controle de acesso ao registro.
Quando Usar
- Ao implantar ou configurar recursos de proteção de registro de contêineres com Harbor em seu ambiente
- Ao estabelecer controles de segurança alinhados aos 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
- Harbor 2.10+ instalado (Helm ou Docker Compose)
- Certificados TLS para HTTPS
- Integração do scanner Trivy
- OIDC/LDAP para autenticação
- Cluster Kubernetes (para destino de implantação)
Fluxo de Trabalho
Etapa 1: Instalar o Harbor com Configuração de Segurança
# harbor-values.yaml for Helm deployment
expose:
type: ingress
tls:
enabled: true
certSource: secret
secret:
secretName: harbor-tls
notarySecretName: harbor-tls
ingress:
hosts:
core: harbor.example.com
notary: notary.example.com
externalURL: https://harbor.example.com
persistence:
enabled: true
resourcePolicy: "keep"
harborAdminPassword: "<strong-password>"
trivy:
enabled: true
gitHubToken: "<github-token>"
severity: "CRITICAL,HIGH,MEDIUM"
autoScan: true
notary:
enabled: true
core:
secretKey: "<32-char-secret>"
database:
type: external
external:
host: postgres.example.com
port: "5432"
username: harbor
password: "<db-password>"
sslmode: require
helm repo add harbor https://helm.getharbor.io
helm install harbor harbor/harbor -f harbor-values.yaml -n harbor --create-namespace
Etapa 2: Configurar Políticas de Varredura de Vulnerabilidades
# Enable auto-scan on push (via Harbor API)
curl -k -X PUT "https://harbor.example.com/api/v2.0/projects/myproject" \
-H "Authorization: Basic $(echo -n admin:Harbor12345 | base64)" \
-H "Content-Type: application/json" \
-d '{
"metadata": {
"auto_scan": "true",
"severity": "critical",
"prevent_vul": "true",
"reuse_sys_cve_allowlist": "true"
}
}'
Etapa 3: Configurar Confiança de Conteúdo
# Enable content trust at project level
curl -k -X PUT "https://harbor.example.com/api/v2.0/projects/myproject" \
-H "Authorization: Basic $(echo -n admin:Harbor12345 | base64)" \
-H "Content-Type: application/json" \
-d '{
"metadata": {
"enable_content_trust": "true",
"enable_content_trust_cosign": "true"
}
}'
# Sign image with Cosign
cosign sign --key cosign.key harbor.example.com/myproject/myapp:v1.0.0
# Verify signature
cosign verify --key cosign.pub harbor.example.com/myproject/myapp:v1.0.0
Etapa 4: Configurar RBAC e Isolamento de Projetos
# Create project with private visibility
curl -k -X POST "https://harbor.example.com/api/v2.0/projects" \
-H "Authorization: Basic $(echo -n admin:Harbor12345 | base64)" \
-H "Content-Type: application/json" \
-d '{
"project_name": "production",
"metadata": {
"public": "false",
"auto_scan": "true",
"prevent_vul": "true",
"severity": "high"
}
}'
# Harbor roles: ProjectAdmin, Maintainer, Developer, Guest, LimitedGuest
# Add member with specific role
curl -k -X POST "https://harbor.example.com/api/v2.0/projects/production/members" \
-H "Authorization: Basic $(echo -n admin:Harbor12345 | base64)" \
-H "Content-Type: application/json" \
-d '{
"role_id": 3,
"member_user": {"username": "developer1"}
}'
Etapa 5: Configurar Tags Imutáveis e Retenção
# Criar regra de imutabilidade de tag (impedir sobrescrita de tags de lançamento)
curl -k -X POST "https://harbor.example.com/api/v2.0/projects/production/immutabletagrules" \
-H "Authorization: Basic $(echo -n admin:Harbor12345 | base64)" \
-H "Content-Type: application/json" \
-d '{
"tag_filter": "v*",
"scope_selectors": {
"repository": [{"kind": "doublestar", "decoration": "repoMatches", "pattern": "**"}]
}
}'
# Configurar política de retenção (manter as últimas 10 tags, excluir sem tag após 7 dias)
curl -k -X POST "https://harbor.example.com/api/v2.0/retentions" \
…
Perguntas frequentes
O que é um registro de contêiner?
É um local onde programas (chamados de contêineres) são armazenados, como uma biblioteca para os blocos de construção de software.
O que são 'vulnerabilidades'?
São falhas de segurança em um programa que podem ser exploradas por pessoas mal-intencionadas.
O que significa 'proveniência de imagem'?
Significa saber quem criou a imagem do programa e garantir que ela não foi alterada de forma indevida desde a sua criação.
Detalhes
Descrição original do autor
Configures the security features of the Harbor open-source container registry - integrated Trivy scanning, Cosign and Notary content trust policies, project-level RBAC, immutable tag and retention rules, and OIDC authentication - to enforce provenance and block deployment of vulnerable images. Use when deploying or hardening Harbor, or when compliance requires that only signed and scanned images c
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6206
- 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