Veracode + Windows: Configurando credenciais, Wrapper e Pipeline Scan
Ivo Dias
Posted on March 30, 2023
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:
- Receber os parâmetros
- Criar as pastas
- Adicionar a pasta das ferramentas ao PATH do sistema
- Fazer o download e organização do Pipeline Scan
- 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"
Dessa forma temos tudo configurado para utilizar Veracode de forma fácil no Windows.
Posted on March 30, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.