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'
É 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".
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.
Com base nas orientações, pode seguir com a correção das falhas encontradas.
Top comments (0)