
Сканирование уязвимостей с помощью Nuclei
Это Nuclei Action упрощает оркестрацию Nuclei с помощью GitHub Action. Интегрируйте все ваши Nuclei Templates в мощные непрерывные рабочие процессы безопасности и сделайте их частью вашего безопасного цикла разработки ПО.
Nuclei Action
v3.0.0+ работает на Node.js v24 и использует CLI-ориентированный интерфейс, принимая входные данные такие как version, install-only, args и т.д., и выходные данные только в stdout и .stderrv2.0.0+ и v2.x полагаются на специфичные для action входные данные, такие как target, urls, templates, workflows, flags и различные переключатели экспорта/отчетности; v2.x устарели и не поддерживаются после 1 марта 2026 года. См. MIGRATION.md перед обновлением.v1+ работает на Node.js v16 и использует входные данные такие как target, urls, templates, workflows, output, json, include-rr, config, report-config, github-report, github-token, sarif-export, markdown-export и flags.| имя | описание | обязателен | по умолчанию |
|---|---|---|---|
version | Установка с указанием версии ("latest" или в формате "vX.Y.Z"). | true | latest |
install-only | Установка Nuclei без запуска сканирования. | false | false |
args | Аргументы для передачи Nuclei. | false | "" |
config | Содержимое файла конфигурации Nuclei. | false | "" |
config-path | Путь к файлу конфигурации Nuclei. | false | "" |
cache | Включение кэширования кэшей, конфигураций, шаблонов и браузера Nuclei. | false | true |
token | GitHub Token. Используется для получения релизов Nuclei с GitHub. | true | ${{ github.token }} |
[!IMPORTANT]
configиconfig-pathне должны быть установлены вместе.argsвсегда имеют приоритет надconfigилиconfig-path.
[!NOTE] Когда включена отладка логирования, это action автоматически добавляет флаги
-debugи-verboseк Nuclei.
| имя | описание |
|---|---|
stdout | Стандартный вывод при запуске Nuclei |
stderr | Стандартная ошибка при запуске Nuclei |
Это action является node24 action.
- uses: projectdiscovery/nuclei-action@v3
with:
version:
# Setup with specific version ("latest" or in format "vX.Y.Z").
#
# Required: true
# Default: latest
install-only:
# Install Nuclei without running scans.
#
# Required: false
# Default: false
args:
# Arguments to pass to Nuclei.
#
# Required: false
# Default: ""
config:
# Nuclei configuration file content.
#
# Required: false
# Default: ""
config-path:
# Path to Nuclei configuration file.
#
# Required: false
# Default: ""
cache:
# Enable caching of Nuclei caches, configs, templates, and browser.
#
# Required: false
# Default: true
token:
# GitHub Token. It is used to fetch Nuclei releases from GitHub.
#
# Required: true
# Default: ${{ github.token }}
Базовая настройка (последняя версия Nuclei)
- uses: projectdiscovery/nuclei-action@v3
with:
args: -u http://scanme.sh
Настройка с указанием версии
- uses: projectdiscovery/nuclei-action@v3
with:
version: v3.6.0
args: -u http://scanme.sh
Настройка или установка Nuclei без запуска сканирования
- uses: projectdiscovery/nuclei-action@v3
with:
version: v3.6.0
install-only: true
- run: nuclei -version
или только установка без кэша:
- uses: projectdiscovery/nuclei-action@v3
with:
version: v3.6.0
install-only: true
cache: false
- run: nuclei -version
Настройка с конфигурацией Nuclei
- uses: projectdiscovery/nuclei-action@v3
with:
version: latest
config: |
target:
- http://scanme.sh
sarif-export: results.sarif
или передайте через переменные:
- uses: projectdiscovery/nuclei-action@v3
with:
version: latest
config: ${{ vars.NUCLEI_CONFIG }}
или через файл конфигурации, управляемый репозиторием:
- uses: projectdiscovery/nuclei-action@v3
with:
version: latest
config-path: path/to/nuclei.yaml
Настройка с сканированием кода 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
Настройка с отчетностью
- 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 (файл репозитория):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
См. https://github.com/projectdiscovery/nuclei/blob/dev/cmd/nuclei/issue-tracker-config.yaml.
Мы приветствуем вклад! Пожалуйста, ознакомьтесь с нашим Руководством по участию, чтобы узнать, как начать.
MIT. Подробнее см. в LICENSE.