Быстрый и настраиваемый сканер уязвимостей на основе простого DSL на YAML.
Сканирование уязвимостей с помощью Nuclei

Как это работает
- Плагин загружает последний релиз Nuclei с GitHub, исходя из операционной системы и архитектуры билд-исполнителя
- Загруженный артефакт распаковывается
- Если текущий выполняемый билд уже содержит бинарник Nuclei в своей рабочей области, первые два шага пропускаются
- Шаблоны Nuclei загружаются/обновляются
- Сканирование выполняется с использованием предоставленного пользователем ввода
Использование
- Создайте или отредактируйте проект Freestyle
- Добавьте шаг сборки Nuclei Vulnerability Scanner
- Укажите URL-адрес целевого веб-приложения, которое вы собираетесь протестировать
- Опционально:
- добавьте конфигурацию отчетности, позволяющую автоматически создавать задачи на таких платформах, как Jira и GitHub.
Используя дополнительные флаги ниже, вы можете повысить уровень логирования для отладки потенциальных проблем с интеграциями трекера задач.
- добавьте дополнительные аргументы CLI (например,
-v, -debug)
- По умолчанию этот плагин использует последнюю выпущенную версию Nuclei.
В редком случае, когда новая мажорная версия несовместима с CLI-интерфейсом, используемым плагином, вы можете вручную выбрать более старую версию для временного обхода проблемы.
Пожалуйста, создайте тикет для запроса обновления плагина.

Сборка вручную
- Вы можете собрать код с помощью Maven в корневом каталоге, где находится
pom.xml.
mvn clean package -DskipTests
- Собранный артефакт можно найти в
./target/nuclei.hpi
- Вы можете запустить развёртывание Jenkins с предустановленным плагином, используя:
mvn hpi:run
- Для включения отладки используйте
mvnDebug hpi:run, затем подключите удалённый отладчик, добавив следующие параметры в вашу конфигурацию запуска: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000
Перед созданием pull request обязательно выполните следующие шаги:
- Запустите тесты в проекте (удалите флаг
-DskipTests)
- Протестируйте плагин в полноценном экземпляре Jenkins:
- Вы можете «установить» плагин, скопировав/перезаписав файл
nuclei.hpi в папку <jenkins_install_dir>/plugins (например, /var/lib/jenkins/plugins/nuclei.hpi)
- Убедитесь, что служба Jenkins перезапущена (
sudo service jenkins restart)
- Протестируйте выполнение плагина как на главном узле (Primary), так и на удалённых агентах
Начать с чистого листа
- Удалите скомпилированные классы и созданные артефакты в папке
target: mvn clean
- Удалите конфигурацию Nuclei для текущего пользователя (если есть):
rm -rf ~/.config/nuclei
- Удалите конфигурацию Nuclei для пользователя jenkins (если есть):
sudo rm -rf <jenkins_install_dir>/.config/nuclei (например, /var/lib/jenkins/.config/nuclei)
- Удалите бинарник Nuclei, его шаблоны и сгенерированный результат:
sudo rm -rf <jenkins_install_dir>/workspace/<build_name>/nuclei*
- Подключитесь к удалённому агенту и выполните то же самое
Ограничения
- Поддерживаются только проекты Freestyle (без пайплайнов)
- Нет встроенного бинарника сканера; агенты требуют доступа в интернет
Документация Nuclei