Veracode: Como usar o Wrapper para analisar arquivos

Ivo Dias
3 min readJan 17, 2021

Antes de começar, precisamos ter o Wrapper configurado no computador, então recomendo a leitura do artigo explicando como fazer ela.

Para utilizar o Wrapper, é preciso ter algumas informações como o ID e a chave da API, você pode gera-las no portal da Veracode, acessando com a sua conta.

A ideia desse artigo, é mostrar como podemos fazer de forma simples, um script que faça o processo de enviar um arquivo para ser analisado, aguardar a analise e mostrar no terminal um pequeno relatório com os dados da analise.

Como exemplo para ele, utilizei o projeto chamado PIVAA, uma aplicação Android de teste que contem falhas de segurança (a ideia desse projeto é ser utilizado para testes desse tipo de ferramenta) e por isso, o arquivo que vamos enviar é o APK presente nele. A ferramenta possui tipos específicos e orientações, que vou deixar nas referencias o link para a documentação.

Fluxo de funcionamento

Inicialmente, pegamos todos os valores que serão necessários para que esse script funcione, nesse caso o seu ID da Veracode, a chave da API, o nome do aplicativo dentro do portal e o caminho do arquivo que queremos analisar.

A Veracode trabalha muito com retornos utilizando XML, teremos alguns tratamentos dentro do código para obter essas informações de forma que possamos utiliza-las no script. Inicialmente, obteremos o ID do aplicativo, utilizando ele em seguida, para enviar o arquivo para a analise, por meio da ação UploadAndScanByAppId. Chamamos de ações o que podemos fazer com o Wrapper, pode saber mais utilizando o parâmetro -Help nele, ou consultando a documentação.

Depois do envio, vamos pegar o resultado da analise, entretanto, ele não é algo imediato e pode variar de acordo com o arquivo, então vamos criar um pequeno loop, que a cada x segundos (em nosso exemplo 10) vai verificar se a analise já está pronta. Em caso afirmativo o script vai para a próxima seção, mas caso demore mais de 5 minutos, ele mostra a mensagem de retorno da solicitação, para entendermos o porque não foi possível obter os resultados.

Com os resultados, vamos fazer um pequeno tratamento das informações que conseguimos por meio da ação Summary Report e criamos um relatório amigável para ser exibido no próprio terminal.

Transformando isso em Powershell

Como retorno, temos esse amigável terminal:

Ocultei algumas informações que podem ser sensíveis, mas da para entender como é a distribuição das informações no retorno.

Conclusão

Com esse script, podemos utilizar o Wrapper para fazer analises em nossos projetos via linha de comando de formar simples e eficiente, com a vantagem de termos o retorno da analise no próprio terminal.

Referencias

Parâmetros do Wrapper

Credenciais Veracode

Alguns exemplos de código

--

--

Ivo Dias

MCC, MSLA and Microsoft Community Moderator. Currently work with DevOps and write articles about automation, IT support and script development