Scanner di vulnerabilità veloce e personalizzabile basato su un semplice DSL YAML.
Scansione delle vulnerabilità con Nuclei

Come funziona
- Il plugin scarica l'ultima versione di Nuclei da GitHub, in base al sistema operativo e all'architettura dell'executor di build
- L'artefatto scaricato viene decompresso
- Se la build in esecuzione dispone già di un binario di Nuclei all'interno del proprio workspace, i primi due passaggi vengono saltati
- I Nuclei Templates vengono scaricati/aggiornati
- La scansione viene eseguita utilizzando l'input fornito dall'utente
Utilizzo
- Creare o modificare un progetto Freestyle
- Aggiungere un passaggio di build Nuclei Vulnerability Scanner
- Inserire l'URL dell'applicazione web target che si intende testare
- Opzionalmente:
- aggiungere la configurazione di reporting che consente la creazione automatica di issue su piattaforme come Jira e GitHub.
Utilizzando i flag aggiuntivi riportati di seguito, è possibile aumentare il livello di log per eseguire il debug di potenziali problemi con le integrazioni dei tracker delle issue.
- aggiungere argomenti CLI aggiuntivi (ad es.
-v, -debug)
- Per impostazione predefinita, questo plugin utilizza l'ultima versione rilasciata di Nuclei.
Nel raro caso in cui una nuova versione major non sia retrocompatibile con l'interfaccia CLI utilizzata dal plugin, è possibile scegliere manualmente una versione precedente per aggirare temporaneamente il problema.
Si prega di creare un ticket per richiedere l'aggiornamento del plugin.

Compilazione manuale
- Puoi compilare il codice usando Maven nella directory principale in cui si trova il
pom.xml.
mvn clean package -DskipTests
- L'artefatto compilato si trova in
./target/nuclei.hpi
- Puoi avviare una distribuzione Jenkins con il plugin preinstallato usando:
mvn hpi:run
- Per abilitare il debug usa
mvnDebug hpi:run, quindi collega un debugger remoto aggiungendo i seguenti parametri alla tua configurazione di esecuzione: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000
Prima di creare una pull request, assicurati di eseguire i seguenti passaggi:
- Esegui i test all'interno del progetto (rimuovi il flag
-DskipTests)
- Testa il plugin in un'istanza Jenkins completa:
- Puoi "installare" il plugin copiando/sovrascrivendo il file
nuclei.hpi all'interno di <jenkins_install_dir>/plugins (ad es. /var/lib/jenkins/plugins/nuclei.hpi)
- Assicurati di riavviare il servizio Jenkins (
sudo service jenkins restart)
- Testa l'esecuzione del plugin anche sul nodo Primary (master) e sugli agenti remoti
Ripartire da zero
- Elimina le classi compilate e gli artefatti generati nella cartella
target: mvn clean
- Rimuovi la configurazione di Nuclei dell'utente corrente (se presente):
rm -rf ~/.config/nuclei
- Rimuovi la configurazione di Nuclei dell'utente jenkins (se presente):
sudo rm -rf <jenkins_install_dir>/.config/nuclei (ad es. /var/lib/jenkins/.config/nuclei)
- Rimuovi il binario di Nuclei, i suoi template e l'output generato:
sudo rm -rf <jenkins_install_dir>/workspace/<build_name>/nuclei*
- Connettiti all'agente remoto e fai lo stesso
Limitazioni
- Supporto solo per progetti Freestyle (niente pipeline)
- Nessun binario di scanner incluso, gli agenti richiedono accesso a Internet
Documentazione di Nuclei