O Arsenal DevSecOps: Do Zero ao Herói
Vamos ser realistas: executar trivy image não é DevSecOps. É apenas geração de ruído.
A verdadeira engenharia de segurança é sobre a relação sinal-ruído. Trata-se de construir um pipeline que seus desenvolvedores respeitem, não um que eles contornem. Este guia fornece as configurações “de nível de produção” para 17 ferramentas padrão da indústria para parar vulnerabilidades sem parar o negócio.
Fase 1: Pré-Commit & Local (Deslocar para a Esquerda ou Vá para Casa)
Detectar problemas no CI já é tarde demais. Você acabou de desperdiçar créditos de computação e o tempo de troca de contexto de um desenvolvedor. Detecte no laptop deles.
1. Gitleaks (O Guardião dos Segredos)
Não seja a empresa que vaza chaves AWS no GitHub.
A maioria das pessoas executa o Gitleaks cegamente. Os profissionais usam Baselines.
--baseline-path: O bilhete dourado. Execute uma varredura nova, salve a saída. Agora o Gitleaks alerta SOMENTE sobre novos segredos.--redact: Mascarar segredos descobertos nos logs de saída (percentual de 0-100). Nunca vaze duas vezes.--enable-rule: Foque em tipos específicos de segredos (por exemplo, apenas chaves AWS) por ID.--follow-symlinks: Não deixe segredos se esconderem atrás de links simbólicos.--ignore-gitleaks-allow: Desautorize o uso de comentários “pular” embutidos. Faça cumprir as regras.--max-target-megabytes: Evite escanear grandes blobs binários.
2. Trufflehog (O Verificador)
Encontrar uma string que parece uma chave é uma coisa. Verificar se ela funciona é outra.
Trufflehog distingue-se por verificar credenciais junto ao provedor.
--no-verification: Modo mais rápido. Pula a “verificação ao vivo” se você só quer análise estática.--results: Filtra a saída porverified(o verdadeiro perigo) ouunknown.--filter-entropy: Encontra strings de alta entropia (provavelmente senhas) mesmo sem uma correspondência de regex. Comece com 3.0.--detector-timeout: Limita o tempo de execução por detector para evitar travamentos no CI.--archive-max-depth: Não fique preso em bombas zip aninhadas.
3. Opengrep (Análise Estática Rápida)
Grep está morto. Vida longa à busca estrutural.
Motor compatível com Semgrep para encontrar bugs usando padrões de código, não apenas strings.
--baseline-commit: Crucial. Apenas escaneia o código alterado desde um commit específico (Varredura Delta).--config: Carrega regras personalizadas de limites YAML ou do registro.--dataflow-traces: Mostra o caminho completo de como os dados se movem da fonte para o destino.--exclude-minified-files: Pula.min.jse outros arquivos densos e não legíveis por humanos.--strict: Falha na construção se a configuração for inválida ou ocorrerem erros de nível WARN.
4. Bandit (Segurança Python)
O padrão para análise AST em Python.
-t/--tests: Executa SOMENTE IDs de teste específicos (lista de permissão).-s/--skips: Pula IDs de teste específicos (lista de negação).--severity-level: Mostra apenas resultados >=low,mediumouhigh.--confidence-level: Filtra “adivinhações”—mostra apenas achados de alta confiança.--ignore-nosec: Veja o que os desenvolvedores estão tentando contornar usando# nosec.
5. Dustilock (Confusão de Dependência)
Impeça um atacante de injetar um pacote privado malicioso.
-a: Apenas auditoria. Verifique se você está vulnerável a sequestro de nome de pacote sem interromper o pipeline.
6. Hadolint (Inteligência Docker)
Seu Dockerfile é ruim. Hadolint sabe por quê.
--trusted-registry: Segurança da cadeia de suprimentos. Permita apenas imagens deinternal.ecr.aws.--strict-labels: Imponha padrões de metadados (por exemplo,maintainer,cost-center).--ignore: Silencie regras que não se aplicam à sua build.--error/--warning: Remapeie severidades de regras para corresponder à sua política.--require-label: Imponha formatos específicos de rótulos (Regex).
7. TFLint (Lógica Terraform)
terraform validate é uma verificação de sintaxe. TFLint é uma verificação de lógica.
--enable-plugin: Carregue regras específicas do provedor (por exemplo, AWS, Azure) para verificar contra especificações de API.--minimum-failure-severity: Controle o limite de interrupção da build (Erro, Aviso, Notificação).--call-module-type: Escaneie módulosall,localounone.--var-file: Injete variáveis para avaliar a lógica condicional com precisão.
Fase 2: Os Guardiões do CI (Confie, mas Verifique)
Esta é a sala de guerra. Análise profunda durante o processo de build.
8. Trivy (O Peso Pesado)
A Faca Suíça.
--ignore-unfixed: Obrigatório. Se não houver patch, não falhe na construção. Monitore-o.--ignore-status: Filtre vulnerabilidades com status específicos.--pkg-types: Foque as verificações em pacotesosou dependências delibrary.--offline-scan: Execute em ambientes isolados.--include-dev-deps: Não ignoredevDependencies—elas ainda podem comprometer o ambiente de construção.--list-all-pkgs: Saída completa. Essencial para gerar um SBOM completo.
9. Syft (O Gerador de SBOM)
Você não pode proteger o que não sabe que possui.
--enrich: Adicione metadados online para um contexto de uso mais rico (Golang, Java, etc.).-s/--scope: Verifique todas as camadas (all-layers) ou apenas a imagem final (squashed).--select-catalogers: Direcione gerenciadores de pacotes específicos (npm, pip, apk).--platform: Direcione arquiteturas específicas (por exemplo,arm64).
10. Grype (O Scanner de SBOM)
Pega o bastão do Syft.
-f/--fail-on: Interrompa a construção se a severidade for >=média,alta, etc.--only-fixed: Relate apenas vulnerabilidades que são acionáveis.--by-cve: Organize a saída por ID CVE para rastreamento.--ignore-states: Ignore status genéricos “wontfix” ou “not-affected”.
11. Checkov (Governança de IaC)
Previna configurações incorretas na nuvem antes que elas custem dinheiro.
-s/--soft-fail: Avisar, mas não interromper. Melhor para “modo de observação.”--check/--skip-check: lista branca ou lista negra de verificações específicas (CKV_AWS_1).--skip-framework: Ignorar frameworks inteiros (por exemplo, escanear Terraform, mas pular CloudFormation).--enable-secret-scan-all-files: Estender a varredura de segredos além dos arquivos de configuração padrão.--block-list-secret-scan: Excluir arquivos específicos do scanner de segredos.
12. KICS (Keeping IaC Secure)
Alternativa para ampla cobertura de IaC.
--exclude-queries: Remover ruído filtrando IDs de consulta específicos.--exclude-categories: Filtrar resultados por domínio de segurança.--fail-on: Definir quais níveis de severidade retornam um código de saída diferente de zero.--minimal-ui: Saída de CLI simplificada para logs mais limpos.--disable-secrets: Desativar a varredura interna de segredos (use Gitleaks em vez disso).
13. Terrascan (Policy-as-Code)
Especializado para aplicação de políticas multi-nuvem.
-i/--iac-type: Otimizar especificando a plataforma (k8s, helm, terraform).-t/--policy-type: Filtrar políticas por provedor (aws, azure, gcp).--severity: Definir a severidade mínima a ser reportada.--non-recursive: Escanear apenas o diretório atual.
14. OWASP Dependency-Check (Legado & Conformidade)
O peso pesado para Java e .NET SCA.
--failOnCVSS: Quebre a construção se qualquer biblioteca exceder uma pontuação CVSS (por exemplo, 7.0).--suppression: Use um arquivo XML para “silenciar” vulnerabilidades conhecidas como seguras (VEX-lite).--enableExperimental: Use novos analisadores para linguagens menos comuns.
15. DevSkim (Higiene Poliglota)
Verificações centradas no desenvolvedor para IDE e CI.
--rule-ids: Limite a análise a regras específicas.--ignore-globs: Use padrões glob para ignorar arquivos ruidosos.--skip-git-ignored-files: Sincronize automaticamente com.gitignore.--skip-excerpts: Mantenha os relatórios pequenos removendo amostras de código.
Fase 3: Runtime & Artefatos (A Linha Final)
Escaneando o artefato final ou o ambiente ao vivo.
16. Clamscan (Defesa contra Malware)
Porque às vezes as pessoas enviam vírus para o seu bucket S3.
--exclude/--exclude-dir: Ignore padrões de arquivos/diretórios para economizar tempo.--detect-pua: Procure por “Aplicações Potencialmente Indesejadas” (adware, mineradores).--detect-structured: Escaneie por padrões de dados sensíveis como Cartões de Crédito/SSNs.--scan-pdf/--scan-html: Habilite inspeção profunda para tipos de documentos.--cross-fs: Permita escaneamento através de diferentes sistemas de arquivos (use com cautela).
17. Nuclei (A Faca do Hacker)
Escaneamento modelado que parece ilegal.
-t/--templates: Execute arquivos ou diretórios de modelos específicos.-tags: Alvo de varreduras com base na tecnologia (por exemplo,wordpress,cve).-s/--severity: Filtrar modelos por nível de impacto.-fr/--follow-redirects: Seguir redirecionamentos HTTP 301/302 para encontrar o payload.-passive: Escanear observando cabeçalhos/respostas existentes sem enviar novos “ataques”.-etags fuzz: Excluir modelos de fuzzing em produção.
Resumo: O “Pipeline” Perfeito
- Local:
pre-commitexecuta Gitleaks (baseline), Trufflehog (verificado) e Hadolint. - Build: Trivy verifica dependências (
--ignore-unfixed). Syft gera SBOM. Dependency-Check para conformidade. - Test: Checkov e KICS escaneiam o plano Terraform. Opengrep verifica padrões de código.
- Artifact: Clamscan verifica o binário/ativos finais.
- Deploy: Nuclei verifica a sanidade do endpoint ao vivo.
Ajuste suas ferramentas, ou elas irão ajustá-lo.
Plexicus tornou tudo isso mais fácil
Com um painel unificado e acesso a todas as nossas integrações de ferramentas, levará apenas alguns cliques Plexicus


