AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified Apache-2.0 Self-run

Nuclei

skill-mingyiseclab-mingyi-atlas-nuclei · by MingyiSecLab

Nuclei CLI parameter reference and usage patterns - YAML-template vulnerability scanning, target input modes, template filters, output formats, rate limits, ProjectDiscovery dashboard upload, and common scan commands.

— No reviews yet
0 installs
45 views
0.0% view→install

Install

$ agentstack add skill-mingyiseclab-mingyi-atlas-nuclei

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • ✓ Prompt-injection patterns
  • ✓ Secret / credential exfiltration
  • ✓ Dangerous shell & filesystem operations
  • ✓ Untrusted network calls
  • ✓ Known-malicious package signatures

What it can access

  • ● Network access Used
  • ✓ Filesystem access No
  • ✓ Shell / process execution No
  • ✓ Environment & secrets No
  • ✓ Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-mingyiseclab-mingyi-atlas-nuclei)

Reliability & compatibility

✓ Security review passed
0 installs to date
— no reviews yet
● 3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Nuclei? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

nuclei

Nuclei is a modern, high-performance vulnerability scanner that uses simple YAML-based templates. It helps design custom vulnerability detection scenarios that mimic real-world conditions, reducing false positives by verifying vulnerabilities with realistic steps.

Use this reference when constructing or reviewing nuclei commands. The flags below are expanded from nuclei -h.

Capabilities

  • Simple YAML format for creating and customizing vulnerability templates.
  • Community-contributed templates for trending vulnerabilities.
  • Real-world verification flows to reduce false positives.
  • Ultra-fast parallel scan processing and request clustering.
  • CI/CD integration for vulnerability detection and regression testing.
  • Multiple protocol support, including TCP, DNS, HTTP, SSL, WHOIS, JavaScript, Code, and more.
  • Integrations with Jira, Splunk, GitHub, Elastic, GitLab, ProjectDiscovery Cloud, APIs, and webhooks.

Table of Contents

  • Get Started
  • Installation
  • Command Line Flags
  • Common Command Combinations
  • Single Target Scan
  • Scanning Multiple Targets
  • Network Scan
  • Scanning With a Custom Template
  • Connect Nuclei to ProjectDiscovery
  • Nuclei Templates and Community
  • Template Use Cases

Get Started

Install Nuclei locally for CLI scanning, or use the ProjectDiscovery cloud tier to store and visualize findings, manage templates, access the latest nuclei templates, and discover/store targets.

Important notes:

  • Nuclei is in active development. Review release changelogs before updating because breaking changes can occur.
  • Nuclei is primarily built as a standalone CLI tool. Running it as a service can introduce security risks and should be done with additional controls.
  • Pro and Enterprise editions are available for teams that need large-scale scans, cloud integrations, Jira/Slack/Linear/API/webhook workflows, executive and compliance reporting, SAML SSO, SOC 2 compliance, regional hosting, and shared workspaces.

Installation

Nuclei requires Go >= 1.24.2 for source installation:

go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

Installation docs:

Usage

nuclei [flags]
./nuclei [flags]

Common Command Combinations

Quick, findings-only scan:

nuclei -u https://example.com -silent

High-signal scan for serious findings:

nuclei -u https://example.com -severity high,critical -silent

Scan a target list and write JSONL output:

nuclei -l urls.txt -jsonl -o nuclei_findings.jsonl

Scan only selected tags:

nuclei -u https://example.com -tags cve,exposure,misconfig

Exclude noisy severities or tags:

nuclei -l urls.txt -es info,low -etags intrusive,dos

Run specific template paths:

nuclei -u https://example.com -t http/cves/ -t ssl/

Run a specific template ID or wildcard:

nuclei -u https://example.com -id cves/2021/CVE-2021-44228
nuclei -u https://example.com -id '*jenkins*'

Use authenticated headers:

nuclei -u https://example.com -H 'Authorization: Bearer ' -H 'Cookie: session='

