בָּחַנְתָּ לִבִּי צְרַפְתַּנִי בַל תִּמְצָא bachanta libi tzeraftani bal timtza · provaste o meu coração, refinaste-me e nada achaste · Tehilim 17:3

Blog/Artigos · Segurança

SSDLC: o código provado no fogo em cada etapa, não só no fim

SAST, DAST, SCA e IAST, shift-left, gate de CI/CD e IaC scanning, com Semgrep, CodeQL, Checkov e Conviso.

Por Juliano Vince de Campos · · 5 min de leitura · 4 seções · 4 figuras

צְרַפְתַּנִי BACHANTA · TEHILIM 17:3

O salmista diz que foi provado e refinado no fogo, e que nada de impuro se achou. O ouro só prova sua pureza passando pela fornalha, e o metal se refina a cada aquecimento, não num teste único no fim. Código seguro é igual: não se descobre a impureza esperando o lançamento, prova-se a cada etapa, com fogo proporcional. O SSDLC, Secure Software Development Lifecycle, é a fornalha distribuída pelo ciclo, e SAST, DAST, SCA e IaC scanning são as chamas em cada estágio.

Shift-left: a impureza custa menos quanto mais cedo se acha

Há décadas se mede o mesmo padrão: corrigir uma falha no desenho custa uma fração do que custa corrigi-la em produção, onde soma-se cliente exposto, incidente e retrabalho. Shift-left é a consequência lógica: empurrar a verificação de segurança para o mais cedo possível no ciclo, para achar a impureza quando ela ainda é barata de remover. O gate no fim não some, mas deixa de ser o primeiro lugar onde a falha aparece.

O SSDLC organiza isso: requisitos de segurança no início, threat modeling no desenho, testes automáticos a cada commit, gate antes do merge e validação antes do deploy. Cada etapa aquece o metal um pouco, e o que passa por todas chega em produção refinado. O oposto, testar só na véspera, é jogar o lingote bruto direto na vitrine e torcer para ninguém reparar nas impurezas.

Figura 1Custo de corrigir uma falha por etapa em que ela é encontrada
025507510012345Etapa do cicloCusto relativo
  • Custo de correção
Ver os dados da figura
Etapa do cicloCusto de correção
11
25
315
445
5100
Eixo x: 1 desenho, 2 código, 3 build, 4 teste, 5 produção. A curva ilustra o padrão conhecido: cada etapa adiada multiplica o custo de corrigir.

As quatro chamas: SAST, DAST, SCA e IAST

Cada tipo de teste prova o código de um ângulo. SAST, análise estática, lê o código-fonte parado e acha o padrão inseguro sem executá-lo, com ferramentas como Semgrep e CodeQL. DAST, análise dinâmica, ataca a aplicação rodando, como o OWASP ZAP faz, e enxerga o que só aparece em execução. SCA, análise de composição, cuida das dependências: a biblioteca de terceiro com vulnerabilidade conhecida, verificada por Snyk ou OWASP Dependency-Check.

IAST junta os dois primeiros, instrumentando a aplicação em teste para ver o fluxo por dentro enquanto ela roda. Nenhum sozinho basta: SAST vê o código mas não o comportamento, DAST vê o comportamento mas não a causa no código, e SCA cobre o que você nem escreveu. A fornalha completa usa as chamas juntas, cada uma pegando o que a outra deixa passar.

Figura 2As técnicas de teste de segurança e o que cada uma enxerga
TécnicaComo ageFerramentasPonto cego
SASTlê o código paradoSemgrep, CodeQLfalha só visível em execução
DASTataca a app rodandoOWASP ZAPnão aponta a linha de código
SCAverifica dependênciasSnyk, Dependency-Checkfalha no código próprio
IASTinstrumenta a app em testeagentes em runtimeexige ambiente de teste rico
Cada técnica tem um ponto cego que outra cobre. Programa maduro combina as quatro, não escolhe uma e ignora o resto.

IaC scanning e o gate que reprova o merge

Infraestrutura hoje é código, e código de infraestrutura tem as mesmas impurezas: bucket público, grupo de segurança aberto, criptografia desligada. Checkov, do time da Prisma Cloud, e ferramentas como tfsec analisam Terraform e outros IaC antes do apply, pegando a configuração insegura na fornalha do build em vez de na varredura de postura depois que já está de pé em produção. É shift-left aplicado à nuvem.

