SAST e DAST em Pipelines de CI/CD
Integre SonarQube, Semgrep ou Bandit para análise estática e OWASP ZAP para varredura dinâmica em pipelines.
SAST e DAST em Pipelines de CI/CD é uma aula grátis de Cyber Security Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cyber Security Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cyber Security Academy inclui 4 aulas no total.
O que são testes de segurança de aplicações
Os testes de segurança de aplicações identificam vulnerabilidades antes que o código chegue à produção. Há duas abordagens complementares: SAST (estática, sem executar o código) e DAST (dinâmica, testando uma aplicação em execução). Ambas podem ser integradas aos fluxos de CI/CD para antecipar a segurança.
SAST: testes estáticos de segurança de aplicações
SAST analisa o código-fonte, o bytecode ou o binário em busca de vulnerabilidades de segurança sem executar o código. Pode ser executado a cada confirmação, fornecendo feedback rápido.
Pontos fortes: detecta erros cedo, oferece cobertura completa do código e não precisa de um ambiente em execução.
Pontos fracos: alta taxa de falsos positivos, é específico para cada linguagem e não detecta problemas de config em tempo de execução.
Ferramentas populares de SAST
Ferramentas de SAST de código aberto:
# Semgrep (multi-language, rule-based):
semgrep --config auto ./src
# Bandit (Python):
bandit -r ./src
# ESLint security plugin (JavaScript):
npx eslint --plugin security ./src
# SpotBugs + FindSecBugs (Java):
mvn spotbugs:checkIntegrando SAST ao CI/CD
Exemplo de uma etapa de SAST no GitHub Actions:
# .github/workflows/security.yml
- name: Run Semgrep
uses: returntocorp/semgrep-action@v1
with:
config: p/owasp-top-ten
auditOn: push
# Fail build if HIGH severity findings presentDAST: testes dinâmicos de segurança de aplicações
DAST testa uma aplicação em execução externamente, simulando um invasor. Ele descobre vulnerabilidades visíveis apenas em tempo de execução: problemas de autenticação, falhas no gerenciamento de sessões e erros na validação de entradas.
Pontos fortes: poucos falsos positivos, independente da linguagem e identifica problemas de config em tempo de execução.
Pontos fracos: precisa de um ambiente em execução e pode não detectar alguns caminhos de código.
Ferramentas populares de DAST
Ferramentas de DAST para CI/CD:
# OWASP ZAP (free, scriptable):
docker run -t owasp/zap2docker-stable zap-baseline.py -t https://staging.app.com
# Nikto:
nikto -h https://staging.app.com
# Nuclei (template-based):
nuclei -u https://staging.app.com -t cves/IAST: testes interativos de segurança de aplicações
IAST instrumenta a aplicação em tempo de execução usando agentes que monitoram a execução do código durante os testes funcionais. Ele combina a precisão do SAST com a cobertura do DAST. Exemplos: Contrast Security, Seeker. Requer agentes específicos para cada linguagem e testes em execução.
Antecipando a segurança
A antecipação da segurança significa realizar os testes de segurança mais cedo no ciclo de desenvolvimento — idealmente no IDE do desenvolvedor e na etapa de confirmação, em vez de usar uma etapa separada antes do lançamento. Detectar mais cedo = corrigir com menor custo.
Multiplicador de custo: um erro no desenvolvimento custa 1x; na preparação, 10x; na produção, 100x.
Tratando falsos positivos
As ferramentas de SAST produzem falsos positivos. Para gerenciá-los:
- Use
nosec(Bandit) ou comentários de supressão em linha para problemas confirmados como inexistentes - Ajuste os conjuntos de regras ao contexto da aplicação
- Registre a justificativa das supressões nos comentários do código
- Revise as supressões periodicamente
Arquitetura do fluxo de segurança de CI/CD
Um fluxo de segurança completo:
- Ganchos antes da confirmação: varredura de segredos (gitleaks), SAST (semgrep)
- Verificações de PR: resultados de SAST, varredura de dependências (Dependabot)
- Implantação de preparação: varredura de DAST (linha de base do ZAP)
- Produção: monitoramento em tempo de execução (RASP, WAF)
Medindo a eficácia do AppSec
Métricas importantes de AppSec no CI/CD:
- Tempo médio para corrigir achados de segurança
- Taxa de achados a cada 1.000 linhas de código
- Taxa de falsos positivos (influencia a confiança dos desenvolvedores)
- Taxa de escape de vulnerabilidades (encontradas na preparação em comparação com a produção)
Verificação rápida: SAST versus DAST
Que tipo de teste de segurança analisa o código-fonte sem executá-lo, fornecendo feedback diretamente no fluxo de CI a cada confirmação?
Recapitulação da lição
O SAST analisa o código estaticamente (feedback antecipado, muitos falsos positivos); o DAST testa aplicações em execução dinamicamente (precisão em tempo de execução, requer um ambiente). Ambos fazem parte dos fluxos de CI/CD. Antecipar os testes de segurança permite detectar vulnerabilidades quando as correções são mais baratas. Ferramentas populares: Semgrep, Bandit (SAST); OWASP ZAP, Nuclei (DAST). Ajuste os conjuntos de regras e registre as supressões para gerenciar falsos positivos.
Perguntas Frequentes
A aula “SAST e DAST em Pipelines de CI/CD” é grátis?
Sim — o texto completo de “SAST e DAST em Pipelines de CI/CD” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cyber Security Academy, atualize para CoddyKit PRO. O curso de Cyber Security Academy inclui 4 aulas no total.
O que vou aprender em “SAST e DAST em Pipelines de CI/CD”?
Integre SonarQube, Semgrep ou Bandit para análise estática e OWASP ZAP para varredura dinâmica em pipelines. Você pratica Cyber Security Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cyber Security Academy?
Nenhuma experiência prévia é necessária. Cyber Security Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “SAST e DAST em Pipelines de CI/CD”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cyber Security Academy?
Sim. Cada aula de Cyber Security Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- SAST e DAST em Pipelines de CI/CD
- Análise de Composição de Software (SCA)
- Varredura de Segredos e Credenciais Codificadas
- Security Champions e Modelagem de Ameaças