DEV Community

Cover image for Integrando Veracode com Azure DevOps
Ivo Dias for M3Corp

Posted on • Updated on

Integrando Veracode com Azure DevOps

Antes de ler esse artigo, vou recomendar que leia meu artigo sobre o Pipeline Scan, já que utilizaremos ele aqui.

Pipeline Scan é uma ferramenta da Veracode que nos permite fazer análises de segurança com scripts e pipelines de forma simples e pratica.

Nesse artigo utilizaremos como base o projeto PIVAA, criado para demonstrar falhas de segurança num projeto Android, enviando o seu APK para análise.

Utilizaremos o YAML para poder criar um pipeline que vai fazer o processo de build e então utilizar o Pipeline Scan para verificar o APK.

Nosso código em YAML ficara assim:

trigger:
- main

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: Bash@3
  inputs:
    targetType: 'inline'
    script: 'rm -rf local.properties'
  displayName: 'Removendo Local Properties'
- task: Gradle@2
  inputs:
    gradleWrapperFile: './gradle/wrapper/gradle-wrapper.properties'
    tasks: 'assembleDebug'
    publishJUnitResults: false
    javaHomeOption: 'JDKVersion'
    gradleOptions: '-Xmx512m'
    sonarQubeRunAnalysis: false

- task: Bash@3
  inputs:
    targetType: 'inline'
    script: |
      # Configuracoes
      urlPipeScan="https://downloads.veracode.com/securityscan/pipeline-scan-LATEST.zip"
      veracodeID="$(APIID)"
      veracodeAPIkey="$(APIKEY)"
      # Faz o download da ferramenta
      curl -o pipescan.zip $urlPipeScan
      # Descompacta a ferramenta
      unzip -o pipescan.zip -d "./"
      # Faz a análise
      java -jar "pipeline-scan.jar" -f "pivaa.apk" -vid $veracodeID -vkey $veracodeAPIkey
    workingDirectory: '$(system.defaultworkingdirectory)/apks'
  displayName: 'Pipeline Scan'
Enter fullscreen mode Exit fullscreen mode

É uma estrutura bem simples, utilizando a opção padrão de compilação para Android do Azure e por meio de um Bash, fazendo a instalação e uso do Pipeline Scan.

Para que ele funcione, precisamos configurar duas variáveis:
APIID e APIKEY são informações da sua conta Veracode

Como a ferramenta é um JAR, é preciso que o Pipeline tenha o Java configurado.

Não recomendo que deixe no código as variáveis, já que elas são credenciais. Como esse projeto tem falhas de segurança, o Pipeline vai localizá-las e "quebrar".

Retorno

Notamos que o uso da ferramenta é bem simples, e que podemos integrá-la com facilidade nos scripts. Basta informar o caminho do arquivo no parâmetro f e as credenciais.

A análise é feita e o resultado exibido.

Analise

Com base nas orientações, pode seguir com a correção das falhas encontradas.

Top comments (0)