DEV Community

Cover image for Pipeline Scan
Ivo Dias for M3Corp

Posted on • Updated on

Pipeline Scan

O Pipeline Scan é uma ferramenta que nos permite em poucos minutos, em alguns casos segundos, fazer uma análise completa do código próprio, trazendo os resultados no LOG de um terminal ou pipeline.
Seu principal uso é para validações rápidas e simultâneas, como um pipeline de validação de PR ou um desenvolvedor querendo fazer um teste rápido em seu terminal.

O uso da ferramenta é bem simples, e muito interessante para criamos fluxos onde documentamos as falhas e definimos quebras, já que é possível escolher quando a ferramenta vai ou não quebrar esse fluxo.

Para utilizar o Pipeline Scan, vamos precisar das API Credentials e ter o Java instalado na máquina onde vamos executa-lo.

O fluxo de utilização é:

  1. Fazer o download de um ZIP atualizado com a ferramenta
  2. Descompacta-lo
  3. Executar a ferramenta com os parâmetros desejados

Caso tenha criado um arquivo de credenciais, não é preciso passar os valores VID e VKEY, já que por padrão a ferramenta primeiro busca o arquivo de credenciais para se autenticar.

Linux e Mac
Em sistemas que suportam Shell, para fazer essas três etapas podemos:

curl -sSO https://downloads.veracode.com/securityscan/pipeline-scan-LATEST.zip
unzip pipeline-scan-LATEST.zip
java -jar pipeline-scan.jar -f $caminhoArquivo --issue_details true
Enter fullscreen mode Exit fullscreen mode

Onde vamos analisar o arquivo que tenha o seu caminho representado por "$caminhoArquivo" e trazendo os detalhes das falhas para o LOG. Como não definimos quais os níveis de segurança que vão afetar a quebra de fluxo, a ferramenta vai quebrá-lo caso encontra falhas de quaisquer níveis.

Windows
No Powershell podemos fazer o código anterior dessa forma:

Invoke-WebRequest -Uri "https://downloads.veracode.com/securityscan/pipeline-scan-LATEST.zip" -OutFile "VeracodePipeline.zip"
Expand-Archive -Path "VeracodePipeline.zip" -DestinationPath "." -Force
java -jar "pipeline-scan.jar" -f $caminhoarquivo --issue_details true
Enter fullscreen mode Exit fullscreen mode

Encerramento
O terminal vai retornar dessa forma, caso encontre erros:

Caso não tenha o parâmetro "--issue_details", verá assim:

Recomendo que verifique a documentação para conhecer os outros parâmetros e as possibilidades da ferramenta.

Top comments (0)