GiaMaL 0.0.1
Provide explanation and remediation for SAST in Fortify
License: MIT

# (Nome App da definire)

## ***Descrizione***
Il presente repository contiene gli script che sostituiscono antonia nella compilazione delle Explanation e delle Remediation ma al tempo stesso permette di lavorare e fornire i Feedback direttamente sull'FPR, gli step del processo di analisi si trasformano come di seguito:
1. Aggiungere il file del custom template con il nome defaulttemplate.xml, inserito nella folder Utility, alle seguente directory:
   
   1. <sca_install_dir>/Core/config/filters/
   1. <sca_install_dir>/Core/config/rules/

Una volta aggiunto il default template alle directory scritte sopra, aprire l'FPR e controllare se i tag siano "Vulnerable", "False Positive", "Information". Se l'import non Ã¨ riuscito correttamenente si rimanda al paragrafo per i problemi di import ([Problemi con import dei tags](README.md#problemi-con-import-dei-tags)), al contrario, Ã¨ possibile procedere con i prossimi step.

1. Eseguire l'analisi aggiungendo ad ogni vulnerabilitÃ  trovata i vari tags aggiunti;

    1. Se l'analisi viene effettuata da piÃ¹ persone Ã¨ necessario lavorare su copie locali e poi effettuare il merge degli fpr seguendo il procedimento indicato nella seguente guida [Merge Fpr](Merge.md)  

1. Esportare il file xml una volta finita l'analisi;

1. Eseguire lo script "provaDeleteAntonia.py", di seguito riportiamo un esempio (si rimanda al paragrafo seguente per l'installazione dei moduli [Installazione](README.md#installazione-moduli-python)):

```
python .\provaDeleteAntonia.py -p <path> -x <xmlFile> -o <fileOutput>
```


```
python .\provaDeleteAntonia.py -h

required arguments:
  -p Path to folder that must contains xml file and where the output file will be created.
  -x Name of the xml file
  -o Name of the Excel file in output
```

Il file in output sarÃ  completo di Security Feedback, Explanation, Remediation, Pivot Table, sheet di Owasp e con lo stesso look grafico del precedente Template. Va invece creato a mano il Pivot Chart (feature da aggiungere).
Di seguito Ã¨ riportato un esempio di report creato dallo script:

![SheetStatus](Utility\sheet_status.png)


![SheetVulnerabilitÃ ](Utility\sheet_vulnerabilitÃ .png)

<br>

## ***Problemi con import dei tags***

Sono disponibili due modi per aggiungere i tag corretti.

Il primo e piÃ¹ immediato Ã¨ descritto nei seguenti steps:

1. Cliccare su tools, project configurations, import ed importare il file del default template del paragrafo precedente.
    ![ImportTag](Utility\importTags.png)

Se anche questo metodo fallisce Ã¨ necessario crearli a mano come descritto di seguito:

1. Aggiungere i tag all'FPR come mostrato nelle seguenti figure
    ![Edit](Utility\screen_edit.jpg)
    Spuntare la checkbox "Extensible" e aggiungere i tre tag tramite il bottone "+"

    ![Tag Values](Utility\tag_values.jpg)
2. Selezionare il feedback come in figura per tutte le vulnerabilitÃ  (anche per le **Information**)
    ![Feedback](Utility\feedback.png)

<br>

## ***Installazione moduli Python***

1. Crea virtual environment e attivazione (Opzionale)

```
python -m venv venv
Set-ExecutionPolicy -Scope Process Unrestricted
.\venv\Scripts\activate
```
2. Installare i moduli dal file requirements.txt

```
pip install -r requirements.txt
```