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 exportnã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:

Resultado do pip-audit:

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