[Security/GCES] Criar stage de segurança na pipeline e gerar relatório de vulnerabilidades
Descrição
O projeto precisa de um stage dedicado de segurança na pipeline CI/CD para execução automatizada das ferramentas:
- Gitleaks
- pip-audit
- Semgrep
- Trivy FS Scan
Essas ferramentas têm como objetivo identificar segredos expostos, vulnerabilidades em dependências Python, falhas de código (XSS, SQL Injection, má validação), e vulnerabilidades no sistema de arquivos.
Após a implementação e validação da pipeline, é necessário produzir um relatório consolidado com a análise dos resultados de cada ferramenta, para uso do Blue Team.
Objetivo
Criar um novo stage security na pipeline CI/CD contendo jobs individuais para cada ferramenta de segurança e gerar um relatório final após a execução completa.
🛠️ Tarefas
-
Criar o stage securityno.gitlab-ci.yml -
Adicionar job do Gitleaks -
Adicionar job do pip-audit -
Adicionar job do Semgrep -
Adicionar job do Trivy FS Scan -
Garantir que todos os jobs gerem artefatos JSON/HTML para análise -
Validar execução completa no fork -
Ajustar permissões, paths e dependências dos jobs se necessário -
Gerar relatório final com: - descrição das ferramentas
- resultados encontrados
- interpretação de cada achado
- links oficiais para validação dos CVEs
- sugestões de mitigação
-
Subir o relatório junto aos artefatos e enviar ao time
Critérios de Aceite (Definition of Done)
A issue será considerada concluída quando:
-
O stage securityestiver implementado e executando automaticamente na pipeline -
As quatro ferramentas rodarem com sucesso: - Gitleaks
- pip-audit
- Semgrep
- Trivy FS Scan
-
Todos os relatórios forem exportados como artefatos da pipeline -
O pipeline não quebrar outros stages -
O relatório de vulnerabilidades estiver completo e entregue -
Todos os achados forem interpretados e documentados conforme fontes oficiais (CVE, GHSA, NVD, AVD, etc.)
Contexto e Exemplos Reais
Gitleaks
Detecta segredos expostos (chaves, tokens, credenciais). Exemplo real: private key detectada no gitleaks-report.json.
pip-audit
Detecta vulnerabilidades em dependências Python. Exemplo real: djangorestframework 3.14.0 vulnerável ao CVE-2024-21520 (XSS).
Semgrep
Análise estática de código. Pipeline indica: semgrep-report.json: found 1 matching artifact.
Trivy FS Scan
Análise do sistema de arquivos. Exemplo real: gunicorn – CVE-2024-1135.
Fontes Oficiais para Validação
- NVD – National Vulnerability Database
- CVE Details
- GitHub Security Advisory
- PyPA Advisory Database
- Semgrep Rule Registry
- AquaSec AVD (Trivy)
- Gitleaks Official Ruleset
Ambiente
- Arquivo
.gitlab-ci.yml - CI/CD
- Stage de segurança
- Jobs com artefatos JSON/HTML
Responsáveis envolvidos
Assignee principal:
Participantes / Revisores / Envolvidos:
Labels sugeridas
SecurityDevOpsBlue TeamSprint AtualPipeline
Referências
- Repositório base: https://gitlab.com/sebazac332/ej-application-sebastian
- Pipeline do fork
- Guia de contribuição da EJ