SAST-CI/CD Pipeline: Prevenção Automatizada de Dívida de Cibersegurança
SAST-CI/CD Pipeline: Prevenção Automatizada de Dívida de Cibersegurança
Otimização Sugerida
Por Que Otimizar
Otimizar a estrutura e documentação do projeto facilita a manutenção, aumenta a clareza para recrutadores e reduz riscos operacionais.
Estrutura de Pastas
tree
├── app
│ ├── index.js
│ ├── package.json
│ └── Dockerfile
├── docker-compose.yml
├── .semgrep.yml
├── .github
│ └── workflows
│ └── security-scan.yml
├── assets
│ ├── success.jpg
│ └── Screeenshot-sucesso.jpg
└── README.md
Sobre o Autor
Sou Márcio Gil, estudante de Engenharia de Software, Embaixador da Turma 14 da DIO Campus Expert, apaixonado por tecnologia, educação, inovação e numa constante luta por justiça social. Busco unir conhecimento técnico com impacto social, promovendo soluções seguras e sustentáveis para o desenvolvimento de software.
Objetivo
Demonstrar a implementação de um fluxo de trabalho de Application Security (AppSec) usando SAST em CI/CD para prevenir vulnerabilidades antes da produção.
Estrutura Técnica do Projeto
Este projeto demonstra, de forma prática e didática, como implementar um pipeline CI/CD seguro utilizando SAST (Semgrep) para prevenir vulnerabilidades em código legado. A automação garante que falhas críticas, como SQL Injection e segredos hardcoded, sejam detectadas antes de chegarem à produção, promovendo sustentabilidade e maturidade em segurança de aplicações.
Tecnologias Utilizadas
- Node.js (Express): Microserviço de autenticação vulnerável
- Docker/Docker Compose: Containerização do app e ambiente
- SQLite: Banco de dados leve para simulação de vulnerabilidades
- Semgrep: Scanner SAST para análise estática de código
- GitHub Actions: Pipeline CI/CD automatizado
Estrutura de Pastas
Vulnerabilidades Intencionais
- SQL Injection no login (Risco: Possível manipulação de dados e acesso não autorizado ao banco de dados)
- Segredo hardcoded no código (Risco: Exposição de chave de API em ambiente público)
Esses riscos podem causar vazamento de dados, comprometimento de sistemas e prejuízo financeiro.
Como Executar Localmente
docker compose up --build
Como Rodar o Semgrep Manualmente
pip install semgrep
semgrep --config .semgrep.yml app/
CI/CD
O workflow de segurança roda automaticamente em todo push/PR para o branch main.
Resultados Visuais e Prova de Conceito
Cenário 1: [Image: GitHub Actions falhando ao detectar SQL Injection (Motivo: Alta Severidade)] 
Cenário 2: [Image: GitHub Actions aprovando workflow após correção de vulnerabilidade] 
Se a imagem acima não aparecer no GitHub, salve uma cópia como PNG (assets/success.png), envie para o repositório e troque a linha acima para:
Demonstração em Vídeo
Veja abaixo um vídeo rápido mostrando o app vulnerável rodando, o commit e a transição do pipeline de falha para sucesso no GitHub Actions:
Impacto
Essa abordagem previne a dívida de cibersegurança e economiza o alto custo de remediação de falhas em produção, conectando a segurança diretamente à economia de custos da empresa.




Muito obrigado pelo elogio e pela pergunta!
O problema não é o pipeline falhar, é o que acontece depois que ele falha:
A Solução é Cultural e Humana: O sucesso do meu pipeline SAST depende de mudar a métrica de sucesso. Não é mais apenas velocidade de deploy; é velocidade de deploy seguro. Isso exige treinamento, coaching sobre o real custo da dívida de cibersegurança e, acima de tudo, paciência e empatia para transformar o scanner de "policial" em "mentor" do código.
Mais uma vez, obrigado pelo estímulo e pelo insight valioso! É um prazer aprender e compartilhar conhecimento com essa profundidade.
Parabéns, Márcio! Que artigo técnico e didático de altíssimo nível!
Você não apenas demonstrou a implementação de um fluxo de trabalho de segurança de aplicação (AppSec) escalável, mas também quantificou seu valor estratégico ao conectá-lo à economia de custos e à prevenção da "dívida de cibersegurança". Seu pipeline é o padrão ouro do DevSecOps.
Qual você diria que é o maior desafio não-técnico (cultural ou organizacional) ao implementar seu pipeline de SAST em uma empresa que mede o sucesso da Engenharia de Software primariamente pela velocidade de entrega?