Integrando o Syhunt ao DefectDojo

As informações contidas neste documento se aplicam a versão 7.0.5 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:
- Clique no ícone Issue Trackers
na barra de ferramentas do inicializador. A tela Rastreadores de Problemas abrirá.
- Clique no ícone Add Tracker
na barra de ferramentas da tela Issue Trackers e escolha a opção de menu Add tracker: DefectDojo.
- Digite um nome de referência para o novo rastreador (como MyDefectDojo) e pressione OK. Uma janela de diálogo de preferências abrirá.
- Digite a URL do servidor DefectDojo, por exemplo:
https://[IP]/
- 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.skipduplicates -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