Navigate:
All Reposnuclei
~$NUCLEI0.1%

Nuclei: YAML-based vulnerability scanner

Template-based multi-protocol security scanner for CI/CD pipelines.

LIVE RANKINGS • 06:50 AM • STEADY
TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100TOP 100
OVERALL
#77
49
SECURITY
#6
5
30 DAY RANKING TREND
ovr#77
·Secur#6
STARS
26.4K
FORKS
3.0K
DOWNLOADS
6
7D STARS
+37
7D FORKS
+5
See Repo:
Share:

Learn more about nuclei

Nuclei is a command-line vulnerability scanner written in Go that executes security checks defined in YAML template files. The tool processes templates through a DSL that supports multiple protocols including HTTP, TCP, DNS, SSL, WHOIS, and JavaScript execution. It performs parallel scanning with request clustering to process multiple targets efficiently. Common deployment contexts include security assessments, CI/CD pipeline integration, and regression testing workflows.

nuclei

1

YAML-based template system

Vulnerabilities are defined as declarative YAML templates rather than compiled code, allowing security researchers to contribute detection logic without programming expertise. Templates can simulate multi-step attack scenarios to reduce false positives.

2

Multi-protocol support

The scanner handles HTTP, TCP, DNS, SSL, WHOIS, JavaScript, and code-based checks within a single framework. This breadth allows detection across different attack surfaces including web applications, network services, and DNS configurations.

3

Community-driven template library

Nuclei maintains a separate repository of templates contributed by security professionals. This distributed model enables rapid response to emerging vulnerabilities without requiring core tool updates.


package main

import (
	"github.com/projectdiscovery/nuclei/v3/lib"
)

func main() {
	nucleiEngine, _ := lib.NewNucleiEngine(
		lib.WithTemplateFilters(lib.TemplateFilters{Severity: "critical,high"}),
	)
	nucleiEngine.LoadTargets([]string{"https://example.com"}, false)
	nucleiEngine.ExecuteWithCallback(nil)
	nucleiEngine.Close()
}

vv3.4.10

Patch release fixing a segmentation fault in template caching that could crash Nuclei during scans.

  • Upgrade immediately if you encounter segfaults or unexpected crashes during template-heavy scans.
  • No configuration changes required; the fix resolves a memory safety issue in the caching layer.
vv3.4.9

Patch release fixing output event handling for skipped hosts; no breaking changes or new requirements documented.

  • Update to receive corrected output events when Nuclei skips hosts during scans.
  • Release notes do not specify breaking changes, dependency updates, or security fixes.
vv3.4.8

Maintenance release enabling concurrent engine instances in one process, fixing race conditions, and improving template loading performance.

  • Update to Go 1.24+ if using Docker builds; sonic dependency now requires Go 1.25 compatibility.
  • Review headless templates for variable usage; variables are now correctly available and extra headers merge properly.

See how people are using nuclei

Loading tweets...


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers