Skip to content

Diário de Bordo – Ana Carolina Madeira Fialho

Disciplina: Gestão de Configuração e Evolução de Software Equipe: OWASP (Blue Team) Comunidade/Projeto de Software Livre: OWASP (ej-application)


Sprint 3 – [07/09 até 22/10]

Resumo da Sprint

Nesta sprint, implementei com sucesso uma pipeline de segurança focada na análise de vulnerabilidades em dependências usando o pip-audit. Após várias tentativas e ajustes, consegui criar uma pipeline eficiente e específica para o projeto EJ-Application, que utiliza Poetry como gerenciador de dependências.

Atividades Realizadas

Data Atividade Tipo Commit/Link Descrição Técnica
19/10 Pesquisa e seleção do pip-audit Doc 🔗 Avaliação de ferramentas SCA para Python
20/10 Primeira implementação Código afe05df Pipeline inicial com pip-audit + Gitleaks
21/10 Adaptação para Poetry Código e4640ad Correção para export de dependências do Poetry
21/10 Pipeline final Código 3f74902 Versão otimizada focada apenas em dependências

Maiores Avanços

  • Implementação bem-sucedida do pip-audit: Criei uma pipeline específica para análise de vulnerabilidades em dependências
  • Adaptação para Poetry: Resolvi o desafio de usar pip-audit em um projeto que utiliza Poetry como gerenciador de dependências
  • Pipeline focada e eficiente: Removi componentes desnecessários para focar no objetivo principal
  • Aprendizado prático de GitLab CI: Dominei a configuração de pipelines e resolução de problemas de sintaxe

Maiores Dificuldades

  • Compatibilidade com Poetry: O comando poetry export não estava disponível na versão mais recente, exigindo o uso do Poetry 1.8.3
  • Sintaxe YAML: Erros de indentação e caracteres especiais que impediam a execução da pipeline
  • Integração de ferramentas: Encontrar a abordagem correta para fazer o pip-audit funcionar com o ecossistema Poetry

Aprendizados

  • pip-audit na prática: Como escanear dependências Python em busca de vulnerabilidades conhecidas
  • Integração com Poetry: Como exportar dependências do Poetry para formato compatível com pip-audit
  • GitLab CI: Configuração de pipelines, stages, jobs e resolução de problemas de sintaxe
  • Foco em objetivos específicos: A importância de criar pipelines especializadas em vez de genéricas

Implementação Técnica

Pipeline final implementada:

stages:
  - security

dependency-audit:
  stage: security
  image: python:3.11-slim
  script:
    - pip install pip-audit
    - pip install "poetry==1.8.3"
    - poetry export -f requirements.txt --output requirements.txt --without-hashes
    - pip-audit -r requirements.txt --format=columns
  allow_failure: false

Plano Pessoal para a Próxima Sprint

  • [ ] Ter pelo menos 2 ferramentas de segurança implementadas
  • [ ] Documentar processo completo de implementação
  • [ ] Realizar apresentação para a equipe sobre os resultados
  • [ ] Contribuir com pelo menos 1 PR para o repositório oficial

Solução para Poetry: - Uso do Poetry 1.8.3 para compatibilidade com export - Exportação para requirements.txt - Análise com pip-audit no formato legível (columns)

Evidências da Implementação

Pipeline executada com sucesso:

Implementação Gitleaks

Resultado do pip-audit:

Implementação Gitleaks

Plano Pessoal para a Próxima Sprint

  • [ ] Analisar os resultados do pip-audit e identificar dependências problemáticas
  • [ ] Documentar vulnerabilidades encontradas (se houver)
  • [ ] Explorar outras ferramentas do arsenal de segurança (Semgrep, Trivy)
  • [ ] Contribuir com a documentação do processo para a equipe
  • [ ] Participar da implementação no repositório oficial do projeto