DEV Community

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

Posted on • Edited 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.

Billboard image

Deploy and scale your apps on AWS and GCP with a world class developer experience

Coherence makes it easy to set up and maintain cloud infrastructure. Harness the extensibility, compliance and cost efficiency of the cloud.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay