Veracode: Download e instalação do Wrapper no Windows

Ivo Dias
3 min readJan 17, 2021

Agora vamos ver como fazer a configuração para o uso da API, ou do Wrapper, da Veracode. Com ele, podemos via linha de comando, enviar os arquivos e analisa-los, com um alto nível de customização.

Utilizaremos Powershell para escrever um script, que vai fazer o download da ferramenta e configura-la para o uso.

Qual a ideia do script?

Vamos inicialmente, fazer o download da ferramenta no site do fabricante, para esse exemplo, utilizaremos a versão feita em C#, por essa não precisar da instalação do Java e funcionar em ambientes Windows.

Depois do download, vamos extrair o arquivo e adiciona-lo ao Path do sistema, para facilitar o acesso via terminal. Modificaremos o nome padrão que a Veracode utiliza, para remover o “#” do nome, evitando assim possíveis erros ao utiliza-lo com o Powershell.

Script explicado

Começamos armazenando o valor da URL do site do fabricante, depois utilizamos Try-Catch para escrevermos nosso script com um filtro de erros.

Para fazer o download, utilizaremos a função Invoke-WebRequest, passando como parâmetros a URL e arquivo de saída para esse download, no caso um arquivo ZIP (já que esse link nos permite fazer um download desse tipo de arquivo) dentro da pasta de AppData do usuário que executar o comando.

Para descompactar o zip, utilizaremos a função Expand-Archive, apontando onde está nosso ZIP e onde queremos que os arquivos contidos nele fiquem. Para padronizar, defini um caminho amigável dentro da pasta padrão de instalação de programas, para o caso de ter outras ferramentas da Veracode.

Renomeamos o executável para remover o caractere “#”, já que esse é utilizado pelo Powershell para comentários, utilizando a função Rename-Item e passando como parâmetro, o caminho do arquivo e seu nome, junto ao novo nome.

Para finalizar, adicionamos o caminho da pasta para o Path do sistema, ou seja, dizemos ao sistema que ele pode procurar abertamente no terminal os itens dento dessa pasta. Com isso poderemos acessar o executável sem ficar escrevendo seu caminho completo e de qualquer pasta do sistema. Para fazer isso, primeiros recebemos todo o Path atual, que fica armazenado na variável de sistema “$env:Path”, e somamos a ela o caminho da pasta, colocando um “;” para separa-la das que atualmente estão lá.

Para que essa modificação fique no sistema depois de fecharmos nosso script, vamos alterar o valor da chave de registro que contem o Path do sistema por meio da função Set-ItemProperty.

Dentro do bloco Catch, colocamos a mensagem que queremos exibir, no caso de falha em algum dos comandos que fizemos no bloco Try.

Concluindo

Com esse script, conseguimos de forma simples e pratica, tornar o Wrapper acessível e utilizável por qualquer outro script que criemos. É possível adicionar esse passo dentro de outros scripts também. Embora tenhamos utilizado ele para o Wrapper, podemos utiliza-lo de base para qualquer script que tenha um comportamento semelhante, de obter um arquivo por meio de um link de download de um ZIP e adiciona-lo ao Path.

--

--

Ivo Dias

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