Community-powered vulnerability scanner built on YAML-based templates for detecting security vulnerabilities across applications, APIs, networks, DNS, and cloud configurations.
Nuclei is a fast, customizable vulnerability scanner powered by the global security community and built on a simple YAML-based DSL. It enables collaboration to tackle trending vulnerabilities on the internet and helps security professionals find vulnerabilities in applications, APIs, networks, DNS, and cloud configurations.
Key Features:
- β‘ Fast and efficient scanning engine
- π§ YAML-based template system
- π Community-driven template library (10,000+ templates)
- π― Multi-target support (web apps, APIs, networks, DNS, cloud)
- π Multiple output formats (JSON, SARIF, etc.)
- π CI/CD integration ready
- Operating System: Linux, macOS, Windows
- Memory: 512MB RAM minimum (2GB+ recommended for large scans)
- Storage: 100MB for binary, additional space for templates
- Network: Internet connection for template updates
- Go: 1.19+ (for building from source)
- Git: For template repository management
- curl/wget: For downloading releases
# Method 1: Download latest release
wget https://github.com/projectdiscovery/nuclei/releases/latest/download/nuclei_3.2.4_linux_amd64.zip
unzip nuclei_3.2.4_linux_amd64.zip
sudo mv nuclei /usr/local/bin/
nuclei -version
# Method 2: Using Go
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# Method 3: Using snap
sudo snap install nuclei# Method 1: Download latest release
curl -LO https://github.com/projectdiscovery/nuclei/releases/latest/download/nuclei_3.2.4_linux_amd64.zip
unzip nuclei_3.2.4_linux_amd64.zip
sudo mv nuclei /usr/local/bin/
nuclei -version
# Method 2: Using Go
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# Method 3: Using RPM (if available)
# Check releases page for RPM packages# Method 1: Using AUR
yay -S nuclei-bin
# Method 2: Using Go
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# Method 3: Manual installation
wget https://github.com/projectdiscovery/nuclei/releases/latest/download/nuclei_3.2.4_linux_amd64.zip
unzip nuclei_3.2.4_linux_amd64.zip
sudo mv nuclei /usr/local/bin/# Method 1: Using Homebrew
brew install nuclei
# Method 2: Download latest release
curl -LO https://github.com/projectdiscovery/nuclei/releases/latest/download/nuclei_3.2.4_macOS_amd64.zip
unzip nuclei_3.2.4_macOS_amd64.zip
sudo mv nuclei /usr/local/bin/
nuclei -version
# Method 3: Using Go
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest# Method 1: Download latest release
# Download nuclei_3.2.4_windows_amd64.zip from releases page
# Extract and add to PATH
# Method 2: Using Chocolatey
choco install nuclei
# Method 3: Using Scoop
scoop install nuclei
# Method 4: Using Go
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latestgit clone https://github.com/projectdiscovery/nuclei.git
cd nuclei/cmd/nuclei
go build -o nuclei .
sudo mv nuclei /usr/local/bin/
nuclei -version# Pull latest image
docker pull projectdiscovery/nuclei:latest
# Run basic scan
docker run --rm projectdiscovery/nuclei:latest -u https://example.comname: nuclei
services:
nuclei:
image: projectdiscovery/nuclei:latest
volumes:
- ./root/config/nuclei:/root/.config/nuclei
- ./rootfs/data/nuclei:/data
ports:
- "172.17.0.1:58001:8080"
networks:
- nuclei
restart: unless-stopped
command: ["nuclei", "-h"]
networks:
nuclei:
external: false# Run with custom templates
docker run --rm -v $(pwd):/data projectdiscovery/nuclei:latest -u https://example.com -t /data/custom-templates/
# Run with output to host
docker run --rm -v $(pwd):/results projectdiscovery/nuclei:latest -u https://example.com -o /results/nuclei-output.txt
# Run with config volume
docker run --rm -v nuclei-config:/root/.config/nuclei projectdiscovery/nuclei:latest -update-templates# Simple vulnerability scan
nuclei -u https://example.com
# Scan multiple targets
nuclei -l targets.txt
# Scan with specific severity
nuclei -u https://example.com -s critical,high
# Update templates before scanning
nuclei -update-templates
nuclei -u https://example.com# Scan with specific templates
nuclei -u https://example.com -t nuclei-templates/cves/
nuclei -u https://example.com -t nuclei-templates/vulnerabilities/
# Custom template usage
nuclei -u https://example.com -t custom-template.yaml
# Scan with rate limiting
nuclei -u https://example.com -rate-limit 100
# Parallel scanning
nuclei -l targets.txt -c 25
# Output formats
nuclei -u https://example.com -json -o results.json
nuclei -u https://example.com -sarif -o results.sarif# List available templates
nuclei -tl
# Update templates
nuclei -update-templates
# Run specific template tags
nuclei -u https://example.com -tags sqli,xss
# Exclude specific templates
nuclei -u https://example.com -exclude-tags dos# Basic CI scan (exit on findings)
nuclei -u https://staging.example.com -s high,critical -exit-on-found
# Generate reports for CI
nuclei -u https://example.com -json -o nuclei-report.json -s medium,high,criticalTemplates not found:
# Update templates
nuclei -update-templates
# Check template location
nuclei -tl | head -10Connection timeouts:
# Increase timeout
nuclei -u https://example.com -timeout 30
# Reduce rate limit
nuclei -u https://example.com -rate-limit 10Permission denied (Linux):
# Fix binary permissions
chmod +x nuclei
sudo mv nuclei /usr/local/bin/Memory issues:
# Reduce concurrent threads
nuclei -l targets.txt -c 10
# Use streaming mode for large scans
nuclei -l targets.txt -stream# Optimize for large target lists
nuclei -l targets.txt -c 50 -rate-limit 150 -timeout 10
# Use bulk processing
nuclei -l targets.txt -bulk-size 25
# Enable HTTP pipeline
nuclei -u https://example.com -http-pipeline# Enable verbose output
nuclei -u https://example.com -verbose
# Debug mode
nuclei -u https://example.com -debug
# Show statistics
nuclei -u https://example.com -stats- π Official Documentation
- π₯ Video Tutorials
- π Template Writing Guide
- π Bug Reports
- π¬ Community Discord
- π Blog Posts
- π Nuclei Academy
- π Template Examples
- π§ Custom Template Development
- π Advanced Usage Patterns
- π¦ Source Code: https://github.com/projectdiscovery/nuclei
- π Official Website: https://projectdiscovery.io/nuclei
- π License: MIT License