PAGES
← all tools
◆ Web Application Security

nuclei

v3.11.1 open-source

Nuclei is a fast vulnerability scanner that uses simple YAML-based templates to detect vulnerabilities across applications, infrastructure, cloud platforms, and networks.

Summary

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.

How nuclei helps

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

all 67 features, with the evidence for each →

Languages

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.

Compare with peers →

  • nuclei covers 1 of the 8 vulnerability assessment methods capabilities we track.

What nuclei offers you

  • Command-line interface22
  • Ticketing integration2
  • CI/CD pipeline integration1
  • Scripting language support1
Web vulnerability scanning 12 features Vulnerability assessment methods since 2020
Headless protocol enhancements shipped Extends 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 following shipped Allows 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 scanning shipped Supports 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 capabilities shipped Enables 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 preview shipped Allows 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 support shipped Applies 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 enhancements shipped Adds 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 reuse shipped Supports 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 API shipped Provides 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 fuzzing shipped Allows 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 capabilities shipped Introduces 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 control shipped Allows 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 classified 55 features Features we have not matched to a capability yet. A suggested match is marked.
Output and reporting controls verified suggested Controls 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

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 scanning verified suggested Runs 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 processing shipped Provides 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 limiting verified suggested Enforces 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 customisation verified Lets 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 aes_gcm helper function v2.7.4 · 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
  • -var-file-paths v3.11.1 · Aug 2026 · command-line history

example

  • 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 management shipped Fetches 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 validation shipped Provides 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 primitives shipped Exposes 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 checks verified Resolves 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
  • System resolvers support via -r flag v2.3.0 · Mar 2021 · source · release history
  • DNS fallback support v2.3.0 · Mar 2021 · source · release history

command line

  • -var-file-paths v3.11.1 · Aug 2026 · command-line 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 integration shipped Exports 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 detection verified Identifies 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
  • Adds DNS TLSA record query support v2.8.4 · Jan 2023 · 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 verification shipped Requires 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 aggregation shipped Uploads 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 logic shipped Enables 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
  • Parallelism for workflows 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 support shipped Executes 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
  • Network based (TCP) protocol support v2.3.0 · Mar 2021 · source · release history
Memory profiling shipped Captures 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 usage shipped Exposes 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
  • File based template execution v2.3.0 · Mar 2021 · source · release history

example

  • 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 expansion shipped Extends 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

Payload sandboxing shipped Adds 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 customization shipped Allows 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 expansion shipped Extends 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 path shipped Allows 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 enhancements shipped Expands 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 dump shipped Provides 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
  • Optional variable dump feature v2.8.0 · Dec 2022 · source · release history

example

  • 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 referencing shipped Adds 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 authentication shipped suggested Allows 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 integration shipped Automatically 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 truncation shipped Provides 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

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 override shipped suggested Provides 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 detection shipped Automatically 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 handling shipped suggested Provides 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 support shipped suggested Extends 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 randomization shipped Randomizes 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 evaluation shipped Enables 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 reporting shipped Adds support for exporting scan findings directly to Elasticsearch via host reporting fields. 2 releases · first seen Oct 2022

release

Sequential request execution shipped suggested Allows 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 resolution shipped Enables 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 management shipped Allows 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 parameterization shipped Allows 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 support shipped Provides 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 execution shipped Enables 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 interaction shipped Allows 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 substitution shipped Allows 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 generation shipped Generates 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 backend shipped Supports 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 profiles shipped Allows 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 configuration shipped Provides 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 enumeration shipped Allows 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 injection shipped Allows injecting custom IP values into protocol-generated variables for specific network scenarios. 1 release · first seen Dec 2022

release

Connection error tolerance shipped Allows 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 listing shipped Provides a command to list all available DSL functions for template development. 1 release · first seen Oct 2022

Also counts toward: Command-line interface

release

TLS/SSL analysis integration shipped Integrates tlsx library to provide detailed TLS and SSL analysis capabilities for scanned hosts. 1 release · first seen Oct 2022

release

Network interface binding shipped Allows 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 diagnostics shipped Provides 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 logging shipped Writes 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.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median 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.

Score cards are part of every paid plan.

See plans →

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.

Checking release-note history…

Explore the full chart →

Commercials

pricing & packaging history · ProjectDiscovery vendor page

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.

See plans →

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.

See plans →

Releases

Show

103 entries

  1. August 20261
  2. July 20265
  3. June 20263
  4. April 20261
  5. March 20261
  6. January 20261
  7. December 20252
  8. November 20251
  9. August 20251
  10. June 20251
  11. May 20251
  12. April 20251
  13. March 20252
  14. February 20251
  15. December 20241
  16. November 20241
  17. October 20241
  18. September 20243
  19. August 20241
  20. July 20242
  21. June 20241
  22. May 20242
  23. April 20243
  24. March 20241
  25. February 20242
  26. January 20243
  27. December 20232
  28. November 20233
  29. October 20231
  30. September 20232
  31. August 20233
  32. July 20232
  33. June 20231
  34. May 20233
  35. April 20232
  36. March 20231
  37. February 20231
  38. January 20234
  39. December 20222
  40. October 20221
  41. August 20222
  42. July 20222
  43. June 20222
  44. May 20222
  45. April 20223
  46. March 20221
  47. February 20221
  48. January 20222
  49. December 20211
  50. October 20211
  51. September 20212
  52. August 20211
  53. July 20212
  54. June 20211
  55. May 20211
  56. March 20213
  57. November 20201
  58. September 20201
  59. August 20201
  60. July 20201
  61. April 20201
    Show

    103 entries

    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.

    1. Contributors 75 +6 vs prior 12 months
    2. Maintainers 6 +2 joined · −4 left, last 12 months
    3. Bus factor 3 committers behind half the commits
    4. Community-filed 72% of issues opened, last 12 months
    5. Median time to close 207 days first maintainer reply 33 hours
    6. Open backlog 56 of 2,949 issues ever filed
    1. Issues opened / month 7 · 1 communitymaintainers
    2. Open backlog 56
    3. Contributors / month 10
    4. Commits / month 65
    5. Stars 31,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.

    See plans → Already subscribed? Sign in →

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →