Skip to content

Diário de Bordo – Sebastián Zuzunaga

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

Neste sprint se tentaou implementar no pipeline de EJ-Application a ferramenta de semgrep para análise estática de código, depois de seguir os passos fornecidos pela mesma organização de semgrep se consegue implementar com sucesso na pipeline.

Atividades Realizadas

Data Atividade Tipo (Código/Doc/Discussão/Outro) Link/Referência Status
16/10 Pesquisa de semgrep Estudo semgrep repo Concluído
20/10 Busca de tutorial sobre implementação em pipeline gitlab Estudo semgrep tutorial Concluído
21/10 Primeira criação de pipeline com semgrep Código semgrep primeira tentativa Concluído
22/10 Criação bem sucedida de pipeline com semgrep Código semgrep final Concluído

Maiores Avanços

  • Criação de pipeline usando semgrep na etapa de segurança.
  • Integração da dashboard de semgrep com o repositório do projeto.
  • Foi possível implementar várias ferramentas na etapa de segurança.

Maiores Dificuldades

  • As regras padrão do semgrep só permitiam a execução dos jobs sob certas circunstâncias, foi resolvido alterando-as na pipeline.
  • Tentou-se executar pip-audit também no pipeline mas não foi possível, só resolveu-se usando a implementação disponibilizada por colegas de grupo no documento do sprint 3.

Aprendizados

  • Como usar semgrep em uma pipeline.
  • Como criar variáveis em gitlab para ci/cd.
  • Como integrar semgrep app com um repositório em gitlab.
  • Permitir falhas em um pipeline sem interrompê-la para permitir que todos os trabalhos sejam executados.

Implementação

Semgrep na pipeline:

semgrep:
  stage: security
  image: semgrep/semgrep
  script: semgrep ci
  rules:
  - when: always
  variables:

    SEMGREP_APP_TOKEN: $SEMGREP_APP_TOKEN
    GITLAB_TOKEN: $PAT

  allow_failure: true

Resultado da pipeline:

Resultado da pipeline

Job de semgrep da pipeline:

Job de semgrep

Tipos de achados:

Intermedio:

Intermedio

Alto:

Alto

Critico:

Critico

Plano Pessoal para a Próxima Sprint

  • [ ] Verificar qual foi o erro de implementação do pip-audit.
  • [ ] Tentando modificar as regras de semgrep.
  • [ ] Explorar funcionalidades da dashboard de semgrep.