Use variables consumed by templates:

nuclei -u https://example.com -V username=admin -V password=''

Throttle scans for fragile or shared environments:

nuclei -l urls.txt -rl 20 -c 10 -bs 10 -timeout 15 -retries 2

Route traffic through a proxy:

nuclei -u https://example.com -proxy http://127.0.0.1:8080

Store evidence and redact sensitive keys:

nuclei -u https://example.com -jsonl -o findings.jsonl -sresp -srd nuclei_evidence -rd token,authorization,cookie

Export reports:

nuclei -l urls.txt -me nuclei_report/
nuclei -l urls.txt -se nuclei.sarif
nuclei -l urls.txt -je nuclei.json

Upload findings to ProjectDiscovery Cloud dashboard:

nuclei -l urls.txt -dashboard

Update engine and templates:

nuclei -update
nuclei -update-templates

Validate custom templates before running:

nuclei -validate -t /path/to/templates/

Use DAST fuzzing templates with a scoped target:

nuclei -u https://example.com -dast -fuzz-scope '^https://example\.com/' -fa low

Target

| Flag | Description | | --- | --- | | -u, -target string[] | Target URLs/hosts to scan. | | -l, -list string | Path to file containing target URLs/hosts to scan, one per line. | | -eh, -exclude-hosts string[] | Hosts to exclude from the input list: IP, CIDR, hostname. | | -resume string | Resume scan from and save to the specified file. Clustering is disabled. | | -sa, -scan-all-ips | Scan all IPs associated with a DNS record. | | -iv, -ip-version string[] | IP version to scan for hostname: 4, 6. Default: 4. |

Target Format

| Flag | Description | | --- | --- | | -im, -input-mode string | Input file mode: list, burp, jsonl, yaml, openapi, swagger. Default: list. | | -ro, -required-only | Use only required fields in input format when generating requests. | | -sfv, -skip-format-validation | Skip format validation, such as missing vars, when parsing input file. |

Templates

| Flag | Description | | --- | --- | | -nt, -new-templates | Run only new templates added in the latest nuclei-templates release. | | -ntv, -new-templates-version string[] | Run new templates added in a specific version. | | -as, -automatic-scan | Automatic web scan using Wappalyzer technology detection to tags mapping. | | -t, -templates string[] | Template file or directory to run. Supports comma-separated values and file input. | | -turl, -template-url string[] | Template URL or list containing template URLs to run. Supports comma-separated values and file input. | | -ai, -prompt string | Generate and run a template using an AI prompt. | | -w, -workflows string[] | Workflow file or directory to run. Supports comma-separated values and file input. | | -wurl, -workflow-url string[] | Workflow URL or list containing workflow URLs to run. Supports comma-separated values and file input. | | -validate | Validate the passed templates. | | -nss, -no-strict-syntax | Disable strict syntax check on templates. | | -td, -template-display | Display template content. | | -tl | List all templates matching current filters. | | -tgl | List all available tags. | | -sign | Sign templates with private key from NUCLEI_SIGNATURE_PRIVATE_KEY. | | -code | Enable loading code protocol-based templates. | | -dut, -disable-unsigned-templates | Disable running unsigned templates or templates with mismatched signature. | | -esc, -enable-self-contained | Enable loading self-contained templates. | | -egm, -enable-global-matchers | Enable loading global matchers templates. | | -file | Enable loading file templates. |

Filtering

