
Nuclei is a fast, template-based vulnerability scanner designed to automate the detection of security vulnerabilities and misconfigurations across modern applications and infrastructure. It utilizes a vast library of community-driven YAML templates to perform targeted scans, allowing security researchers and DevOps teams to identify exposures and known CVEs with high precision and speed.
Installation
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latestbrew install nucleidocker pull projectdiscovery/nuclei:latestgit clone https://github.com/projectdiscovery/nuclei.gitcd nuclei/cmd/nucleigo buildmv nuclei /usr/local/bin/nuclei -versiongit clone https://github.com/projectdiscovery/nuclei.gitcd nuclei/helmhelm upgrade --install nuclei . -f values.yamlUpdating Templates
nuclei -update-templates #Update nuclei templates to latest versionnuclei -ut #Shortcut to update templatesnuclei -update #Update nuclei binarynuclei -tl #List installed templatesBasic Usage
nuclei -u https://example.com #Scan a single targetnuclei -u https://target.com -v #Scan target with verbose outputnuclei -u https://target.com -fr #Scan target and follow redirectsnuclei -l targets.txt #Scan multiple targets from filenuclei -u https://example.com -t vulnerabilities/ #Run vulnerability templatesnuclei -u https://example.com -severity critical,high #Scan for critical/high vulnerabilitiesnuclei -u https://target.com -timeout 15 -retries 3 #Scan with timeout and retriesnuclei -u https://target.com -stream #Stream scan (faster large input processing)nuclei -u https://target.com -p http://127.0.0.1:8080 #Route traffic through BurpTarget Input Options
nuclei -u https://example.com #Scan a single URLnuclei -l targets.txt #Scan targets from listcat urls.txt | nuclei #Pipe targets into nucleisubfinder -d example.com | nuclei #Scan discovered subdomainsecho https://example.com | nuclei #Scan piped inputnuclei -resume resume.cfg #Resume a previous scannuclei -u example.com -iv 4 #Scan IPv4 onlynuclei -u example.com -iv 4,6 #Scan both IPv4 and IPv6Template Selection
nuclei -u https://example.com -t cves/ #Run CVE templatesnuclei -u https://example.com -t exposures/ #Run exposure templatesnuclei -u https://example.com -t misconfiguration/ #Run misconfiguration templatesnuclei -u https://example.com -t vulnerabilities/ #Run vulnerability templatesnuclei -u https://example.com -t technologies/ #Run technology detection templatesSeverity Filtering
nuclei -u https://example.com -severity critical #Scan only critical vulnerabilitiesnuclei -u https://example.com -severity high,critical #Scan high and critical findingsnuclei -u https://example.com -severity medium,high #Scan medium and high severity templatesnuclei -u https://example.com -s critical #Short option for severity filterTemplate Tags
nuclei -u https://example.com -tags cve #Run templates tagged with CVEnuclei -u https://example.com -tags rce #Scan for remote code execution vulnerabilitiesnuclei -u https://example.com -tags lfi #Scan for Local File Inclusion vulnerabilitiesnuclei -u https://example.com -tags sqli #Scan for SQL injection vulnerabilitiesnuclei -u https://example.com -tags xss #Scan for Cross-Site Scripting vulnerabilitiesTechnology Detection
nuclei -u https://example.com -t technologies/ #Detect technologies used by targetnuclei -u https://example.com -as #Automatic scan using tech detectionnuclei -u https://example.com -tags tech #Run technology detection templatesRunning Specific Templates
nuclei -u https://example.com -t cves/2021/ #Run CVE templates from 2021nuclei -u https://example.com -t cves/CVE-2021-44228.yaml #Run specific templatenuclei -u https://example.com -t http/exposures/ #Run HTTP exposure templatesnuclei -u https://example.com -t dns/ #Run DNS templatesWorkflow Scans
nuclei -u https://example.com -w workflows/ #Run nuclei workflowsnuclei -l targets.txt -w workflows/ #Run workflow scan on multiple targetsnuclei -u https://example.com -w workflows/wordpress-workflow.yaml #Run WordPress workflowPerformance Tuning
nuclei -l targets.txt -c 50 #Set concurrency to 50nuclei -l targets.txt -rate-limit 200 #Limit requests per secondnuclei -l targets.txt -rlm 1000 #Limit requests per minutenuclei -l targets.txt -bs 100 #Increase bulk host processingnuclei -l targets.txt -timeout 10 #Set request timeoutnuclei -l targets.txt -retries 2 #Retry failed requestsnuclei -l targets.txt -rl 20 -c 10 #Slow safe scanningnuclei -l targets.txt -rl 500 -c 200 #High speed scanningStealth & Evasion
nuclei -u https://example.com -random-agent #Use random user agentnuclei -u https://example.com -proxy http://127.0.0.1:8080 #Use HTTP proxynuclei -u https://example.com -proxy socks5://127.0.0.1:9050 #Use SOCKS proxynuclei -u https://example.com -H "X-Forwarded-For: 127.0.0.1" #Add custom headerCustom Headers
nuclei -u https://example.com -H "Authorization: Bearer TOKEN" #Add authorization headernuclei -u https://example.com -H "Cookie: session=abc123" #Send session cookienuclei -u https://example.com -H "User-Agent: Mozilla/5.0" #Custom user agentAuthentication Scans
nuclei -u https://example.com -H "Cookie: sessionid=12345" #Scan authenticated sessionnuclei -u https://example.com -H "Authorization: Basic dXNlcjpwYXNz" #Basic authenticationnuclei -u https://example.com -header "Authorization: Bearer TOKEN" #Bearer token authenticationOutput Options
nuclei -u https://example.com -o results.txt #Save output to filenuclei -l targets.txt -json -o results.json #Export results as JSONnuclei -u https://example.com -silent #Show only resultsnuclei -u https://example.com -nc #No color outputDebugging & Verbose Mode
nuclei -u https://example.com -v #Verbose outputnuclei -u https://example.com -debug #Debug outputnuclei -u https://example.com -stats #Show scan statisticsnuclei -u https://example.com -trace #Trace requestsChaining With Other Tools
Subdomain Enumeration
subfinder -d example.com | nuclei #Scan discovered subdomainsassetfinder example.com | nuclei #Scan assetfinder resultsamass enum -d example.com | nuclei #Scan amass resultsURL Discovery
gau example.com | nuclei #Scan historical URLswaybackurls example.com | nuclei #Scan Wayback Machine URLskatana -u https://example.com | nuclei #Scan crawler resultsecho 10.1.1.0/24 | httpx -silent | nuclei #Scan httpx resultsBug Bounty Recon Pipelines
subfinder -d target.com | httpx | nuclei #Subdomain discovery → HTTP probe → Nuclei scansubfinder -d target.com | httpx -silent | nuclei -silent #Scan only alive HTTPS servicessubfinder -d target.com | httpx -silent | nuclei -s high,critical #Subdomains → httpx → high/critical vulnerabilitiessubfinder -d target.com | httpx -silent | nuclei -as #Subdomains → tech detection → vulnerability scansubfinder -d target.com | httpx -silent | nuclei -rl 100 -c 50 #Scan discovered services with rate limitingsubfinder -d target.com | httpx -silent | nuclei -json -o nuclei_results.json #Full recon pipeline with output storage



