Third Party Dependency Analysis

Ogni libreria terza parte utilizzata da GovWay viene sottoposta a verifica di possibile presenza di vulnerabilità di sicurezza note tramite il tool OWASP Dependency-Check. la cui configurazione può essere consultata nel file mvn/dependencies/pom.xml.

Il tool è configurato per utilizzare le seguenti base dati di vulnerabilità note:

L’analisi viene effettuata in automatico ad ogni commit sul master dei sorgenti del progetto, come descritto nella sezione OWASP Dependency-Check Jenkins Plugin.

La verifica può essere attivata anche manualmente, effettuando il checkout dei sorgenti del progetto GovWay come descritto nella sezione OWASP Dependency-Check Maven Plugin.

Nel caso in cui il processo di verifica, descritto nella sezione OWASP Dependency-Check Jenkins Plugin, rilevasse una vulnerabilità, viene avviata una gestione della vulnerabilità come descritto in Introduzione.

Altrimenti, se a valle dell’analisi della vulnerabilità rilevata, si riscontrasse un falso positivo (Falsi Positivi), questa verrebbe registrata come tale nella configurazione del tool OWASP Dependency-Check, in modo che successive verifiche non ne segnalino più la presenza. Maggiori dettagli sulla modalità di registrazione dei falsi positivi nel tool OWASP Dependency-Check vengono forniti nella sezione OWASP Dependency-Check Falsi Positivi.

Nota

Per evitare che il progetto erediti possibili vulnerabilità da software terze parti non utilizzati, tutte e sole le librerie terza parte utilizzate nel progetto govway sono definite puntualmente nei file mvn/dependencies/*/pom.xml.

Per ognuna di tali librerie, maven è configurato per il download puntuale del solo archivio jar interessato, escludendo esplicitamente il download ricorsivo degli archivi jar indicati come dipendenze, utilizzando l’elemento “exclusions”, come mostrato di seguito:

<dependency>
        <groupId>...</groupId>
        <artifactId>....</artifactId>
        <version>....</version>
        <exclusions>
                <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                </exclusion>
        </exclusions>
</dependency>