Utilizando os Plug-ins no Azure DevOps
Tags: veracode, security, azure, devops
Published: 2021-08-17 18:26:43

Nesse artigo vamos ver como fazer a configuração dos plug-ins da Veracode disponíveis dentro do Azure DevOps.

Inicialmente, precisamos importá-las pela loja de extensões do Azure DevOps, conforme essa imagem (sendo a primeira opção a correta):
![Loja Azure](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wywvn4atvhehwaz88veo.PNG)
Com isso vamos ter dois plug-ins disponíveis para utilizarmos, um para fazer a análise e um para importar esses resultados e integrar com o Azure Boards. 

Vamos começar com o processo de scan, para esse exemplo vou utilizar de base um projeto para fazer a análise do [DVWA](https://github.com/IGDEXE/DVWA), projeto aberto para identificar problemas de segurança. Por ser um projeto em PHP, precisamos apenas fazer um zip com todos os arquivos e enviar para a análise, conforme está no guia de empacotamento da Veracode. 

Com esse zip pronto, podemos fazer a configuração do plug-in "Uploud and Scan". Para as [credenciais](https://dev.to/m3corp/credenciais-da-veracode-340m), podemos tanto coloca-las diretamente nele ou podemos criar uma "[Service Connection](https://dev.to/m3corp/como-criar-uma-service-connetion-1ljp)", que é o mais indicado. 
![Plug-In](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ix6f354k1vncoxech9v0.PNG)
Seguindo com as opções (ok, elas são bem simples), para fazermos o scan precisamos inicialmente de 3 informações:
- O nome do perfil de aplicação
- Um identificador para o build
- O caminho do arquivo que vai ser analisado

Conforme vemos na imagem, podemos ter todas essas informações abstraídas, o que facilita um processo de implantação massiva e/ou a criação de um template. No exemplo utilizamos as informações internas do Azure, como número de build.

Descendo nas opções, vamos ter algumas outras configurações importantes, como deixar ativada a criação automática de perfis de aplicação (isso é muito importante para uma rápida implementação, mas pode se tornar um fator de risco ao licenciamento), a criação de Sandboxs e se queremos que a tarefa aguarde a conclusão do scan para continuar ou não. 
![Opções avançadas](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/so20g3cjfh7i34a8vgss.PNG)

Com isso, já temos nosso plug-in de scan configurado. 
Como esperado, esse processo não é nem um pouco difícil, já que a ideia é deixar o processo o mais simples possível. 

Mas com isso já podemos avançar para a utilização do outro Plug-in, o "Flaw Importer". Com ele vamos fazer a importação de todas as falhas detectadas para o Azure Boards. 

Sua configuração é ainda mais simples, basicamente, só precisamos das credenciais e informar de qual perfil de aplicação queremos buscar as informações. 
![Flaw Importer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/izvbkhft21olhkoayggu.PNG)
Alguns pontos de atenção são o tipo de falhas que vamos importar, já que isso impacta diretamente no template que utilizamos, e onde vamos importar, sendo necessário informar a área correta que queremos. Caso utiliza um template personalizado, pode ser necessário um configuração especial, [conforme esse artigo](https://help.veracode.com/r/Use_Custom_Process_Templates_to_Import_Flaws_into_Azure_DevOps).

Como resultado desse pipeline, vamos ter a aplicação não só analisada completamente, como também vamos ter dentro do Boards todas as informações relacionadas:
![Boards](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0jlm7eru9hae5luzzjwi.PNG)