
Vulnerability Scan with Nuclei
Cette action Nuclei facilite l'orchestration de Nuclei avec GitHub Action. Intégrez tous vos Modèles Nuclei dans des workflows de sécurité continus puissants et faites-en partie de votre cycle de développement logiciel sécurisé.
Nuclei Action
v3.0.0+ s'exécute sur Node.js v24 et adopte une interface en ligne de commande prioritaire, acceptant des entrées comme version, install-only, args, etc., et ne produisant des sorties que vers stdout et stderr.v2.0.0+ et v2.x utilisent des entrées spécifiques à l'action comme target, urls, templates, workflows, flags, et divers bascules d'exportation/rapport ; v2.x sont dépréciées et non supportées après le 1er mars 2026. Voir MIGRATION.md avant de mettre à niveau.v1+ s'exécute sur Node.js v16 et utilise des entrées comme target, urls, templates, workflows, output, json, include-rr, config, report-config, github-report, github-token, sarif-export, markdown-export, et flags.[!IMPORTANT]
configetconfig-pathne doivent pas être définis ensemble.argsa toujours priorité surconfigouconfig-path.
[!NOTE] Lorsque la journalisation de débogage est activée, cette action ajoute automatiquement les flags
-debuget-verboseà Nuclei.
| nom | description |
|---|---|
stdout | La sortie standard de l'exécution de Nuclei |
stderr | L'erreur standard de l'exécution de Nuclei |
Cette action est une action node24.
- uses: projectdiscovery/nuclei-action@v3
with:
version:
# Configurer avec une version spécifique ("latest" ou au format "vX.Y.Z").
#
# Requis: true
# Défaut: latest
install-only:
# Installer Nuclei sans exécuter de scans.
#
# Requis: false
# Défaut: false
args:
# Arguments à passer à Nuclei.
#
# Requis: false
# Défaut: ""
config:
# Contenu du fichier de configuration Nuclei.
#
# Requis: false
# Défaut: ""
config-path:
# Chemin vers le fichier de configuration Nuclei.
#
# Requis: false
# Défaut: ""
cache:
# Activer la mise en cache des caches, configurations, modèles et navigateur de Nuclei.
#
# Requis: false
# Défaut: true
token:
# Jeton GitHub. Il est utilisé pour récupérer les versions de Nuclei depuis GitHub.
#
# Requis: true
# Défaut: ${{ github.token }}
Configuration par défaut (dernière Nuclei)
- uses: projectdiscovery/nuclei-action@v3
with:
args: -u http://scanme.sh
Configuration avec une version spécifique
- uses: projectdiscovery/nuclei-action@v3
with:
version: v3.6.0
args: -u http://scanme.sh
Configurer ou installer Nuclei sans exécuter de scans
- uses: projectdiscovery/nuclei-action@v3
with:
version: v3.6.0
install-only: true
- run: nuclei -version
ou installer seulement et sans cache :
- uses: projectdiscovery/nuclei-action@v3
with:
version: v3.6.0
install-only: true
cache: false
- run: nuclei -version
Configuration avec un fichier de configuration Nuclei
- uses: projectdiscovery/nuclei-action@v3
with:
version: latest
config: |
target:
- http://scanme.sh
sarif-export: results.sarif
ou le passer via des variables :
- uses: projectdiscovery/nuclei-action@v3
with:
version: latest
config: ${{ vars.NUCLEI_CONFIG }}
ou via un fichier de configuration géré par le dépôt :
- uses: projectdiscovery/nuclei-action@v3
with:
version: latest
config-path: path/to/nuclei.yaml
Configuration avec l'analyse de code GitHub
- uses: projectdiscovery/nuclei-action@v3
with:
version: latest
config: |
target:
- http://scanme.sh
sarif-export: results.sarif
- uses: github/codeql-action/upload-sarif@v3
if: success()
with:
sarif_file: results.sarif
category: nuclei-results
Configuration avec rapport
- uses: projectdiscovery/nuclei-action@v3
with:
args: -u http://scanme.sh
config: |
report-config: issue-tracker-config.yaml
env:
GITHUB_BASE_URL: https://localhost:8443/github
GITHUB_USERNAME: test-username
GITHUB_OWNER: test-owner
GITHUB_TOKEN: ${{ secrets.GITHUB_PAT }}
GITHUB_PROJECT_NAME: test-project
issue-tracker-config.yaml (fichier du dépôt) :github:
# base-url is the optional self-hosted GitHub application url
base-url: $GITHUB_BASE_URL # read from environment variable
# username is the username of the GitHub user
username: $GITHUB_USERNAME # read from environment variable
# owner is the owner name of the repository for issues
owner: $GITHUB_OWNER # read from environment variable
# token is the token for GitHub account
token: $GITHUB_TOKEN # read from environment variable
# project-name is the name of the repository
project-name: $GITHUB_PROJECT_NAME # read from environment variable
# issue-label is the label of the created issue type
issue-label: bug
# allow-list sets a tracker level filter to only create issues for templates with
# these severity labels or tags (does not affect exporters. set those globally)
allow-list:
severity: high, critical
tags: network
# deny-list sets a tracker level filter to never create issues for templates with
# these severity labels or tags (does not affect exporters. set those globally)
deny-list:
severity: low
# duplicate-issue-check flag to enable duplicate tracking issue check.
duplicate-issue-check: false
Voir https://github.com/projectdiscovery/nuclei/blob/dev/cmd/nuclei/issue-tracker-config.yaml.
Nous accueillons les contributions ! Veuillez consulter notre Guide de contribution pour plus de détails sur la façon de commencer.
MIT. Voir LICENSE pour plus de détails.
| nom | description | requis | défaut |
|---|
version | Configurer avec une version spécifique ("latest" ou au format "vX.Y.Z"). | true | latest |
install-only | Installer Nuclei sans exécuter de scans. | false | false |
args | Arguments à passer à Nuclei. | false | "" |
config | Contenu du fichier de configuration Nuclei. | false | "" |
config-path | Chemin vers le fichier de configuration Nuclei. | false | "" |
cache | Activer la mise en cache des caches, configurations, modèles et navigateur de Nuclei. | false | true |
token | Jeton GitHub. Il est utilisé pour récupérer les versions de Nuclei depuis GitHub. | true | ${{ github.token }} |