The section your link pointed to isn't on nuclei's page any more, so we've brought you to the top.
Nuclei is a fast vulnerability scanner that uses simple YAML-based templates to detect vulnerabilities across applications, infrastructure, cloud platforms, and networks.
nuclei is an open-source vulnerability scanner that probes web applications, infrastructure, cloud platforms, and networks for exploitable flaws, and it's free to use. It runs as a command-line tool, driven by YAML templates that each describe a detection method, severity, and sometimes a matching exploit, and it can also be embedded as a library or run inside Docker for scripted use. It suits application security engineers and pentesters who need repeatable, scriptable scanning rather than a one-off manual check, and it fits into CI/CD pipelines with ticketing hooks into systems like Jira and Splunk. It sits in the vulnerability-scanner category alongside template-driven web scanning tools, drawing on a large community-maintained template library rather than a fixed rule set. First committed in 2020, it remains active, with 296 contributors and over 600 commits in the past year, and a release as recent as 46 days ago.
Nuclei is a fast vulnerability scanner that uses simple YAML-based templates to detect vulnerabilities across applications, infrastructure, cloud platforms, and networks.
Which of my thousands of assets have a specific flaw the moment a new CVE drops?
takes a template written for that flaw and runs it across URLs, IP ranges, ASN ranges, or a file of targets in one bulk pass
Is a vulnerability my scanner flagged last month still open today?
reruns the same templates against the same targets and files findings back into Jira or Splunk, closing tickets whose underlying check no longer matches
Are my Windows hosts exposed to lateral-movement paths an attacker could chain together?
uses built-in RPC helper modules for services like Task Scheduler, Service Control Manager, and DCOM to enumerate and test attack paths directly from a template
Is this API endpoint safe against the inputs its own specification allows?
reads the OpenAPI or Swagger spec and fuzzes the described parameters directly, without a hand-written template for that endpoint
Chinese (Simplified), Indonesian, Japanese, Korean, Portuguese, Spanish, Turkish
Documentation: Chinese (Simplified), Indonesian, Japanese, Korean, Portuguese, Spanish, Turkish
Features
67 capabilities
· 6 backed by code, an API document or a real run
Built from nuclei's releases, docs, README and our own runs.
“Seen” marks the month we first spotted a release the vendor didn't date.
Group names and tags are our labels.
+Headless protocol enhancementsshippedExtends headless browser templates with query fuzzing, header/status matchers, directory creation, and the ability to stop at the first detected match for performance.9 releases · 2 other sources · first seen Jan 2023▸
Shared capability: Web vulnerability scanning
release
9 total
Adds JSON and XPath extractors for headless templates, enabling structured data extraction from browser-rendered pages.
v3.5.0 · Nov 2025
· source
· release history
Supports AWS_PROFILE environment variable when loading nuclei templates from S3, enabling named credential profiles via ~/.aws/credentials.
v3.4.0 · Mar 2025
· source
· release history
Adds stop-at-first-match support in network templates to halt further requests once a match is found
v3.3.5 · Oct 2024
· source
· release history
Adds five new headless lifecycle events for template authors: waitdom, waitfcp, waitfmp, waitidle, and waitstable.
v3.3.3 · Sep 2024
· source
· release history
Adds ActionWaitDialog action type in the headless protocol to simplify detection of JavaScript dialog-based XSS.
v3.3.2 · Sep 2024
· source
· release history
Adds -ho, -headless-options string[] flag to pass additional options to headless Chrome
v2.9.10 · Jul 2023
· source
· release history
example
Fuzz URL query parameters within a headless browser workflow to find injected XSS or endpoints.$ # In template YAML headless: steps: - type: action args: name: goto value: '{{baseUrl}}/?id={{fuzzer.query}}' fuzzer: type: headless queries: - 'test123', '456test'
v2.9.7 · Jun 2023
· source
Generate a JWT in a nuclei template workflow for authenticated requests$ token := generate_jwt(secret, claims)
v2.8.7 · Jan 2023
· source
+Protocol redirect followingshippedAllows templates to follow redirect chains that cross protocol boundaries during a scan.5 releases · 1 other source · first seen Mar 2021▸
Shared capability: Web vulnerability scanning
release
Adds support for protocol redirects, enabling templates to follow cross-protocol redirect chains during scanning.
v3.9.0 · Jun 2026
· source
· release history
Supports protocol redirects, allowing templates to follow cross-protocol redirect chains.
v3.9.0 · Jun 2026
· source
· release history
Adds same-host redirect following with -fhr flag in CLI and templates.
v2.7.8 · Oct 2022
· source
· release history
--disable-redirects (shorthand -dr): new CLI flag that disables following redirects for http templates
v2.7.0 · May 2022
· source
· release history
HTTP response redirect chain print and match support
v2.3.0 · Mar 2021
· source
· release history
example
Scan a target using HTTP templates without following redirects, useful for testing endpoint behavior in isolation.$ nuclei -u https://example.com -dr
v2.7.0 · May 2022
· source
+Interaction-based out-of-band scanningshippedSupports sending requests to external interaction servers (Interactsh) to detect blind vulnerabilities, including custom server pools, debug filtering, and variable support.6 releases · first seen Jan 2022▸
Shared capability: Web vulnerability scanning
release
New OS_MAX_THREADS_ENV environment variable lets you cap the number of OS threads the Go runtime can use, useful for tuning nuclei's resource footprint on constrained hosts.
v3.3.7 · Dec 2024
· source
· release history
Enables interactsh payload input expansion in the tls_sni field for templates
v2.8.9 · Feb 2023
· source
· release history
Adds support for LDAP search query interactions within interactsh matchers
v2.5.8 · Jan 2022
· source
· release history
Adds stop-at-first-match option for interactsh matchers to halt scanning on first hit
v2.5.8 · Jan 2022
· source
· release history
Adds additional variables for interactsh payloads and matchers
v2.5.8 · Jan 2022
· source
· release history
Adds interactsh-server-pool flag to specify a custom interactsh server pool
v2.5.8 · Jan 2022
· source
· release history
+Fuzzing scan capabilitiesshippedEnables the execution of fuzzing templates with control over concurrency, aggression levels, and parameter frequency.3 releases · 1 other source · first seen Mar 2024▸
Shared capability: Web vulnerability scanning
Also counts toward: Command-line interface
release
Adds XSS reflection context analyzer to the fuzzing engine for more precise cross-site scripting detection.
v3.8.0 · Apr 2026
· source
· release history
Adds analyzer support and time-based delay analyzer for DAST mode, enabling smarter detection logic during HTTP fuzzing.
v3.3.6 · Nov 2024
· source
· release history
Adds the -fuzz flag to load and execute fuzzing templates during scans
v3.2.0 · Mar 2024
· source
· release history
example
Run a fuzzing scan against a target using a specific template.$ nuclei -u https://example.com -fuzz custom-fuzz-template.yaml
v3.2.0 · Mar 2024
· source
+Headless action previewshippedAllows users to list configured headless browser actions without actually executing them.3 releases · 1 other source · first seen Aug 2022▸
Shared capability: Web vulnerability scanning
Also counts toward: Command-line interface
release
Adds cdp-endpoint flag to specify a custom WebSocket endpoint for Chrome DevTools Protocol control in headless mode.
v3.7.0 · Jan 2026
· source
· release history
Adds stop-at-first-match flag to the headless protocol for faster scanning
v2.8.4 · Jan 2023
· source
· release history
Adds -lha flag to list headless actions without executing them
v2.7.7 · Aug 2022
· source
· release history
example
Connect headless scans to an already-running remote Chrome instance instead of spawning a local browser — useful in containerised or remote-browser setups.$ nuclei -u https://target.example.com -t headless/ -cdp-endpoint ws://127.0.0.1:9222/devtools/browser/<id>
v3.7.0 · Jan 2026
· source
+Global matchers and extractors supportshippedApplies matching and extraction logic across all requests within a template for cross-request detection capabilities.2 releases · 1 other source · first seen Oct 2024▸
Shared capability: Web vulnerability scanning
Also counts toward: Command-line interface
release
New -enable-global-matchers flag gives explicit control over whether global matchers execute during a scan.
v3.3.7 · Dec 2024
· source
· release history
Adds global matchers/extractors support in HTTP templates, allowing match/extract logic to apply across all requests in a template
v3.3.5 · Oct 2024
· source
· release history
example
Opt in to global matchers for a scan where you want cross-template matching logic to apply.$ nuclei -u https://example.com -t nuclei-templates/ -enable-global-matchers
v3.3.7 · Dec 2024
· source
+Headless browser action enhancementsshippedAdds advanced headless protocol actions such as dialog waiting, lifecycle events, and stop-at-first-match for optimized detection.3 releases · first seen Sep 2024▸
Shared capability: Web vulnerability scanning
release
Adds stop-at-first-match support in network templates to halt further requests once a match is found
v3.3.5 · Oct 2024
· source
· release history
Adds five new headless lifecycle events for template authors: waitdom, waitfcp, waitfmp, waitidle, and waitstable.
v3.3.3 · Sep 2024
· source
· release history
Adds ActionWaitDialog action type in the headless protocol to simplify detection of JavaScript dialog-based XSS.
v3.3.2 · Sep 2024
· source
· release history
+Dynamic variable extraction and reuseshippedSupports extracting values from response bodies and passing them as variables to modify inputs in subsequent template requests within a scan.2 releases · 1 other source · first seen Aug 2020▸
Shared capability: Web vulnerability scanning
release
Dynamic extractor support for parsing responses from network requests
v2.4.0 · Jul 2021
· source
· release history
Enables dynamic extraction and reuse, allowing values extracted from responses to be passed as variables in subsequent template requests.
v2.1.0 · Aug 2020
· source
· release history
example
Use extracted values from a JSON response in a subsequent request.$ cat <<'EOF' requests: - method: GET path: - "{{BaseURL}}/api/login" extractors: - type: json name: "csrf_token" part: body group: - 1 - method: POST path: - "{{BaseURL}}/api/action" headers: csrf:…
v2.1.0 · Aug 2020
· source
+Live DAST Server APIshippedProvides an experimental HTTP server interface to accept real-time requests for fuzzing from external proxies or crawlers.1 release · 1 other source · first seen Feb 2025▸
Shared capability: Web vulnerability scanning
Also counts toward: Command-line interface
release
New -dts flag starts an experimental Live DAST Server API (HTTP) for real-time fuzzing at localhost:9055.
v3.3.9 · Feb 2025
· source
· release history
example
Start the experimental Live DAST Server so a proxy or crawler can push requests to nuclei's fuzzer in real time during an active scan session.$ nuclei -dts
v3.3.9 · Feb 2025
· source
+Spec-driven fuzzingshippedAllows direct fuzzing of target URLs using OpenAPI or Swagger specifications without manual template authoring.1 release · first seen Dec 2025▸
Shared capability: Web vulnerability scanning
release
Adds direct fuzzing against a target URL using OpenAPI/Swagger specs, enabling spec-driven fuzz scanning without manual template authoring.
v3.6.0 · Dec 2025
· source
· release history
+DAST mode analyzer capabilitiesshippedIntroduces time-based and other analyzers for HTTP fuzzing to enable smarter detection logic during dynamic analysis scans.1 release · first seen Nov 2024▸
Shared capability: Web vulnerability scanning
release
Adds analyzer support and time-based delay analyzer for DAST mode, enabling smarter detection logic during HTTP fuzzing.
v3.3.6 · Nov 2024
· source
· release history
+Raw request path merging controlshippedAllows templates to disable the automatic merging of paths in raw HTTP requests, providing finer control over payload generation.1 release · first seen Jun 2023▸
Shared capability: Web vulnerability scanning
release
Adds disable-path-automerge option to raw request templates
v2.9.7 · Jun 2023
· source
· release history
+Other / not yet classified55 featuresFeatures we have not matched to a capability yet. A suggested match is marked.▸
+Output and reporting controlsverifiedsuggestedControls what scan output is shown or exported, including verbose template listing, metadata suppression, PDF export, and JSONL statistics.23 releases · 13 other sources · first seen Jul 2020▸
Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.
Also counts toward: Command-line interface
release
23 total
Adds PDF export option for scan results via the reporting module.
v3.8.0 · Apr 2026
· source
· release history
Adds a flag to specify a custom resume file path, giving practitioners control over where scan state is written.
v3.6.0 · Dec 2025
· source
· release history
Adds batch output support for JSONL format via configurable batch-size option in the JSONL exporter config.
v3.3.6 · Nov 2024
· source
· release history
Adds -redact flag to strip sensitive keys (query params, request headers, body) from output files.
v3.3.1 · Aug 2024
· source
· release history
-ot / -omit-template flag added to exclude base64 encoded templates from JSON/JSONL output
v3.0.4 · Nov 2023
· source
· release history
Adds request and response fields to JSONL output when a match fails with the -ms option
v2.9.11 · Aug 2023
· source
· release history
command line
-pdf-export — file to export results in PDF format
v3.11.1 · Aug 2026
· command-line history
we ran it
The tool returned four lines, each a bare URL (http://dvwa and http://dvwa/login.php, each appearing twice), with no template names, severity labels, or other metadata printed due to --no-meta.
Aug 2026
· the full run
The output, which is truncated, lists the technology-detection templates loaded for the scan rather than actual findings against the target — this is the effect of --vv.
Aug 2026
· the full run
The tool printed four lines, each being a bare URL (http://dvwa or http://dvwa/login.php, each appearing twice), with no template names, severity labels, or other metadata shown — consistent with -nm…
Aug 2026
· the full run
The output, which was truncated, lists loaded technology-detection templates rather than actual scan findings against the target — this is the effect of -vv displaying templates before scanning.
Aug 2026
· the full run
The output is truncated but shows the vast majority of technology-detection templates returning [failed] against the target, meaning no match was found.
Aug 2026
· the full run
Nearly all templates returning [failed], meaning their matchers did not trigger on dvwa; one notable exception is [waf-detect:apachegeneric], which returned [matched] at info severity.
Aug 2026
· the full run
example
Enable batched JSONL output to reduce disk I/O during large scans by buffering 100 records before flushing.$ # In ~/.config/nuclei/config.yaml or reporter config: jsonl: file: "results.jsonl" omit-raw: false batch-size: 100
v3.3.6 · Nov 2024
· source
Include failed matches for hosts that errored during scanning using the new flag.$ nuclei -u https://example.com -ms true
v3.1.0 · Nov 2023
· source
Export scan results to a JSONL file for downstream ingestion by SIEM or dashboards.$ nuclei -u https://example.com -json-export results.jsonl
v2.9.2 · Apr 2023
· source
Export raw scan findings to a structured JSON file for downstream processing by other cyber tooling$ nuclei -u https://example.com -json-export results.json
v2.9.1 · Apr 2023
· source
Save all network traffic for forensic analysis or debugging.$ nuclei -u https://target.com -sresp -srd ./my_logs
v2.6.6 · Apr 2022
· source
Export scan results to local Markdown files for easy review or sharing.$ nuclei -u https://example.com -de reports
v2.3.2 · Mar 2021
· source
+Template-based scanningverifiedsuggestedRuns templates against targets to detect WAFs, technologies, CVEs, and other conditions, returning structured findings with severity and match metadata.11 releases · 24 other sources · first seen Apr 2020▸
Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.
release
11 total
New -enable-global-matchers flag gives explicit control over whether global matchers execute during a scan.
v3.3.7 · Dec 2024
· source
· release history
Adds global matchers/extractors support in HTTP templates, allowing match/extract logic to apply across all requests in a template
v3.3.5 · Oct 2024
· source
· release history
Added CPE / EPSS Score information to the cve-annotation output field
v2.9.2 · Apr 2023
· source
· release history
Adds cpe and epss-score support in template classification for vulnerability prioritization metadata
v2.9.1 · Apr 2023
· source
· release history
Self-contained template support for HTTP and Network templates enables bundling dependencies within a single YAML file
v2.5.3 · Oct 2021
· source
· release history
headless chrome template engine for rendering JS-heavy pages
v2.3.0 · Mar 2021
· source
· release history
docs
Template-based vulnerability scanner that uses YAML templates to detect security issues across HTTP, DNS, TCP, SSL, and other protocols.
we ran it
19 total
Four informational findings were returned: the host was fingerprinted as running Apache (waf-detect:apachegeneric), identified as a DVWA instance (fingerprinthub-web-fingerprints:dvwa) at /login.php,…
Aug 2026
· the full run
Four informational findings were returned: Apache Generic WAF detected at http://dvwa, DVWA fingerprinted at http://dvwa/login.php, and PHP detected at both http://dvwa/login.php and http://dvwa.
Aug 2026
· the full run
Four informational findings were returned: a WAF detection identifying Apache Generic, a fingerprint match for DVWA, and two PHP technology detections across http://dvwa and http://dvwa/login.php.
Aug 2026
· the full run
The scan identified Apache as a WAF, DVWA as a fingerprinted web application, and PHP as a detected technology.
Aug 2026
· the full run
Four informational findings were returned: WAF detection identified an Apache Generic WAF, fingerprinthub identified the target as DVWA at /login.php, and tech-detect flagged PHP twice (at /login.php…
Aug 2026
· the full run
Four informational findings were returned: Apache Generic WAF detected at the root, DVWA fingerprinted at /login.php, and PHP detected twice (at /login.php and the root).
Aug 2026
· the full run
example
Opt in to global matchers for a scan where you want cross-template matching logic to apply.$ nuclei -u https://example.com -t nuclei-templates/ -enable-global-matchers
v3.3.7 · Dec 2024
· source
Run only the CVE template set$ nuclei -u https://example.com -t cves/
Scan a URL list, only high-severity findings$ nuclei -l urls.txt -severity critical,high
Scan a single target with the default templates$ nuclei -u https://example.com
+Template logic and data processingshippedProvides dynamic functions in templates for version comparison, random IP generation, string manipulation, and cryptographic helpers.25 releases · 3 other sources · first seen Jan 2022▸
release
25 total
Expands the DSL with .NET deserialization helper functions for crafting and evaluating deserialization payloads in templates.
v3.6.0 · Dec 2025
· source
· release history
Adds file metadata fields to parsedTemplate, exposing template file information within template logic.
v3.5.0 · Nov 2025
· source
· release history
tls-sni template annotation now accepts arbitrary string input instead of requiring a DNS name
v3.1.1 · Dec 2023
· source
· release history
Adds the {{jarm("host:port")}} helper function for JARM hash calculation in templates
v2.9.9 · Jul 2023
· source
· release history
Adds {{public_ip()}} helper function available in all templates to resolve the public IP
v2.9.7 · Jun 2023
· source
· release history
Added llm_prompt as a new DSL helper function to allow dynamic prompt generation in templates
v2.9.2 · Apr 2023
· source
· release history
example
Calculate JARM hash for a target in a template$ {{jarm("1.1.1.1:443")}}
v2.9.9 · Jul 2023
· source
Generate a JWT in a nuclei template workflow for authenticated requests$ token := generate_jwt(secret, claims)
v2.8.7 · Jan 2023
· source
Verify a server's version is below a known good threshold using DSL.$ matchers: - type: dsl dsl: - compare_versions(version, '< 5.5.7')
v2.6.6 · Apr 2022
· source
+Rate limitingverifiedsuggestedEnforces global or per-host request rate limits, with per-host mode allowing full parallelism across distinct targets.17 releases · 7 other sources · first seen Nov 2020▸
Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.
Also counts toward: Command-line interface
release
17 total
Adds per-host HTTP client pooling, reducing connection overhead and improving parallelism when scanning many distinct hosts.
v3.10.0 · Jun 2026
· source
· release history
Adds per-host HTTP client pooling, reducing connection overhead and improving throughput when scanning many hosts simultaneously.
v3.10.0 · Jun 2026
· source
· release history
Enables TLS session caching in the client pool to improve connection reuse and reduce handshake overhead.
v3.6.2 · Dec 2025
· source
· release history
Adds vars templating in YAML inputs via ytt (YAML Templating Tool), enabling dynamic parameterization of template inputs.
v3.5.0 · Nov 2025
· source
· release history
Adds SDK functions for setting custom variables and improved nuclei store and workflow access.
v3.3.6 · Nov 2024
· source
· release history
Clustering support added for TLS templates
v2.8.8 · Jan 2023
· source
· release history
command line
-per-host-rate-limit — enable per-host rate limiting (global rate limit becomes unlimited when enabled)
v3.11.1 · Aug 2026
· command-line history
example
Limit nuclei to 4 OS threads to reduce CPU contention when running alongside other tools on a shared host.$ OS_MAX_THREADS_ENV=4 nuclei -u https://example.com -t nuclei-templates/
v3.3.7 · Dec 2024
· source
Scan targets while setting specific dialer timeouts and keep-alive durations for network requests.$ nuclei -u https://example.com -dt 5s -dka 10s
v3.1.0 · Nov 2023
· source
Scan a target but force the TLS SNI to a specific hostname different from the domain name.$ nuclei -u https://example.com -sni custom-target.example.com
v2.7.1 · May 2022
· source
Use a custom SNI value inside a YAML template for an HTTP request.$ requests: - raw: - | @tls-sni:localhost GET / HTTP/1.1 Host: {{interactsh-url}}
v2.7.1 · May 2022
· source
Scan a target that requires HTTP Digest Authentication to access the resource.$ nuclei -t templates/ -u https://example.com --digest-auth username:password
v2.6.8 · Apr 2022
· source
Dynamically generate a unique source IP for each request to bypass rate limits.$ headers: X-Forwarded-For: '{{rand_ip("10.0.0.0/8")}}'
v2.6.6 · Apr 2022
· source
+Template variable and input customisationverifiedLets users supply custom variables to templates via files or inline values, enabling flexible parameterisation of scan runs.17 releases · 5 other sources · first seen Nov 2020▸
Also counts toward: Command-line interface
release
17 total
Added variable evaluation support within payloads and variables sections of templates
v2.9.2 · Apr 2023
· source
· release history
Adds CLI option to override fuzzing template options via flag
v2.9.0 · Mar 2023
· source
· release history
-no-mhe flag added to disable HTTP/2 multiplexed header enumeration
v2.8.8 · Jan 2023
· source
· release history
Enables global variables support in the SSL protocol
v2.7.5 · Jul 2022
· source
· release history
Adds variables support to allow generating dynamic values within templates using functions like rand_base and to_lower
v2.6.9 · Apr 2022
· source
· release history
command line
-vars-text-templating — enable text templating for vars in input file (only for yaml input mode)
v3.11.1 · Aug 2026
· command-line history
Run a scan without HTTP/2 multiplexed header enumeration using the new flag.$ nuclei -u https://example.com -no-mhe
v2.8.8 · Jan 2023
· source
Inject secrets from the environment directly into a template execution without modifying the YAML.$ nuclei -u https://example.com -env-vars
v2.4.3 · Aug 2021
· source
Pass dynamic values directly from the CLI for quick testing against multiple hosts.$ nuclei -u http://host1 -u http://host2 -var token=abc
v2.4.3 · Aug 2021
· source
+Community template managementshippedFetches and updates the community-maintained template library used as the default detection set.12 releases · 6 other sources · first seen Jul 2020▸
release
12 total
New -ai flag generates and runs nuclei templates on the fly from natural-language prompts.
v3.3.9 · Feb 2025
· source
· release history
The -file flag must now be explicitly used to enable loading file protocol templates; file templates are no longer loaded by default.
v3.3.6 · Nov 2024
· source
· release history
The -enable-self-contained (or -esc) flag is now required to load self-contained templates; they are no longer enabled by default.
v3.3.6 · Nov 2024
· source
· release history
Adds environment variables DISABLE_NUCLEI_TEMPLATES_PUBLIC_DOWNLOAD, DISABLE_NUCLEI_TEMPLATES_GITHUB_DOWNLOAD, DISABLE_NUCLEI_TEMPLATES_GITLAB_DOWNLOAD, DISABLE_NUCLEI_TEMPLATES_AWS_DOWNLOAD, and DISABLE_NUCLEI_TEMPLATES_AZURE_DOWNLOAD to control template update sources
v2.9.9 · Jul 2023
· source
· release history
Added support for azure blob storage as a source for custom template downloads
v2.9.2 · Apr 2023
· source
· release history
Added support for gitlab project as a source for custom template downloads
v2.9.2 · Apr 2023
· source
· release history
example
Generate and run a custom detection template from plain English without writing YAML — useful for quick, ad-hoc recon during a bug bounty engagement.$ nuclei -list h1.txt -ai "extract page titles"
v3.3.9 · Feb 2025
· source
Disable all template updates to prevent internet access during scanning$ export DISABLE_NUCLEI_TEMPLATES_PUBLIC_DOWNLOAD=true export DISABLE_NUCLEI_TEMPLATES_GITHUB_DOWNLOAD=true nuclei -t templates/ -u target.com
v2.9.9 · Jul 2023
· source
Configure nuclei to download custom templates from an Azure Blob Storage container.$ # Requires configuration in ~/.config/nuclei/config.yaml or via -t flag pointing to template set # Example config snippet: # templates: # - azure://account-name@container-name/path
v2.9.2 · Apr 2023
· source
Run scans in offline or air-gapped environments where automatic template updates would fail or are unwanted.$ nuclei -u https://example.com --disable-auto-update
v2.4.2 · Jul 2021
· source
Load custom templates from a local directory alongside standard ones.$ nuclei -u https://example.com -t ./custom-templates/,https://github.com/projectdiscovery/nuclei-templates
v2.1.1 · Sep 2020
· source
Update the community template set$ nuclei -update-templates
+Template filtering and validationshippedProvides mechanisms to filter template execution by tags, authors, or severity, and validates syntax before running.12 releases · 3 other sources · first seen Mar 2021▸
release
12 total
Adds wildcard pattern support to the -id option for filtering templates
v2.9.10 · Jul 2023
· source
· release history
Added support to filter templates based on classification
v2.9.3 · May 2023
· source
· release history
Advanced Template Filtering: Extended the set of available fields for filtering templates during execution.
v2.8.6 · Jan 2023
· source
· release history
Adds unexpected fields validation in matchers
v2.7.4 · Jul 2022
· source
· release history
Adds id/eid filter flags for template execution/exclusion by identifier
v2.5.8 · Jan 2022
· source
· release history
-es flag allows excluding templates based on severity level during scan execution
v2.5.3 · Oct 2021
· source
· release history
example
Scan only specific templates by their ID.$ nuclei -t id/eid:1234,5678 -u https://example.com
v2.5.8 · Jan 2022
· source
Exclude low and medium severity templates from a scan using the new filtering flag$ nuclei -u https://example.com -es medium,low
v2.5.3 · Oct 2021
· source
Exclude specific templates or tags from a scan using new exclusion flags$ nuclei -tags vulnerability -exclude-tags high
v2.3.1 · Mar 2021
· source
+Windows RPC and DCOM attack primitivesshippedExposes WMI, Task Scheduler, SCMR, and DCOM helper modules to JavaScript templates, backed by Impacket-based Windows networking primitives.9 releases · 3 other sources · first seen May 2022▸
release
9 total
New JS helper modules for WMI, Task Scheduler (TSCH), Service Control Manager (SCMR), and DCOM enable Windows RPC enumeration and exploitation in JS-protocol templates.
v3.9.0 · Jun 2026
· source
· release history
Adds Impacket integration, bringing Windows networking attack primitives into the nuclei engine.
v3.9.0 · Jun 2026
· source
· release history
Adds impacket integration for Windows attack-path testing directly from nuclei templates.
v3.9.0 · Jun 2026
· source
· release history
Adds WMI, Task Scheduler (tsch), SCMR, and DCOM helper modules for JavaScript templates, enabling Windows RPC-based detections.
v3.9.0 · Jun 2026
· source
· release history
Supports multi-port targeting in JavaScript templates, allowing a single JS template to probe multiple ports on a host.
v3.6.0 · Dec 2025
· source
· release history
Adds MSSQL execute-query support in JS templates, enabling active database interaction during scans.
v3.4.3 · May 2025
· source
· release history
example
Retrieve a service ticket via the kerberos module.$ // Code snippet demonstrating the new method kerberos.GetServiceTicket(...)
v3.1.6 · Jan 2024
· source
Identify kerberoastable users via the ldap module.$ // Code snippet demonstrating the new method ldap.GetKerberoastableUsers(...)
v3.1.6 · Jan 2024
· source
Scan for deserialization vulnerabilities using the newly added Urldns gadget.$ nuclei -t path/to/urldns-template.yaml -u https://target.com
v2.7.1 · May 2022
· source
+Target filtering and preflight checksverifiedResolves and port-scans targets before scanning to filter out unreachable hosts, and accepts target lists inline or from a file.6 releases · 4 other sources · first seen Mar 2021▸
Also counts toward: Command-line interface
release
Added resume flag for random resume file generation
v2.6.3 · Mar 2022
· source
· release history
Adds pause/resume support (-resume) to continue a previous scan session
v2.5.8 · Jan 2022
· source
· release history
Custom resolvers can be specified in DNS templates via dns-resolvers field in template config
v2.5.3 · Oct 2021
· source
· release history
Supports multiple u/target flags for specifying several targets at once
v2.4.3 · Aug 2021
· source
· release history
-preflight-portscan — run preflight resolve + TCP portscan and filter targets before scanning (disabled by default)
v3.11.1 · Aug 2026
· command-line history
-targets-inline — inline multiline target list (for use in template profiles)
v3.11.1 · Aug 2026
· command-line history
example
Use custom system resolvers by passing the -r flag to override DNS resolution.$ nuclei -u http://target.com -r /path/to/resolvers.txt
v2.3.0 · Mar 2021
· source
+Issue tracker integrationshippedExports scan findings to Jira, GitHub, and GitLab issue trackers for workflow triage.10 releases · first seen Mar 2021▸
Also counts toward: Ticketing integration
release
10 total
Supports a custom Jira server URL (site-url) when using OAuth authentication, enabling on-premises Jira integrations.
v3.6.2 · Dec 2025
· source
· release history
Adds text/template syntax support for Jira custom fields in reporting configurations.
v3.5.0 · Nov 2025
· source
· release history
Adds bearer token authentication support to Jira reporting integration for self-hosted Jira environments.
v3.4.2 · Apr 2025
· source
· release history
Adds Linear issue tracker integration, allowing nuclei findings to automatically create issues with severity-based allow/deny filtering, team/project targeting, and duplicate detection.
v3.3.3 · Sep 2024
· source
· release history
Extends Jira integration config to accept issue-type ID and project ID as optional inputs.
v3.3.2 · Sep 2024
· source
· release history
Adds JIRA custom fields support for integration templates
v2.9.1 · Apr 2023
· source
· release history
+Honeypot detectionverifiedIdentifies and counts hosts that appear to be honeypots so users can discount those results.7 releases · 2 other sources · first seen Oct 2021▸
release
7 total
Adds honeypot detection to reduce scan noise against honeypot hosts.
v3.8.0 · Apr 2026
· source
· release history
Adds a persistent metadata cache in the template loader, speeding up repeated template loading across runs.
v3.6.0 · Dec 2025
· source
· release history
Improves template-loading performance, reducing startup latency for large template sets.
v3.4.8 · Aug 2025
· source
· release history
Add support to run remote hosted templates directly from URLs
v2.6.0 · Feb 2022
· source
· release history
Interactsh placeholder support in HTTP payloads enables out-of-band detection workflows
v2.5.3 · Oct 2021
· source
· release history
we ran it
The scan returned four informational matches — WAF detection (apachegeneric), a DVWA web fingerprint, and PHP technology detection (twice) — then reported zero honeypot-detected hosts.
Aug 2026
· the full run
The scan returned four informational findings: Apache generic WAF detected at http://dvwa, DVWA fingerprinted at /login.php, and PHP detected at both /login.php and the root.
Aug 2026
· the full run
+JavaScript template signing and verificationshippedRequires custom JavaScript templates to be digitally signed before they can be loaded, and provides a command to sign templates for the current engine version.8 releases · 1 other source · first seen Mar 2023▸
Also counts toward: Command-line interface
release
8 total
Custom templates that use the javascript: protocol must be digitally signed before Nuclei will load or execute them; unsigned JavaScript templates are skipped during template loading and when referenced from workflows.
v3.11.0 · Jul 2026
· source
· release history
Custom templates using the javascript: protocol must now be digitally signed with nuclei -sign or they will be silently skipped during template loading and workflow execution. Official nuclei-templates are pre-signed and unaffected.
v3.11.0 · Jul 2026
· source
· release history
Enforces signature verification for JavaScript templates, extending the code-protocol signing requirement to the JavaScript protocol and its Go-backed runtime modules.
v3.11.0 · Jul 2026
· source
· release history
Enforces mandatory digital signing for custom templates that use the javascript: protocol; unsigned JavaScript templates are skipped at load time and when referenced from workflows.
v3.11.0 · Jul 2026
· source
· release history
Breaking change: Custom templates using the javascript: protocol must now be digitally signed; unsigned JavaScript templates are skipped at load time and when referenced from workflows.
v3.11.0 · Jul 2026
· source
· release history
Generates matcher-status events for the JavaScript protocol, improving JS template result visibility.
v3.3.1 · Aug 2024
· source
· release history
example
Sign a custom JavaScript-protocol template so it is accepted by Nuclei v3.11.0+ before running it against a target.$ nuclei -sign -t /path/to/your-template.yaml
v3.11.0 · Jul 2026
· source
+PDCP scan aggregationshippedUploads and aggregates scan results into specific scans or team workspaces in the ProjectDiscovery Cloud Platform (PDCP).6 releases · 3 other sources · first seen Jan 2024▸
release
Adds MongoDB as a results reporting backend for storing scan findings
v3.3.5 · Oct 2024
· source
· release history
Adds -pdu/-dashboard-upload flag to upload existing nuclei JSONL scan results to the ProjectDiscovery Cloud Platform (PDCP) dashboard for review.
v3.3.3 · Sep 2024
· source
· release history
Adds -team-id flag to upload scan results directly to a specific team workspace in the cloud.
v3.3.1 · Aug 2024
· source
· release history
PDCP_TEAM_ID environment variable supports uploading results to a team account instead of personal
v3.2.9 · Jun 2024
· source
· release history
Adds -sname / -scan-name CLI flag to set the scan name during pdcp result upload
v3.2.7 · May 2024
· source
· release history
Adds -scan-id CLI option to upload results to an existing PDCP scan
v3.1.7 · Jan 2024
· source
· release history
example
Upload a previously saved nuclei JSONL results file to the PDCP cloud dashboard for team review without re-running a scan.$ ./nuclei -pdu nuclei_results.jsonl
v3.3.3 · Sep 2024
· source
Upload scan results to a specific team workspace instead of your personal account.$ nuclei -u https://example.com -cloud-upload -team-id cqlmoalcm2sc73eut1b0
v3.3.1 · Aug 2024
· source
Attach current scan results to a specific PDCP scan for aggregation.$ nuclei -u example.com -cloud-upload -scan-id XXXXXX
v3.1.7 · Jan 2024
· source
+Chained workflow logicshippedEnables conditional execution where template requests are linked, allowing subsequent requests to depend on the success or failure of earlier ones.6 releases · 2 other sources · first seen Jul 2020▸
Also counts toward: Command-line interface
release
Adds shared context execution in workflows.
v2.7.8 · Oct 2022
· source
· release history
Adds multiple named matcher based condition support in workflows.
v2.7.8 · Oct 2022
· source
· release history
Adds payload request flow override using annotations to control request execution logic
v2.7.5 · Jul 2022
· source
· release history
-w/-workflows flag to run workflow based templates
v2.3.0 · Mar 2021
· source
· release history
Adds chained workflow support with conditions for complex scanning logic
v2.0.0 · Jul 2020
· source
· release history
example
Run a workflow defined in workflow.yaml using the new -w flag.$ nuclei -w workflow.yaml
v2.3.0 · Mar 2021
· source
Run complex sequences of checks where later templates depend on the success or failure of earlier ones.$ nuclei -t workflows/chain.yaml
v2.0.0 · Jul 2020
· source
+Network protocol supportshippedExecutes templates over raw network protocols (TCP) with dynamic payload insertion and response extraction.6 releases · first seen Mar 2021▸
release
Adds RSYNC module, enabling nuclei templates to probe and test RSYNC services.
v3.7.0 · Jan 2026
· source
· release history
Adds VNC authentication support, expanding network protocol coverage for credential-based checks.
v3.5.0 · Nov 2025
· source
· release history
Adds SSH keyboard-interactive authentication support for SSH-based templates.
v3.5.0 · Nov 2025
· source
· release history
dns protocol adds CAA DNS query support
v2.6.0 · Feb 2022
· source
· release history
Payload support for network requests, enabling dynamic data insertion in network protocol templates
v2.4.0 · Jul 2021
· source
· release history
+Memory profilingshippedCaptures and exposes memory usage data during scan execution to identify leaks or high-consumption areas.3 releases · 3 other sources · first seen Aug 2022▸
release
--profiling-cpu <file> enables CPU profiling output to the specified file
v3.3.10 · Mar 2025
· source
· release history
--profiling-pgo <file> enables PGO profile generation output to the specified file
v3.3.10 · Mar 2025
· source
· release history
Adds the profile-mem CLI flag for memory profiling.
v2.7.6 · Aug 2022
· source
· release history
example
Capture CPU usage profiles for post-scan analysis using pprof.$ nuclei --target example.com --profiling-cpu profile.cpuprofile
v3.3.10 · Mar 2025
· source
Generate a PGO binary profile to optimize future runs.$ nuclei --target example.com --profiling-pgo pgo.profile
v3.3.10 · Mar 2025
· source
Profile memory usage during a scan to identify potential leaks or high-consumption areas.$ nuclei -target example.com -profile-mem
v2.7.6 · Aug 2022
· source
+SDK and programmatic usageshippedExposes the same configuration options available on the command line to SDK callers, making programmatic integration straightforward.4 releases · 1 other source · first seen Mar 2021▸
release
Adds per-execution result callback to the nuclei SDK engine via WithResultCallback
v3.11.1 · Aug 2026
· source
· release history
Adds mirroring of -config, -report-config, and -dashboard flags for SDK callers, closing the gap between CLI and programmatic usage.
v3.9.0 · Jun 2026
· source
· release history
NetworkConfig struct gains additional fields in the Go SDK, enabling finer control over network settings for custom templates and extensions.
v3.1.10 · Feb 2024
· source
· release history
Process each found result in real-time inside a Go program using the new SDK callback instead of waiting for the scan to finish$ engine.ExecuteWithCallback(func(result *sdk.Result) { fmt.Println(result.TemplateID) })
v3.11.1 · Aug 2026
· source
+DNS protocol expansionshippedExtends DNS scanning capabilities to support payload injection, ANY type queries, and TLSA record queries for deeper network reconnaissance.4 releases · first seen Jan 2023▸
release
Adds dnssec DNS record type support in DNS templates
v3.11.1 · Aug 2026
· source
· release history
Adds SRV query support to the dns protocol for resolving service discovery records
v3.2.5 · Apr 2024
· source
· release history
Adds any type query support in the dns protocol
v2.9.5 · May 2023
· source
· release history
+Payload sandboxingshippedAdds an option to sandbox payload files and requests during execution for safety.4 releases · first seen Dec 2022▸
Also counts toward: Command-line interface
release
Adds JavaScript clients for HTTP (nuclei/http) and SMB (nuclei/smb) protocols enabling JS-based templates
v3.11.1 · Aug 2026
· source
· release history
Introduces -lfa (-allow-local-file-access) and -lna (-restrict-local-network-access) flags to control sandbox behavior, replacing the deprecated -sandbox flag
v2.9.9 · Jul 2023
· source
· release history
Payload loading from arbitrary locations is now disabled by default; use -lfa to allow it if needed
v2.9.9 · Jul 2023
· source
· release history
-sandbox option for sandboxing payload files and requests
v2.8.0 · Dec 2022
· source
· release history
+TLS and SNI customizationshippedAllows specifying custom TLS Server Name Indication (SNI) values and supporting optional ztls modules for specific network scenarios.3 releases · 1 other source · first seen Feb 2022▸
release
Adds custom SNI input support via CLI to unsafe http template
v2.7.2 · Jun 2022
· source
· release history
Adds @tls-sni template variable in HTTP request templates to set the TLS SNI value
v2.7.1 · May 2022
· source
· release history
ssl protocol now supports optional ztls via the new zcrypto/tls module for SNI-less TLS connections
v2.6.0 · Feb 2022
· source
· release history
example
Use a custom SNI value inside a YAML template for an HTTP request.$ requests: - raw: - | @tls-sni:localhost GET / HTTP/1.1 Host: {{interactsh-url}}
v2.7.1 · May 2022
· source
+Protocol type expansionshippedExtends supported scanning protocols to include SSL and WebSocket alongside existing types.2 releases · 1 other source · first seen Dec 2021▸
release
Supports service names (e.g., http, ssh) in the port field of network templates, removing the need to hard-code port numbers.
v3.8.0 · Apr 2026
· source
· release history
Adds ssl and websocket protocol types to the scanner core, enabling scans of raw SSL/TLS handshakes and WebSocket endpoints
v2.5.4 · Dec 2021
· source
· release history
example
Filter scanning to only SSL and WebSocket protocols using the new type filters$ nuclei -t nuclei-templates/ -pt ssl,websocket -l targets.txt
v2.5.4 · Dec 2021
· source
+Custom configuration pathshippedAllows users to specify a custom directory for storing and loading tool configuration files.2 releases · 1 other source · first seen Aug 2022▸
Also counts toward: CI/CD pipeline integration, Command-line interface
release
Adds environment variable support for specifying the nuclei templates directory.
v3.5.0 · Nov 2025
· source
· release history
Adds -config-directory flag to specify a custom configuration path
v2.7.7 · Aug 2022
· source
· release history
example
Set the nuclei templates directory via environment variable instead of a flag — useful in CI pipelines or containerized environments.$ export NUCLEI_TEMPLATES_DIR=/opt/custom-templates nuclei -u https://example.com
v3.5.0 · Nov 2025
· source
+LDAP protocol enhancementsshippedExpands LDAP scanning with new methods for Kerberos, ASREProasting, and detailed result output.3 releases · first seen Mar 2024▸
release
Adds SupportedLDAPVersion support in JS templates for LDAP protocol interrogation.
v3.4.3 · May 2025
· source
· release history
Adds ASREProastable detection method to the existing LDAP protocol support.
v3.2.4 · Apr 2024
· source
· release history
Enhances the ldap protocol with new capabilities
v3.2.0 · Mar 2024
· source
· release history
+Variable dumpshippedProvides an optional feature to dump current variable states during scan execution.2 releases · 1 other source · first seen Dec 2022▸
release
Adds -var-dump-limit flag to control the response character limit when using -svd (show variable dump)
v3.3.5 · Oct 2024
· source
· release history
Cap verbose variable dump output to avoid flooding the terminal during large scans$ nuclei -t <template> -u <target> -svd -var-dump-limit 500
v3.3.5 · Oct 2024
· source
+Template tagging and referencingshippedAdds capabilities to tag templates with references and enables advanced filtering based on these tags.3 releases · first seen Aug 2022▸
release
The -as CLI option accepts additional custom tags that are included with scan results.
v3.1.4 · Jan 2024
· source
· release history
Adds reference-based tag addition capability to templates
v2.7.7 · Aug 2022
· source
· release history
Adds advanced template filtering via the new -tc flag
v2.7.7 · Aug 2022
· source
· release history
+Client certificate authenticationshippedsuggestedAllows scanning hosts using client certificates for mutual TLS authentication.2 releases · 1 other source · first seen Dec 2021▸
Suggested capability: Credentialed vulnerability scanning. This is our guess, not confirmed.
Also counts toward: Command-line interface
release
ssl protocol now supports optional ztls via the new zcrypto/tls module for SNI-less TLS connections
v2.6.0 · Feb 2022
· source
· release history
Adds -cc/-client-cert, -ck/-client-key, and -ca/-client-ca flags for client certificate authentication against scanned hosts
v2.5.4 · Dec 2021
· source
· release history
example
Use client certificate authentication for scanning internal services$ nuclei -t nuclei-templates/ \ -cc /path/to/client-cert.pem \ -ck /path/to/client-key.pem \ -ca /path/to/ca-cert.pem \ -l targets.txt
v2.5.4 · Dec 2021
· source
+Linear issue tracker integrationshippedAutomatically exports scan findings to Linear issues with severity-based filtering, team/project targeting, and duplicate detection.1 release · 1 other source · first seen Sep 2024▸
Also counts toward: Ticketing integration
release
Adds Linear issue tracker integration, allowing nuclei findings to automatically create issues with severity-based allow/deny filtering, team/project targeting, and duplicate detection.
v3.3.3 · Sep 2024
· source
· release history
example
Configure the Linear integration in your nuclei config to auto-create issues only for critical findings, skipping low-severity results.$ linear: api-key: "lin_api_xxxxxxxxxxxx" team-id: "TEAM-UUID" project-id: "PROJ-UUID" duplicate-issue-check: true open-state-id: "STATE-UUID" deny-list: severity: low
v3.3.3 · Sep 2024
· source
+Response truncationshippedProvides CLI flags to truncate response bodies in output, likely for performance or storage optimization.1 release · 1 other source · first seen Oct 2022▸
Also counts toward: Command-line interface
release
Adds response truncation support via CLI flags.
v2.7.8 · Oct 2022
· source
· release history
example
Configure the Linear integration in your nuclei config to auto-create issues only for critical findings, skipping low-severity results.$ linear: api-key: "lin_api_xxxxxxxxxxxx" team-id: "TEAM-UUID" project-id: "PROJ-UUID" duplicate-issue-check: true open-state-id: "STATE-UUID" deny-list: severity: low
v3.3.3 · Sep 2024
· source
+Runtime attack type overrideshippedsuggestedProvides a CLI flag to override the attack type defined in templates at runtime.2 releases · first seen Dec 2022▸
Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.
release
Adds timeouts configuration in types.Options for fine-grained SDK timeout control.
v3.3.0 · Jul 2024
· source
· release history
attack-type CLI flag to override template attack-type at runtime
v2.8.0 · Dec 2022
· source
· release history
+Automatic technology detectionshippedAutomatically detects technologies using Wappalyzer and tech templates without requiring manual template selection.1 release · 1 other source · first seen Feb 2024▸
release
Adds -as flag to enable automatic hybrid technology detection using Wappalyzer and tech templates during scans
v3.1.9 · Feb 2024
· source
· release history
example
Scan a target and automatically detect technologies without specifying templates manually.$ nuclei -u https://example.com -as
v3.1.9 · Feb 2024
· source
+User-agent handlingshippedsuggestedProvides a dedicated module and SDK options for managing and customizing user-agent strings during scanning.1 release · 1 other source · first seen Feb 2024▸
Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.
release
Adds projectdiscovery/useragent module for user-agent handling
v3.1.9 · Feb 2024
· source
· release history
example
Use the new user-agent module in a custom nuclei workflow.$ import github.com/projectdiscovery/useragent
v3.1.9 · Feb 2024
· source
+XPath matching supportshippedsuggestedExtends template definition capabilities to include XPath as a matcher type for finding elements in XML or HTML responses.1 release · 1 other source · first seen Aug 2023▸
Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.
release
Adds xpath as a new matcher type for template definitions
v2.9.13 · Aug 2023
· source
· release history
example
Define an xpath matcher in a custom template to find script tags with specific attributes.$ matchers: - type: xpath part: body xpath: - "//script[contains(@src,'//') and not(contains(translate(@integrity,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'^sha'))]"
v2.9.13 · Aug 2023
· source
+TLS fingerprint randomizationshippedRandomizes the JA3 client hello hash during TLS handshakes to evade fingerprinting detection by target scanners.1 release · 1 other source · first seen Jun 2023▸
Also counts toward: Command-line interface
release
Adds -tlsi (ja3 client hello randomization) CLI flag for TLS interception traffic manipulation
v2.9.7 · Jun 2023
· source
· release history
example
Evade TLS fingerprinting on target scanners by randomizing the JA3 hash during scans.$ nuclei -u https://example.com -tlsi
v2.9.7 · Jun 2023
· source
+Dynamic payload evaluationshippedEnables the use of helper functions and dynamic expressions directly within payload sections to generate randomized or resolved values during template execution.2 releases · first seen Jan 2023▸
release
Added variable evaluation support within payloads and variables sections of templates
v2.9.2 · Apr 2023
· source
· release history
Adds generate_jwt helper function for generating JSON Web Tokens
v2.8.7 · Jan 2023
· source
· release history
+Elasticsearch reportingshippedAdds support for exporting scan findings directly to Elasticsearch via host reporting fields.2 releases · first seen Oct 2022▸
release
Adds splunk exporter for sending reports directly to Splunk
v2.8.4 · Jan 2023
· source
· release history
Adds elasticsearch host reporting field support.
v2.7.8 · Oct 2022
· source
· release history
+Sequential request executionshippedsuggestedAllows disabling default request clustering to force sequential execution of requests within a template.1 release · 1 other source · first seen Dec 2022▸
Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.
release
Adds the --disable-clustering CLI flag to disable request clustering during execution
v2.8.3 · Dec 2022
· source
· release history
example
Force sequential request execution by disabling the default clustering optimization$ nuclei --disable-clustering -u https://example.com
v2.8.3 · Dec 2022
· source
+CIDR target resolutionshippedEnables scanning of CIDR ranges directly, resolving IPs internally without external pre-resolution.1 release · 1 other source · first seen Oct 2022▸
release
Adds -cidr CLI argument to accept CIDR ranges as direct input targets.
v2.7.8 · Oct 2022
· source
· release history
example
Scan a CIDR range directly without pre-resolving IPs.$ nuclei -cidr 192.168.1.0/24
v2.7.8 · Oct 2022
· source
+Template version managementshippedAllows users to fetch and run templates from specific historical versions rather than only the latest.1 release · 1 other source · first seen Jul 2022▸
Also counts toward: Command-line interface
release
Adds -ntv / -new-templates-version CLI flag to run templates by specific versions
v2.7.4 · Jul 2022
· source
· release history
example
Single target scan$ nuclei -u https://example.com
+Template input parameterizationshippedAllows dynamic inputs in templates via environment variables, CLI flags, and wordlist files.1 release · 1 other source · first seen Jul 2021▸
Also counts toward: Command-line interface
release
Dynamic extractor support for parsing responses from network requests
v2.4.0 · Jul 2021
· source
· release history
example
Pass a wordlist file directly via CLI variable for dynamic payload input in network templates$ nuclei -t network_template.yaml -var wordlist=/path/to/words.txt
v2.5.3 · Oct 2021
· source
+Docker environment supportshippedProvides capabilities to run the cyber tool within Docker containers.1 release · first seen Nov 2025▸
release
Adds support for running nuclei inside Docker containers.
v3.5.0 · Nov 2025
· source
· release history
+Concurrent engine executionshippedEnables running multiple independent Nuclei engines within the same process for library users to parallelize scans.1 release · first seen Aug 2025▸
release
Supports running concurrent Nuclei engines within the same process, enabling library users to parallelize independent scans.
v3.4.8 · Aug 2025
· source
· release history
+JavaScript SQL interactionshippedAllows JavaScript templates to execute queries against MSSQL databases directly during scanning.1 release · first seen May 2025▸
Also counts toward: Scripting language support
release
Adds MSSQL execute-query support in JS templates, enabling active database interaction during scans.
v3.4.3 · May 2025
· source
· release history
+Dynamic secret file environment variable substitutionshippedAllows dynamic secrets in template files to be populated from environment variables or CLI flags.1 release · first seen Nov 2024▸
Also counts toward: Command-line interface
release
Supports ENV variable substitution in dynamic secret files, letting secrets be pulled from environment variables or passed via -v/-env-vars flags.
v3.3.6 · Nov 2024
· source
· release history
+Memory profiling trace file generationshippedGenerates detailed trace files alongside memory profiling data for deeper analysis of resource usage.1 release · first seen Oct 2024▸
release
Adds trace file generation when using the -profile-mem option for memory profiling
v3.3.5 · Oct 2024
· source
· release history
+MongoDB reporting backendshippedSupports exporting scan findings to MongoDB as a storage backend alongside existing options.1 release · first seen Oct 2024▸
release
Adds MongoDB as a results reporting backend for storing scan findings
v3.3.5 · Oct 2024
· source
· release history
+Pre-defined scan profilesshippedAllows running scans using pre-configured template sets such as 'aws-cloud-config' or 'bugbounty' via CLI options.1 release · first seen May 2024▸
release
Adds -profile and -profile-list CLI options to run nuclei using pre-defined template profiles such as aws-cloud-config, bugbounty, or pentest
v3.2.6 · May 2024
· source
· release history
+Custom dialer timeout configurationshippedProvides command-line flags to configure specific dialer timeouts and keep-alive durations for outgoing network requests.1 release · first seen Nov 2023▸
Also counts toward: Command-line interface
release
Added -dt / -dialer-timeout and -dka / -dialer-keep-alive flags to set network request timeout and keep-alive duration
v3.1.0 · Nov 2023
· source
· release history
+TLS version and cipher enumerationshippedAllows scanning templates to enumerate supported TLS versions and ciphers for targeted SSL/TLS protocol analysis.1 release · first seen Nov 2023▸
release
tls_version_enum and tls_cipher_enum config options added to SSL protocol templates for TLS version and cipher enumeration
v3.0.4 · Nov 2023
· source
· release history
+Custom IP variable injectionshippedAllows injecting custom IP values into protocol-generated variables for specific network scenarios.1 release · first seen Dec 2022▸
release
Adds custom ip values to protocol-generated variables
v2.8.3 · Dec 2022
· source
· release history
+Connection error toleranceshippedAllows configuring a maximum number of host errors before skipping the rest of the scan run.1 release · first seen Dec 2022▸
Also counts toward: Command-line interface
release
Optional -max-host-error skip behavior for connection refused errors
v2.8.0 · Dec 2022
· source
· release history
+DSL function listingshippedProvides a command to list all available DSL functions for template development.1 release · first seen Oct 2022▸
Also counts toward: Command-line interface
release
Adds -ldf CLI flag to list available DSL functions.
v2.7.8 · Oct 2022
· source
· release history
+TLS/SSL analysis integrationshippedIntegrates tlsx library to provide detailed TLS and SSL analysis capabilities for scanned hosts.1 release · first seen Oct 2022▸
release
Adds tlsx integration to nuclei for TLS/SSL analysis.
v2.7.8 · Oct 2022
· source
· release history
+Network interface bindingshippedAllows outgoing requests to be bound to a specific network interface for network control.1 release · first seen Aug 2022▸
release
Adds option to specify network interface for outgoing requests
v2.7.7 · Aug 2022
· source
· release history
+Environment diagnosticsshippedProvides commands to verify the scanning environment and tool configuration validity.1 release · first seen Jun 2022▸
Also counts toward: Command-line interface
release
Adds self-diagnostics subcommand via the -health-check CLI flag to verify environment validity
v2.7.3 · Jun 2022
· source
· release history
+Error loggingshippedWrites request error logs to a specified file for debugging and analysis.1 release · first seen Dec 2021▸
release
Adds -elog/-error-log flag to write request error logs to a specified file
v2.5.4 · Dec 2021
· source
· release history
Lines in monospace are the tool's own words: help text
parsed from its source, or an endpoint from its API document. Under
release, a line is our summary of a dated release. Under
docs, it is quoted from the tool's own documentation or
website. Each links back to the source it came from.
Command line
View
Source
No command matches.
load a captured run
composed command
No matchesTry a different search, or clear a filter to see more.
option surface across analysed releases
options at that releaseadded, per releaseremoved, per release
option
found in
since
description
No matchesTry a different search, or clear a filter to see more.
option changes per release — drag across the rail to set a range
→
Values are placeholders taken from each option’s declared default.
Nothing is executed here — the output shown is a recording of a run
that already happened.
Score card
Shipping velocityreleases a month, last 12 months
Documentation qualityrelease-notes rubric, 0–100
Breaking-change disciplinehow rarely a release breaks users, and notice given
Maintenance riskquiet time against its own cadence, maintainers
Innovation & surfacenew capabilities, API and MCP surface
Community health
Contributor trenddistinct committers, this year against last
Maintainer concentrationbus factor now against a year ago
Issue backlog trendissues closed per issue opened, 12 months
Responsivenessmedian time to a maintainer’s first reply
Nine scores for nuclei, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Each score is 0–100 on a published rubric, derived from data this site already shows.
A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
Documentation quality — the release-notes rubric published on the analytics page, unchanged.
Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail nuclei puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
23 readings of ProjectDiscovery's pricing page since Feb 2024, with 7 relaunches of its plan lineup and 4 changes to what its plans include — each one dated, compared with the reading before it, and explained for someone buying the tool.
Pricing and packaging history is included with Researcher and Business. See how every vendor we track sells, and how that has changed over time, using data we don't publish anywhere else.
Each offering on the pricing page links to its own page of plans, read at its latest capture.
Plan relaunches
Plans, prices and descriptions are quoted from the vendor's own pricing page as we read it on each date.
A plan missing from a later reading is shown as no longer listed on the page — a statement about the page, not the product.
Readings that failed to show any plans are left out rather than read as a change.
Website history
projectdiscovery.io, every change
ProjectDiscovery's home page and 3 more pages as they looked each month from August 2021 to October 2026: 18 renders, 4 changes of tagline or palette. Step through them, play them, or put any two months side by side.
Website history is included with Researcher and Business.
← → or h l a month · Shift a year · [ ] previous / next change · Space play · 1 2 3 page · T whole page · C compare · F full size
← → or h l the right month · Shift the left · S swap · W wipe · T whole page · Esc back
Rebranding timeline
Dates bound when a change appeared between captures. Possible rebrands are AI suggestions; a redesign alone does not establish a rebrand.
Releases
Show
103 entries
No entries match these filters.
August 20261
July 20265
June 20263
April 20261
March 20261
January 20261
December 20252
November 20251
August 20251
June 20251
May 20251
April 20251
March 20252
February 20251
December 20241
November 20241
October 20241
September 20243
August 20241
July 20242
June 20241
May 20242
April 20243
March 20241
February 20242
January 20243
December 20232
November 20233
October 20231
September 20232
August 20233
July 20232
June 20231
May 20233
April 20232
March 20231
February 20231
January 20234
December 20222
October 20221
August 20222
July 20222
June 20222
May 20222
April 20223
March 20221
February 20221
January 20222
December 20211
October 20211
September 20212
August 20211
July 20212
June 20211
May 20211
March 20213
November 20201
September 20201
August 20201
July 20201
April 20201
Project health
Issue, contributor and maintainer activity in projectdiscovery/nuclei, 2023-10 – 2026-09,
as of 2026-09-25. Twelve-month figures first; the trend lines run
the whole window.
Contributors75+6 vs prior 12 months
Maintainers6+2 joined · −4 left, last 12 months
Bus factor3committers behind half the commits
Community-filed72%of issues opened, last 12 months
Median time to close207 daysfirst maintainer reply 33 hours
Open backlog56of 2,949 issues ever filed
Issues opened / month7 · 1communitymaintainers
Open backlog56
Contributors / month10
Commits / month65
Stars31,280
Issue themes, last 12 months
bugs 49%
features 6%
questions 0%
other 45%
Counts from the project's public repository and git history; no individuals
are identified. Maintainers are the committers covering 80% of the last year's
commits. how we measure this
Threat coverage
Content for the last year of exploited CVEs and attack reports.
nuclei has content for 496 of the 982 threats tracked in the last year, 297 of them exact.
exact297names the CVE
related199names the technique or product
tracked982threats in the last year
See the threats, and how similar tools compare threat by threat, with Researcher and Business.