Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)35 mil · #5899

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-infrastructure-as-code-security-scanning/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-infrastructure-as-code-security-scanning/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-scanning

Ou 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.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.

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. '

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5899
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