Como corrigir vulnerabilidades de software automaticamente com o Veracode Fix
Tags: veracode, fix, vulnerabilities, cybersecurity
Published: 2023-11-30 19:51:15

O tutorial a seguir tem por objetivo mostrar como realizar o scan e a correção automática de vulnerabilidades utilizando o Veracode FIX

---

### LINGUAGENS E VULNERABILIDADES SUPORTADAS
1. JAVA: https://docs.veracode.com/r/veracode_fix
2. C# https://docs.veracode.com/r/veracode_fix
3. JS/TS https://docs.veracode.com/r/veracode_fix#javascript-and-typescript

---

#### CONFIGURAR AS CREDENCIAIS API NA ESTAÇÃO DE TRABALHO

* Windows
https://docs.veracode.com/r/t_configure_credentials_windows

* Linux/Mac
https://docs.veracode.com/r/t_configure_credentials_mac

---

####IMPORTANTE! 
seguir as orientações de empacotamento da Veracode para realização do scan:

* Geral:
https://docs.veracode.com/r/compilation_packaging
* Java:
https://docs.veracode.com/r/compilation_java
* JavaScript / TypeScript:
https://docs.veracode.com/r/compilation_jscript
* C# / .NET:
https://docs.veracode.com/r/compilation_net

`1.  Para aplicações Java, realizar a compilação para gerar o (.war ou .jar ou .ear)`
`2. Para .NET, executar o build, e criar um zip a pasta com as DLLs e pdb files`
`3. Para JavaScript e TypeScript, criar um zip a pasta com os arquivos de código da aplicação`

---

#### BAIXAR O VERACODE CLI PARA UTILIZAR O FIX

* Mac/Linux/Windows com WSL
```
curl -fsS https://tools.veracode.com/veracode-cli/install | sh
```

* Deixar o binário executavel
```
chmod +x veracode
```
* Rodar o comando abaixo para configurar a CLI e indicar as credenciais API (as mesmas utilizadas no arquivo de credenciais configurado no passo 1)

```
./veracode configure
```
Quando for perguntado pelo apiID e apiKEY, inserir suas credenciais de API, conforme abaixo:

```
Configuring credentials for the Veracode CLI ...
API ID [Your Veracode API ID]
API Secret Key [Your Veracode Secret Key]  
Validated API credentials successfully.
Wrote configuration to /$HOME/.veracode/veracode.yml
```

---

#### EXECUTAR A CLI PARA FAZER O STATIC SCAN

Iremos primeiramente realizar um scan SAST em nosso app para armazenar os resultados de vulnerabilidades que serão utilizados posteriormente nas correções

```
./veracode static scan <<caminho da sua aplicação empacotada/compilada>>
```

Exemplo usando Java:

```
./veracode static scan app.war
```

Exemplo usando C#/.NET ou JavaScript/Typescript:
```
./veracode static scan app.zip
```

Após isso, o scanner irá salvar os resultados dentro do **results.json**

---

#### EXECUTAR A CLI PARA FAZER O FIX

* Após executar o scan, iremos avaliar em qual(ais) arquivos vulneráveis da app iremos iniciar as correções

* Para iniciar a correção, basta executar o comando com a sintaxe:
 
`veracode fix --results <<local onde está o results.json gerado no static scan>> <<caminho exato do arquivo da app que iremos fazer as correções>>` 

Exemplo:

```
./veracode fix --results verademo/docs/scan_results/results.json verademo/app/src/main/java/com/veracode/verademo/commands/IgnoreCommand.java
```

* Após terminar, basta analisar qual vulnerabilidade você irá começar a corrigir,  passar a ele o "ISSUEID" indicado na tela, como 1010 ou 1020, etc... e, aguardar a consulta na base de inteligência interna da Veracode.

* Após isso, irá surgir as sugestões de correção no código fonte, onde você poderá analisar e escolher qual será aplicada em seu código

---


Mais informações:

https://www.veracode.com/fix
https://docs.veracode.com/r/veracode_fix
https://docs.veracode.com/r/Fix_Quickstart