Integração de OWASP Dependency-Check com Jenkins

Jul 2, 2024

Integrando a Ferramenta OWASP Dependency-Check com Jenkins

Introdução

  • OWASP Dependency-Check: Ferramenta para escanear código-fonte e encontrar vulnerabilidades públicas nos seus dependências.
  • Jenkins: Ferramenta de integração contínua para automatizar o processo de verificação.
  • Resultado final: Geração de relatórios HTML/XML sobre vulnerabilidades.

Configuração Inicial

Plugins Necessários

  1. OWASP Dependency-Check:
    • Acessar Manage Jenkins > Manage Plugins > Available Plugins.
    • Pesquisar OWASP Dependency-Check e instalar.
  2. OpenJDK:
    • Acessar Manage Jenkins > Manage Plugins > Available Plugins.
    • Pesquisar OpenJDK e instalar.

Configuração do Jenkins

  1. Configuração Global das Ferramentas:
    • Acessar Manage Jenkins > Global Tool Configuration.
    • Dependency-Check:
      • Adicionar nova dependerncia chamada DP.
      • Selecionar instalação automática e versão 7.2.0.
    • Maven:
      • Adicionar Maven com nome Maven e versão padrão.
    • OpenJDK:
      • Adicionar OpenJDK-11 e selecionar versão jdk11 do Eclipse (plugin instalado).

Criação do Primeiro Job

Freestyle Project

  1. Criar novo job Wasp DP Check (Freestyle Project).
  2. Configurar para manter no máximo 2 builds.
  3. Utilizar projeto Pet Clinic do Spring (URL do repositório GitHub).
    • Branch a ser utilizada: main.
  4. Build Steps:
    • Adicionar passo Invoke Dependency-Check.
    • Configurar Dependência Check e escolher versão já configurada (7.2.0).
    • Adicionar argumentos necessários (ex. formato do relatório HTML).

Execução e Resultados

  • Executar o job.
  • Primeira execução pode demorar pois diversas dependências são baixadas.
  • Análise é bem-sucedida quando relatório é gerado no formato HTML.

Criação de Pipeline Job

Script de Pipeline

  1. Criar novo job DP Check Pipeline.
  2. Usar template de pipeline e adicionar stages:
    • SCM: Buscar repositório Pet Clinic do GitHub (branch main).
    • Dependency Check: Configurar verificação semelhante ao Freestyle Project.
  3. Aplicar e executar o pipeline.
  4. Verificar geração do relatório HTML no workspace.

Considerações Finais

  • Relatórios HTML gerados com informações detalhadas das vulnerabilidades encontradas.
  • Possível integrar Jenkins com OWASP Dependency-Check facilmente para CI/CD refinado.