Como configurar as CLIs da Veracode em seu workstation usando docker
Tags: veracode, tutorial, productivity, docker
Published: 2023-08-08 17:38:15

É inegável que saber utilizar CLIs é importante no dia a dia de um profissional de tecnologia, pois elas podem trazer diversas possibilidades de interações e automações, além de nos ajudar a ganhar produtividade.

Nesse artigo, iremos mostrar como configurar e utilizar as CLI e API wrappers da Veracode em seu workstation para te ajudar a ganhar produtividade, dar a possibilidade de criar scripts e automações de forma mais simples.

---
#### Pré requisitos

```
1 - Sistema operacional Linux
2 - Caso utilize o Windows, poderá adaptar para o WSL
3 - Docker
4 - Conta de acesso à Veracode
5 - Credenciais API configuradas em no arquivo credentials 
```

---

#### Criar credenciais API

1. Faça login na Plataforma Veracode [https://analysiscenter.veracode.com/].
2. No menu esquerdo clique em API Credentiais.
3. Clique em Gerar credenciais de API.
4. Copie o ID e a chave secreta para um local seguro.

---

#### Configurar credenciais API

* Na linha de comando, navegue até a pasta do seu nome de usuário $HOME.
```
cd $HOME
```

* Execute este comando para criar a pasta .veracode
```
$ mkdir .veracode
```

* Navegue até a pasta .veracode
``` 
$ cd .veracode
```

* Execute este comando de toque para criar o arquivo de credenciais
```
$ touch credentials
```

* Abra o arquivo credentials com algum editor de texto

* Copie este texto e cole-o no arquivo de credenciais
```
[default]
veracode_api_key_id = Your API ID
veracode_api_key_secret = Your API key                
```

* Substitua os valores pelas credenciais da API Veracode.

* Salve o arquivo de credenciais.

* Opcionalmente, você pode executar o seguinte comando para restringir o acesso ao arquivo de credenciais
```
chmod 600 ~/.veracode/credentials
```

---

#### Download e configuração das CLIs

Nesse ponto, iremos utilizar as imagens Docker da Veracode disponíveis em {% embed https://hub.docker.com/u/veracode %}

Com algum editor de texto, abra o arquivo .bashrc que carrega configurações do usuário a cada vez que o sistema inicializa, exemplo:
```
vim  ~/.bashrc
```

No fim do arquivo, dê alguns espaços e adicione os seguintes comandos para configurar as chamadas dos CLIs pelo terminal

* pipeline scan
```
alias 'veracode-pipeline-scan'='docker run -it --rm -v $PWD:/home/luser -v ~/.veracode/credentials:/home/luser/.veracode/credentials veracode/pipeline-scan:cmd'
```

* api-wrapper-java usado para SAST upload and scan, bem como todas as interações com as APIs XML da Veracode
```
alias 'veracode-api-wrapper'='docker run -it --rm -v $PWD:/home/luser -v ~/.veracode/credentials:/home/luser/.veracode/credentials veracode/api-wrapper-java:cmd'
```

* api-signing para interação com as REST API da Veracode
```
alias 'veracode-http'='docker run -it --rm -v $PWD:/home/luser -v ~/.veracode/credentials:/home/luser/.veracode/credentials veracode/api-signing:cmd'
```

* Após isso, executar o comando abaixo
```
source ~/.brashrc
```

E depois sair da sessão do terminal, ou reiniciar o sistema. 

Agora quando abrir um terminal CMD, poderá então utilizar sempre as versões mais atualizadas da CLI e API wrappers de forma mais fácil.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/49tqaqqwjuo17xdmwr87.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4eps1vwljbnwk801wsqs.png)



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gb4ck5sujr89yartvah0.png)



_Observação: Na primeira vez que executar os comandos, as imagens docker serão baixadas para sua máquina antes de serem executadas de fato_