Skip to content

Diário de Bordo – [Breno Lucena Cordeiro]

Disciplina: Gerência de Configuração e Evolução de Software - T01 Equipe: OWASP/Blue Team
Comunidade/Projeto de Software Livre: OWASP/ej-application


Sprint 0 – [07/10/2025 – 22/10/2025]

Resumo da Sprint

Foi feito o estudo das principais ferramentas de segurança aplicadas a pipelines DevSecOps. Foram exploradas as funções do Bandit e Semgrep na análise estática de código (SAST), bem como o uso do Gitleaks para detectar segredos expostos, pip-audit para identificar dependências vulneráveis e Trivy para inspecionar containers. Além disso, foi estudado o conceito de camadas de defesa, relacionando cada ferramenta às categorias do OWASP Top 10, com o objetivo de compreender como cada uma atua na prevenção de diferentes tipos de riscos. E como atividade individual rodei o gitleaks.

Atividades Realizadas

Data Atividade Tipo (Código/Doc/Discussão/Outro) Link/Referência Status
14/10 Reunião de allinhamento de demandas Discurssão Concluído
15/10 Estudo Estudo Concluído
20/10 Elaboração do diário de bordo e Documento com resumo das ferramentas Documento Ferramentas de segurança Concluído

Maiores Avanços

O maior avanço neste estudo foi ter compreendido a lógica das camadas de defesa dentro de um pipeline de segurança, entendendo que cada ferramenta cobre um tipo de risco diferente. Entendi que o Gitleaks previne vazamentos de segredos, o Semgrep analisa falhas de código, o pip-audit garante dependências seguras e o Trivy protege a infraestrutura.

Maiores Dificuldades

Não encontrei dificuldades, rodei o gitleaks tranquilamente.

Execução do gitleaks

Breno — Gitleaks

Resumo da Execução do Gitleaks

Verifiquei se havia configuração pré-existente do Gitleaks no repositório — não encontrei.
Rodei o scanner via Docker no diretório do projeto e analisei o arquivo gitleaks-report.json para produzir as métricas e exemplos abaixo.

Comando Utilizado

docker run --rm -v "C:\Users\corde\Desktop\ej-application\ej-application:/repo" \
  zricethezav/gitleaks:latest detect -s /repo \
  -r /repo/gitleaks-report.json -f json´

Resultados do Scan

Estatísticas Gerais

Métrica Valor
Commits escaneados 3.462
Dados analisados ~27.2 MB
Vazamentos detectados 33

Principais Regras Detectadas (RuleID)

Regra Ocorrências Prioridade
generic-api-key 28 Alta
gcp-api-key 2 Média
slack-webhook-url 1 Alta
private-key 1 Crítica
jwt 1 Média

Principais Arquivos com Achados

Arquivo Ocorrências
test_api.py 13
src/ej_analysis/opinion_component/lib/analytics/analyticsreporting.dat 5
.gitlab-ci.yml 3
docker/env/deploy.env 1
docker/env/email.env 1
lib/js/legacy/utilsPushNotification.ts 1
config/settings/base.py 1
config/settings/local.py 1
lib/assets/js/utilsPushNotification.js 1
src/ej_analysis/.../client_secrets.json 1

Exemplos Relevantes do Relatório

Regra: generic-api-key

Arquivo: src/ej_users/tests/test_api.py:129
Autor: David Carlos (ddavidcarlos1392@gmail.com)
Data do commit: 2024-07-19
Trecho identificado:

SECRET_ID = "8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92"

Regra: generic-api-key (repetição)

Arquivo: src/ej_users/tests/test_api.py:321
Autor: Giovanni Giampauli (giovanni.acg@gmail.com)
Trecho identificado:

SECRET_ID = "8d969eef6..."  

Regra: private-key

Arquivo: (conteúdo contendo chave privada detectado em um dos arquivos).
Match: -----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY-----
Gravidade: alta (chave privada exposta — tratar como crítico)

Regra: slack-webhook-url

Arquivo: .gitlab-ci.yml (linha com webhook)
Match: https://hooks.slack.com/services/TPU5XPHPW/B03EZBKMRJQ/YxY4y08...
Gravidade: alta (webhook potencialmente válido)

Plano Pessoal para a Próxima Sprint

Na próxima sprint, o foco será direcionado para adicionar novas ferramentas e tentar abrir issues