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)