Nuclei
Fast and customizable vulnerability scanner based on simple YAML based DSL. Sends requests across targets using templates for zero false positives and fast scanning on large number of hosts.
Description
Nuclei is a fast tool for configurable targeted scanning based on templates offering massive extensibility and ease of use. It is used to send requests across targets based on a template leading to zero false positives and providing fast scanning on a large number of hosts. Nuclei offers scanning for a variety of protocols including TCP, DNS, HTTP, File, etc. With powerful and flexible templating, all kinds of security checks can be modelled with Nuclei.
The tool focuses on extensive configurability, massive extensibility and ease of use. It supports features like automatic web scanning with wappalyzer technology detection, AI-generated templates, workflows, filtering by tags/authors/IDs, rate limiting, headless browser support, interactsh for OAST testing, fuzzing/DAST modes, and uncover for passive reconnaissance.
Nuclei is suitable for vulnerability scanning in security assessments, continuous integration pipelines, and large-scale network scans due to its speed and low false positive rate.
How It Works
Nuclei operates by executing YAML-based templates that define requests and matchers for specific protocols like TCP, DNS, HTTP, File. Templates are applied to target URLs/hosts, with clustering and parallel execution for efficiency. It uses Interactsh for out-of-band interaction testing, supports headless browsers for JavaScript-heavy checks, and employs DSL for custom logic. Fuzzing and DAST modes enable dynamic analysis, while uncover integrates passive sources for target discovery. Configurations control rate limits, retries, redirects, and output formats including JSONL and Markdown.
Installation
sudo apt install nucleiFlags
Examples
nuclei -target example.comnuclei -target example.com -t http/cves/ -t sslnuclei -list hosts.txtnuclei -target example.com -json-export output.jsonMARKDOWN_EXPORT_SORT_MODE=template nuclei -target example.com -markdown-export nuclei_report/nuclei -target example.com -tags cvenuclei -list hosts.txt -o results.txt -silent