Tudo isso só vira barreira de verdade quando é gate, não aviso. O achado que bloqueia o merge ou o deploy é o que força a correção; o relatório que ninguém lê treina o time a ignorar. O gate precisa ser calibrado, bloqueia o crítico, avisa o resto, com exceção rastreável e dono, para não virar atrito que o time contorna. Uma plataforma como a Conviso amarra os achados de SAST, DAST, SCA e IaC num lugar só, ligando cada um ao requisito e ao dono.

Figura 3O gate de segurança na pipeline de CI/CD
  1. 01CommitSAST e SCA rodam cedo; falha óbvia barra aqui
  2. 02Pull requestIaC scanning com Checkov e revisão de segurança
  3. 03IATriagem por riscoIA separa risco real de ruído e prioriza
  4. 04Gate calibradobloqueia o crítico, avisa o resto, exceção com dono
  5. 05Deploy validadoDAST na aplicação de teste antes de produção

Achado bloqueia o merge, não vira relatório arquivado. Gate que só avisa treina o time a ignorar segurança.

O gate calibrado é o que separa DevSecOps real de teatro de segurança: bloqueia o que importa, sem virar atrito que se contorna.

A fornalha é do time, não da ferramenta

A tentação é achar que comprar os scanners resolve. Ferramenta sem cultura produz dashboards vermelhos que ninguém trata e uma falsa sensação de controle. O SSDLC funciona quando segurança é responsabilidade compartilhada: o desenvolvedor entende o achado, o time trata a dívida de segurança como trata bug, e o gate é aceito porque protege, não porque foi imposto. A regra de que segurança é propriedade da arquitetura vale aqui: ela entra no desenho, não no fim.

Na prática, isso significa métrica que importa, tempo para corrigir vulnerabilidade crítica, cobertura de teste de segurança, tendência da dívida, e não contagem de alertas. Foi assim que eu montei esteiras que levaram cobertura de segurança do zero ao padrão em meses: não pela ferramenta mais cara, mas pelo gate calibrado, pelo achado que o time entende e pela dívida tratada como trabalho de primeira classe. A fornalha refina o metal; quem decide o que é impureza é a cultura.

Figura 4Ferramenta e cultura no SSDLC
Cultura de segurança
Segurança realgate calibrado, achado tratado, dívida como trabalho
Heroísmo isoladotime cuida sem ferramenta; não escala nem persiste
Teatro de dashboardscanner caro, alerta ignorado, falsa sensação
No escurosem ferramenta e sem cultura; a falha aparece no incidente
Ferramenta de teste
Ferramenta sem cultura é teatro; cultura sem ferramenta não escala. O canto que protege exige as duas, e a cultura decide o que a ferramenta encontra.

Para levar

SSDLC é a fornalha distribuída pelo ciclo: o código provado a cada etapa com SAST, DAST, SCA e IaC scanning, shift-left para achar cedo e barato, e gate calibrado que bloqueia o crítico sem cansar o time. Semgrep, CodeQL, Checkov, Snyk e a Conviso são as chamas; a cultura decide o que é impureza. A IA triagem o falso positivo, calibra o gate e abre a correção, mas tratar segurança como propriedade da arquitetura, e não como teste de véspera, continua sendo decisão de quem lidera a engenharia.

Tags

  • #julianovincedecampos
  • #SSDLC
  • #DevSecOps
  • #SAST
  • #DAST
  • #SCA
  • #Semgrep

Onde eu estudei, me certifiquei e trabalhei

  • University of Cambridge
  • PUC Minas
  • PUC-RS
  • PUC Goiás
  • Pontificia Universidad Católica del Perú
  • Amazon Web Services
  • Google
  • IBM
  • Oracle
  • COBIT 5 Foundation
  • ITIL v3 Foundation
  • Exemplar Global
  • Red Team Leaders
  • Infosec
  • Salesforce
  • Flowgrammers
  • ISO/IEC 27001
  • NIST Cybersecurity Framework
  • Compass UOL
  • Luby
  • Creditas
  • PicPay
  • PagoNxt, Santander
  • Mercado Pago
  • Itaú Unibanco
  • Foursys
  • Soluti Certificação Digital