implementing-infrastructure-as-code-security-scanning
Realiza varredura de segurança automatizada em código de infraestrutura (IaC). Detecta configurações incorretas em Terraform, CloudFormation e Kubernetes.
O que ela faz
Este sistema verifica automaticamente o código que descreve sua infraestrutura na nuvem (como servidores e bancos de dados) para encontrar falhas de segurança antes que sejam implementadas. Ele usa ferramentas como Checkov, tfsec e KICS para encontrar problemas comuns, como dados não criptografados ou acessos abertos.
Quando usar
- ✓Ao criar infraestrutura na nuvem com ferramentas como Terraform ou CloudFormation.
- ✓Quando você precisa garantir que sua infraestrutura esteja em conformidade com regras de segurança.
- ✓Para impedir que alterações inseguras sejam aplicadas em seu código de infraestrutura.
Exemplo do que pedir para a IA
“Verifique meu código Terraform para encontrar falhas de segurança antes de implantar.”
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
O sistema analisa seus arquivos de configuração de infraestrutura usando ferramentas especializadas. Ele compara as configurações com um conjunto de regras de segurança conhecidas e relata quaisquer problemas encontrados.
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 implementing-infrastructure-as-code-security-scanningOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-infrastructure-as-code-security-scanning/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.
Implementando Segurança em Infraestrutura como Código (IaC) com Verificação Automatizada
Quando Usar
- Ao provisionar infraestrutura em nuvem com Terraform, CloudFormation ou Pulumi e precisar de validação de segurança automatizada.
- Quando frameworks de conformidade exigem evidências de revisão da configuração da infraestrutura antes da implantação.
- Ao prevenir configurações incorretas comuns na nuvem, como buckets S3 públicos, grupos de segurança abertos ou armazenamento não criptografado.
- Ao estabelecer "guardrails" (barreiras de proteção) que bloqueiam alterações inseguras na infraestrutura em pull requests.
- Ao gerenciar ambientes multi-cloud que exigem políticas de segurança consistentes entre AWS, Azure e GCP.
Não use para verificar código-fonte de aplicações (use SAST), para monitorar desvios em infraestrutura já implantada (use ferramentas de gerenciamento de postura de segurança em nuvem) ou para verificar vulnerabilidades em imagens de contêineres (use Trivy).
Pré-requisitos
- Checkov v3.x instalado (
pip install checkov) ou tfsec instalado. - Arquivos de IaC (Terraform, CloudFormation ou Kubernetes) no repositório.
- Pipeline de CI/CD com acesso aos diretórios de IaC.
- Chave de API do Bridgecrew (opcional, para integração com a plataforma Checkov).
Fluxo de Trabalho
Passo 1: Executar o Checkov em Arquivos Terraform
# Scan all Terraform files in a directory
checkov -d ./terraform/ --framework terraform --output cli --output json --output-file-path ./results
# Scan specific file
checkov -f main.tf --output json
# Scan Terraform plan (more accurate for dynamic values)
terraform init && terraform plan -out=tfplan
terraform show -json tfplan > tfplan.json
checkov -f tfplan.json --framework terraform_plan
# Scan with specific checks only
checkov -d ./terraform/ --check CKV_AWS_18,CKV_AWS_19,CKV_AWS_20
# Skip specific checks
checkov -d ./terraform/ --skip-check CKV_AWS_145,CKV2_AWS_6
Passo 2: Integrar a Verificação de IaC no GitHub Actions
# .github/workflows/iac-security.yml
name: IaC Security Scan
on:
pull_request:
paths:
- 'terraform/**'
- 'cloudformation/**'
- 'k8s/**'
jobs:
checkov:
name: Checkov IaC Scan
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Checkov
uses: bridgecrewio/checkov-action@v12
with:
directory: terraform/
framework: terraform
output_format: cli,sarif
output_file_path: console,checkov.sarif
soft_fail: false
skip_check: CKV_AWS_145
- name: Upload SARIF
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: checkov.sarif
category: checkov-iac
tfsec:
name: tfsec Scan
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run tfsec
uses: aquasecurity/tfsec-action@v1.0.3
with:
working_directory: terraform/
sarif_file: tfsec.sarif
soft_fail: false
- name: Upload SARIF
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: tfsec.sarif
category: tfsec
Passo 3: Criar Políticas Personalizadas no Checkov
# custom_checks/s3_versioning.py
from checkov.terraform.checks.resource.base_resource_check import BaseResourceCheck
from checkov.common.models.enums import CheckResult, CheckCategories
class S3BucketVersioning(BaseResourceCheck):
def __init__(self):
name = "Ensure S3 bucket has versioning enabled"
id = "CKV_CUSTOM_1"
supported_resources = ["aws_s3_bucket"]
categories = [CheckCategories.GENERAL_SECURITY]
super().__init__(name=name, id=id, categories=categories,
supported_resources=supported_resources)
def scan_resource_conf(self, conf):
versioning = conf.get("versioning", [{}])
if isinstance(versioning, list) and len(versioning) > 0:
if versioning[0].get("enabled", [False])[0]:
return CheckResult.PASSED
return CheckResult.FAILED
check = S3BucketVersioning()
Passo 4: Configurar Linha de Base e Supressões
# .checkov.yaml
branch: main
compact: true
directory:
- terraform/
- cloudformation/
framework:
- terraform
- cloudformation
- kubernetes
output:
- cli
- sarif
skip-check:
- CKV_AWS_145 # S3 default encryption with CMK (using SSE-S3 is acceptable)
- CKV2_AWS_6 # S3 bucket request logging (handled at CloudTrail level)
soft-fail: false
Passo 5: Verificar Manifestos Kubernetes e Helm Charts
…
Perguntas frequentes
O que é 'Infraestrutura como Código' (IaC)?
É a prática de gerenciar e provisionar sua infraestrutura de nuvem (servidores, redes, etc.) através de arquivos de definição legíveis por máquina, em vez de configuração manual.
Quais tipos de arquivos ele verifica?
Ele verifica arquivos para Terraform, CloudFormation, Kubernetes e gráficos Helm.
Posso criar minhas próprias regras de segurança?
Sim, você pode criar suas próprias regras personalizadas para atender às necessidades específicas da sua organização.
Detalhes
Descrição original do autor
Implements automated security scanning for Infrastructure as Code using Checkov, tfsec, and KICS to detect misconfigurations in Terraform, CloudFormation, Kubernetes manifests, and Helm charts, plus policy-based governance and CI/CD integration. Use when validating cloud infrastructure before deployment or blocking insecure changes (public S3 buckets, open security groups) in pull requests. '
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5899
- 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