[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 security no .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 security estiver 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:

  • @BrenoLUCO
  • @zlimaz

Participantes / Revisores / Envolvidos:

  • @zlimaz
  • @caroll_mf
  • @DanRocha18
  • @sebazac332
  • @guizinpeix7
  • @BrenoLUCO

Labels sugeridas

  • Security
  • DevOps
  • Blue Team
  • Sprint Atual
  • Pipeline

Referências

  • Repositório base: https://gitlab.com/sebazac332/ej-application-sebastian
  • Pipeline do fork
  • Guia de contribuição da EJ
Assignee Loading
Time tracking Loading