| Flag | Description | | --- | --- | | -a, -author string[] | Run templates by author. Supports comma-separated values and file input. | | -tags string[] | Run templates by tags. Supports comma-separated values and file input. | | -etags, -exclude-tags string[] | Exclude templates by tags. Supports comma-separated values and file input. | | -itags, -include-tags string[] | Execute tags even if they are excluded by default or configuration. | | -id, -template-id string[] | Run templates by template IDs. Supports comma-separated values, file input, and wildcards. | | -eid, -exclude-id string[] | Exclude templates by template IDs. Supports comma-separated values and file input. | | -it, -include-templates string[] | Template file or directory to execute even if excluded by default or configuration. | | -et, -exclude-templates string[] | Template file or directory to exclude. Supports comma-separated values and file input. | | -em, -exclude-matchers string[] | Template matchers to exclude in results. | | -s, -severity value[] | Run templates by severity: info, low, medium, high, critical, unknown. | | -es, -exclude-severity value[] | Exclude templates by severity: info, low, medium, high, critical, unknown. | | -pt, -type value[] | Run templates by protocol type: dns, file, http, headless, tcp, workflow, ssl, websocket, whois, code, javascript. | | -ept, -exclude-type value[] | Exclude templates by protocol type: dns, file, http, headless, tcp, workflow, ssl, websocket, whois, code, javascript. | | -tc, -template-condition string[] | Run templates by expression condition. |

Output

| Flag | Description | | --- | --- | | -o, -output string | Output file to write found issues/vulnerabilities. | | -sresp, -store-resp | Store all requests/responses passed through nuclei to output directory. | | -srd, -store-resp-dir string | Store all requests/responses to a custom directory. Default: output. | | -silent | Display findings only. | | -nc, -no-color | Disable ANSI color output. | | -j, -jsonl | Write output in JSON Lines format. | | -irr, -include-rr -omit-raw | Include request/response pairs in JSON, JSONL, and Markdown outputs for findings only. Deprecated; use -omit-raw. Default: true. | | -or, -omit-raw | Omit request/response pairs in JSON, JSONL, and Markdown outputs for findings only. | | -ot, -omit-template | Omit encoded template in JSON and JSONL output. | | -nm, -no-meta | Disable printing result metadata in CLI output. | | -ts, -timestamp | Enable printing timestamp in CLI output. | | -rdb, -report-db string | Nuclei reporting database. Always use this to persist report data. | | -ms, -matcher-status | Display match failure status. | | -me, -markdown-export string | Directory to export results in Markdown format. | | -se, -sarif-export string | File to export results in SARIF format. | | -je, -json-export string | File to export results in JSON format. | | -jle, -jsonl-export string | File to export results in JSON Lines format. | | -rd, -redact string[] | Redact keys from query parameters, request headers, and body. |

Configurations

| Flag | Description | | --- | --- | | -config string | Path to nuclei configuration file. | | -tp, -profile string | Template profile config file to run. | | -tpl, -profile-list | List community template profiles. | | -fr, -follow-redirects | Enable following redirects for HTTP templates. | | -fhr, -follow-host-redirects | Follow redirects on the same host. | | -mr, -max-redirects int | Maximum redirects to follow for HTTP templates. Default: 10. | | -dr, -disable-redirects | Disable redirects for HTTP templates. | | -rc, -report-config string | Nuclei reporting module configuration file. | | -H, -header string[] | Custom header/cookie for all HTTP requests in header:value format. Supports CLI and file input. | | -V, -var value | Custom vars in key=value format. | | -r, -resolvers string | File containing resolver list for nuclei. | | -sr, -system-resolvers | Use system DNS resolving as error fallback. | | -dc, -disable-clustering | Disable request clustering. | | -passive | Enable passive HTTP response processing mode. | | -fh2, -force-http2 | Force HTTP/2 connection on requests. | | -ev, -env-vars | Enable environment variables in templates. | | -cc, -client-cert string | PEM client certificate file for authenticating against scanned hosts. | | -ck, -client-key string | PEM client key file for authenticating against scanned hosts. | | -ca, -client-ca string | PEM client certificate authority file for authenticating against scanned hosts. | | -sml, -show-match-line | Show match lines for file templates. Works with extractors only. | | -ztls | Use ztls library with autofallback to standard one for TLS 1.3. Deprecated; autofallback to ztls is enabled by default. | | -sni string | TLS SNI hostname to use. Default: input domain name. | | -dka, -dialer-keep-alive value | Keep-alive duration for network requests. | | -lfa, -allow-local-file-access | Allow file payload access anywhere on the system. | | -lna, -restrict-local-network-access | Block connections to local/private networks. | | -i, -interface string | Network interface to use for network scan. | | -at, -attack-type string | Payload combination type: batteringram, pitchfork, clusterbomb. | | -sip, -source-ip string | Source IP address to use for network scan. | | -rsr, -response-size-read int | Maximum response size to read, in bytes. | | -rss, -response-size-save int | Maximum response size to save, in bytes. Default: 1048576. | | -reset | Remove all nuclei configuration and data files, including nuclei-templates. | | -tlsi, -tls-impersonate | Enable experimental ClientHello/JA3 TLS randomization. | | -hae, -http-api-endpoint string | Experimental HTTP API endpoint. |

