DEV Community

Cover image for Veracode + Windows: Configurando credenciais, Wrapper e Pipeline Scan
Ivo Dias for M3Corp

Posted on

Veracode + Windows: Configurando credenciais, Wrapper e Pipeline Scan

Para facilitar o processo de configuração em ambientes Windows, podemos automatizar as etapas com um script Powershell.
Nele vamos passar como parâmetros as duas credenciais de API, que você pode consultar como obtê-las clicando aqui, e como opcional pode definir uma pasta de instalação. Por padrão eu deixei a pasta da Veracode onde precisamos criar o arquivo de credenciais.

Nosso script vai:

  1. Receber os parâmetros
  2. Criar as pastas
  3. Adicionar a pasta das ferramentas ao PATH do sistema
  4. Fazer o download e organização do Pipeline Scan
  5. Fazer o download e organização do Wrapper

Para utilizar o Pipeline Scan vai ser preciso ter o Java instalado.
O arquivo de credenciais é necessário para autenticar os plugins nas IDEs e o uso do Wrapper, já que com ele configurado não é preciso passar os parâmetros VID e VKEY.

Traduzindo para Powershell, temos:

param ( [parameter(position=0,Mandatory=$True)] $VeracodeID, [parameter(position=1,Mandatory=$True)] $VeracodeKey, [parameter(position=2)] $pastaferramenta = "$env:USERPROFILE/.veracode" ) # Cria as pastas New-Item -ItemType Directory -Force -Path "$env:USERPROFILE/.veracode" New-Item -ItemType Directory -Force -Path "$pastaferramenta" # Adiciona o caminho no Path do sistema if ($env:Path -NotContains $pastaferramenta) { Write-Host "Add $pastaferramenta ao path" [System.Environment]::SetEnvironmentVariable("Path", $env:Path + ";$pastaferramenta", 'User') } # Cria o arquivo de credenciais $templateCredenciais = @" [default] veracode_api_key_id = $VeracodeID veracode_api_key_secret = $VeracodeKey "@ Write-Host "Criando arquivo de credenciais" Set-Content -Path "$env:USERPROFILE/.veracode/credentials" -Value "$templateCredenciais" # Download e configuração: Pipeline Scan Write-Host "Configurando: Pipeline Scan" $urlDownload = "https://downloads.veracode.com/securityscan/pipeline-scan-LATEST.zip" # Define a url de download $caminhoDownload = "$env:LOCALAPPDATA/VeracodePipeline.zip" # Define um caminho para o arquivo de download Invoke-WebRequest -Uri "$urlDownload" -OutFile "$caminhoDownload" # Faz o download Expand-Archive -Path "$caminhoDownload" -DestinationPath "$pastaferramenta" -Force # Descompacta o ZIP para uma pasta Remove-Item "$caminhoDownload" # Remove o arquivo de download # Download e configuração: API Wrapper Write-Host "Configurando: Wrapper" $urlDownload = "https://tools.veracode.com/integrations/API-Wrappers/C%23/bin/VeracodeC%23API.zip" # Define a url de download $caminhoDownload = "$env:LOCALAPPDATA/VeracodeAPI.zip" # Define um caminho para o arquivo de download Invoke-WebRequest -Uri "$urlDownload" -OutFile "$caminhoDownload" # Faz o download Expand-Archive -Path "$caminhoDownload" -DestinationPath "$pastaferramenta" -Force # Descompacta o ZIP para uma pasta Rename-Item -Path "$pastaferramenta/VeracodeC#API.exe" -NewName "$pastaferramenta/VeracodeAPI.exe" -Force # Renomei para remover o # do nome Remove-Item "$caminhoDownload" # Remove o arquivo de download # Encerramento Write-Host "Processo concluído" 
Enter fullscreen mode Exit fullscreen mode

Dessa forma temos tudo configurado para utilizar Veracode de forma fácil no Windows.

Top comments (0)