Core capabilities
Nuclei is designed for modern security teams who need fast, accurate, and customizable vulnerability detection.YAML-based templates
Nuclei’s template system is its most powerful feature. Templates are written in simple YAML format, making them:Easy to write - No programming required, just YAML syntax
Human-readable - Templates are self-documenting and easy to review
Shareable - Templates work across all platforms and Nuclei versions
Customizable - Adapt existing templates or create new ones easily
Multi-protocol support
Unlike traditional scanners limited to HTTP, Nuclei supports multiple protocols out of the box:- HTTP/HTTPS
- DNS
- Network/TCP
- SSL/TLS
- WebSocket
- WHOIS
- JavaScript
- Code
- File
Full HTTP protocol support with:
- Custom headers and cookies
- Multiple HTTP methods (GET, POST, PUT, DELETE, etc.)
- Request/response manipulation
- Follow redirects control
- Raw HTTP requests
Zero false positives
Nuclei reduces false positives through:Multi-step verification
Templates can perform multiple verification steps to confirm a vulnerability exists, not just pattern matching.
Dynamic matchers
Use DSL (Domain Specific Language) functions to validate responses dynamically based on context.
Real-world simulation
Templates simulate actual exploitation steps to verify vulnerabilities are exploitable.
By simulating real-world exploitation steps, Nuclei significantly reduces false positives compared to signature-based scanners.
High-performance scanning
Nuclei is built for speed:Parallel processing
Execute multiple templates simultaneously with configurable concurrency
Request clustering
Automatically groups identical requests across templates to reduce redundant network calls
Optimized engine
Written in Go for maximum performance and low resource usage
Rate limiting
Built-in rate limiting to control scan speed and avoid target overload
Advanced features
Workflows
Workflows enable multi-step scanning logic where one template’s output feeds into another:- Conditional template execution
- Technology-specific scanning
- Reduced scan time by running relevant templates only
- Complex attack chain simulation
Fuzzing and DAST
Nuclei includes built-in fuzzing capabilities for Dynamic Application Security Testing:- Automatic injection point detection
- Multiple payload types (XSS, SQLi, command injection, etc.)
- Smart parameter fuzzing
- Scope control for targeted fuzzing
Interactsh integration
Detect out-of-band (OOB) vulnerabilities with built-in Interactsh support:- Blind SSRF detection
- Out-of-band SQL injection
- XXE with no direct response
- DNS exfiltration
- Remote code execution verification
Interactsh runs automatically - no configuration needed. Nuclei uses public Interactsh servers by default or you can host your own.
Headless browser support
For testing JavaScript-heavy applications:- JavaScript execution
- DOM-based XSS detection
- Client-side vulnerabilities
- Browser-based actions (click, type, navigate)
Custom DSL functions
Nuclei includes 100+ built-in DSL functions for template logic:String functions
String functions
contains(str, substr)- Check if string contains substringlen(str)- Get string lengthto_lower(str)- Convert to lowercaseregex(pattern, str)- Regular expression matchingbase64_decode(str)- Decode base64
Encoding functions
Encoding functions
base64(str)- Base64 encodeurl_encode(str)- URL encodehex_encode(str)- Hex encodehtml_escape(str)- HTML escapemd5(str)- MD5 hashsha256(str)- SHA256 hash
Network functions
Network functions
resolve(host)- DNS resolutionip_format(ip)- Format IP addresscompare_versions(v1, v2)- Version comparison
Utility functions
Utility functions
rand_int(min, max)- Random integerrand_text_alpha(n)- Random alphabetic stringtimestamp()- Current Unix timestamp
Cloud integration
Nuclei integrates with ProjectDiscovery Cloud for:Result visualization
View and analyze scan results in a web dashboard
Centralized storage
Store all scan results in one place
Team collaboration
Share findings and templates with your team
Continuous monitoring
Set up recurring scans and get alerts
Cloud features are completely optional and free. Nuclei works fully offline without any cloud connection.
Integration capabilities
CI/CD integration
Nuclei is designed for automation:GitHub Actions
Reporting integrations
Nuclei integrates with popular platforms:Jira
Automatically create tickets for findings
GitHub
Create GitHub issues and security alerts
GitLab
Integration with GitLab issue tracking
Slack
Send notifications to Slack channels
Webhooks
Custom webhook integrations
Elasticsearch
Send results to Elasticsearch
Splunk
Forward findings to Splunk
APIs
REST API for custom integrations
Library/SDK usage
Embed Nuclei into your Go applications:Template ecosystem
Community templates
The nuclei-templates repository contains:- 7,000+ templates covering various vulnerabilities
- Daily updates for new CVEs and security issues
- Community contributions from thousands of security researchers
- Organized by category (CVEs, misconfigurations, exposed panels, etc.)
Template categories
- CVEs
- Misconfigurations
- Exposed panels
- Vulnerabilities
- Technologies
Templates for known CVE vulnerabilities:
- Log4Shell (CVE-2021-44228)
- Spring4Shell (CVE-2022-22965)
- ProxyShell, ProxyLogon
- Thousands more CVEs
Custom templates
Create your own templates for:- Organization-specific checks
- Custom vulnerability research
- Proprietary application testing
- Security policy compliance
Learn to write templates
Detailed guide on creating custom Nuclei templates
Security and privacy
Safe scanning practices
- Permission required - Always get permission before scanning targets you don’t own
- Rate limiting - Use appropriate rate limits to avoid DoS
- Network isolation - Run scans from controlled networks
- Data handling - Secure storage of scan results containing sensitive data
Template signing
Nuclei supports template signing for security:Next steps
Explore specific features in detail:Running scans
Master different scanning techniques
Template selection
Learn advanced filtering and selection
Output options
Export and format scan results
Write templates
Create custom detection templates