Interactsh

| Flag | Description | | --- | --- | | -iserver, -interactsh-server string | Interactsh server URL for self-hosted instance. Default: oast.pro,oast.live,oast.site,oast.online,oast.fun,oast.me. | | -itoken, -interactsh-token string | Authentication token for self-hosted Interactsh server. | | -interactions-cache-size int | Number of requests to keep in the interactions cache. Default: 5000. | | -interactions-eviction int | Seconds to wait before evicting requests from cache. Default: 60. | | -interactions-poll-duration int | Seconds to wait before each interaction poll request. Default: 5. | | -interactions-cooldown-period int | Extra time for interaction polling before exiting. Default: 5. | | -ni, -no-interactsh | Disable Interactsh server for OAST testing and exclude OAST-based templates. |

Fuzzing

| Flag | Description | | --- | --- | | -ft, -fuzzing-type string | Override fuzzing type set in template: replace, prefix, postfix, infix. | | -fm, -fuzzing-mode string | Override fuzzing mode set in template: multiple, single. | | -fuzz | Enable loading fuzzing templates. Deprecated; use -dast. | | -dast | Enable/run DAST fuzz templates. | | -dts, -dast-server | Enable DAST server mode for live fuzzing. | | -dtr, -dast-report | Write DAST scan report to file. | | -dtst, -dast-server-token string | DAST server token. Optional. | | -dtsa, -dast-server-address string | DAST server address. Default: localhost:9055. | | -dfp, -display-fuzz-points | Display fuzz points in output for debugging. | | -fuzz-param-frequency int | Frequency of uninteresting parameters before skipping. Default: 10. | | -fa, -fuzz-aggression string | Fuzzing aggression level controlling payload count: low, medium, high. Default: low. | | -cs, -fuzz-scope string[] | In-scope URL regex followed by the fuzzer. | | -cos, -fuzz-out-scope string[] | Out-of-scope URL regex excluded by the fuzzer. |

Uncover

| Flag | Description | | --- | --- | | -uc, -uncover | Enable uncover engine. | | -uq, -uncover-query string[] | Uncover search query. | | -ue, -uncover-engine string[] | Uncover search engine: shodan, censys, fofa, shodan-idb, quake, hunter, zoomeye, netlas, criminalip, publicwww, hunterhow, google. Default: shodan. | | -uf, -uncover-field string | Fields to return: ip, port, host. Default: ip:port. | | -ul, -uncover-limit int | Number of uncover results to return. Default: 100. | | -ur, -uncover-ratelimit int | Override rate limit of engines with unknown rate limit. Default: 60 req/min. |

Rate Limit

| Flag | Description | | --- | --- | | -rl, -rate-limit int | Maximum requests per second. Default: 150. | | -rld, -rate-limit-duration value | Rate-limit duration window. Default: 1s. | | -rlm, -rate-limit-minute int | Maximum requests per minute. Deprecated. | | -bs, -bulk-size int | Maximum hosts analyzed in parall

…

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.