Integrando o Syhunt ao DefectDojo

As informações contidas neste documento se aplicam a versão 6.9.17 do Syhunt Hybrid.

DefectDojo é uma ferramenta de segurança que automatiza o gerenciamento de vulnerabilidades de segurança de aplicações. O DefectDojo agiliza o processo de teste de segurança de aplicações oferecendo recursos como importação de relatórios de segurança de terceiros, mesclagem e eliminação de duplicatas, integração com o Jira, modelagem, geração de relatórios e métricas de segurança.

Desde a versão 6.9.17, o Syhunt pode ser configurado para se conectar automaticamente à API de um servidor DefectDojo e enviar um relatório SAST ou DAST. Como alternativa, o Syhunt pode gerar um relatório compatível que pode ser importado manualmente para o DefectDojo.

Nota: atualmente, apenas o suporte ao SAST está documentado no DefectDojo. O suporte ao DAST pode ou não vir com algumas limitações

Envio automático de resultados

Configurar a integração com o DefectDojo é uma tarefa fácil e depois disso as vulnerabilidades podem ser enviadas automaticamente ao seu painel.

Em primeiro lugar, você deve adicionar um rastreador DefectDojo:

  1. Clique no ícone Issue Trackers na barra de ferramentas do inicializador. A tela Rastreadores de Problemas abrirá.
  2. Clique no ícone Add Tracker na barra de ferramentas da tela Issue Trackers e escolha a opção de menu Add tracker: DefectDojo.
  3. Digite um nome de referência para o novo rastreador (como MyDefectDojo) e pressione OK. Uma janela de diálogo de preferências abrirá.
  4. Digite a URL do servidor DefectDojo, por exemplo: https://[IP]/
  5. Digite seu token e clique no botão OK.

O rastreador está pronto! Clique com o botão direito do mouse no item que você acabou de editar na lista e clique na opção Enviar teste. Se você configurou tudo corretamente, um item de verificação de teste deve ser criado em https://[servidor]//engagement/active. Caso contrário, você verá uma mensagem de erro dando uma dica do que precisa ser feito.

Por fim, associe o rastreador DefectDojo a uma varredura:

  • Através da CLI, passe o parâmetro -tk:[trackername]
  • Na caixa de diálogo de preferências da Verificação agendada, vá para a guia Notificações e selecione o rastreador recém-criado em Notificações do rastreador.

Criando o Tracker através da CLI

Se você estiver usando a versão CLI do Syhunt, poderá adicionar o rastreador usando os comandos abaixo.


-- Exemplo 1 - Adicionando um novo rastreador DefectDojo
scancore -tracker:add 
-- Especifique o tipo DefectDojo e o nome do rastreador e pressione enter
-- Configure o rastreador
scancore -tracker:set to:mytrackername -key:api.url -v:"https://serverurl/"
scancore -tracker:set to:mytrackername -key:auth.token.encrypted -vsecret
-- Teste o rastreador
scancore -tracker:send -tid:TEST -to:mytrackername

-- Configurações opcionais
scancore -tracker:set to:mytrackername -key:scan.minseverity -v:Info
scancore -tracker:set to:mytrackername -key:scan.testtitle -v:"Syhunt Scan"
scancore -tracker:set to:mytrackername -key:scan.engagementname -v:"Syhunt Hybrid Scan"
scancore -tracker:set to:mytrackername -key:scan.producttypename -v:"Research and Development"
scancore -tracker:set to:mytrackername -key:scan.productname -v:Syhunt
scancore -tracker:set to:mytrackername -key:scan.autocreatecontext -v:true
scancore -tracker:set to:mytrackername -key:scan.active -v:true
scancore -tracker:set to:mytrackername -key:scan.verified -v:true
scancore -tracker:set to:mytrackername -key:scan.closeoldfindings -v:false
scancore -tracker:set to:mytrackername -key:scan.pushtojira -v:false

Gerando um Relatório Compatível

Se você preferir importar os resultados manualmente, o Syhunt pode gerar um arquivo de relatório de vulnerabilidade compatível com o DefectDojo. Para isto, apenas certifique-se de que o parâmetro de saída foi configurado para um nome de arquivo que termine com a extensão dupla .sast.json ou .dast.json, conforme mostrado nos exemplos abaixo. Por fim, ao importar os arquivos JSON no DefectDojo, especifique o formato GitLab SAST ou DAST.

Exemplos

  • SAST: scancode [target] -xout:algumnome.sast.json
  • DAST: scanurl [target] -xout:algumnome.dast.json

Ao iniciar o scan através do GitHub, GitLab e Powershell: use o parâmetro outputex da função scan para passar o nome do arquivo.

Ao iniciar o scan através do Jenkins: use o parâmetro outFilename da função scan para passar o nome do arquivo.


Para documentação adicional do produto, visite syhunt.com/docs/br

Contato