{
  "id": "nuclei",
  "name": "Nuclei",
  "homepage": "https://projectdiscovery.io/nuclei",
  "description": "A fast and customizable vulnerability scanner based on a simple YAML DSL.",
  "executables": [
    "nuclei"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/nuclei/config.yaml",
      "[configHome]/nuclei-templates/"
    ],
    "secret": [],
    "secret_paths": [
      {
        "file": "[configHome]/nuclei/config.yaml",
        "format": "yaml",
        "match": {
          "key_path": [
            "header"
          ]
        }
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Scan targets",
    "description": "Run Nuclei templates against URLs or a target list. Only active scanning of systems you are authorized to test; DAST, headless and cloud options are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "docs",
        "kind": "manual",
        "url": "https://docs.projectdiscovery.io/opensource/nuclei/running",
        "revision": "2026-10-27",
        "evidence": "   -u, -target string[]          target URLs/hosts to scan\n   -l, -list string              path to file containing a list of target URLs/hosts to scan (one per line)\n   -t, -templates string[]                list of template or template directory to run (comma-separated, file)\n   -tags string[]                     templates to run based on tags (comma-separated, file)\n   -etags, -exclude-tags string[]     templates to exclude based on tags (comma-separated, file)\n   -s, -severity value[]              templates to run based on severity. Possible values: info, low, medium, high, critical, unknown\n   -o, -output string            output file to write found issues/vulnerabilities\n   -silent                       display findings only\n   -j, -jsonl                    write output in JSONL(ines) format\n   -rl, -rate-limit int               maximum number of requests to send per second (default 150)\n   -c, -concurrency int               maximum number of templates to be executed in parallel (default 25)\n   -timeout int                     time to wait in seconds before timeout (default 10)\n   -duc, -disable-update-check       disable automatic nuclei/templates update check"
      }
    ],
    "field": [
      {
        "id": "target",
        "label": "Target URL or host",
        "type": "string",
        "option": [
          "-u",
          "-target"
        ],
        "multiple": true,
        "sources": [
          "docs"
        ]
      },
      {
        "id": "list",
        "label": "Target list file",
        "description": "One target per line.",
        "type": "path",
        "option": [
          "-l",
          "-list"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "docs"
        ]
      },
      {
        "id": "templates",
        "label": "Templates",
        "description": "Template file or directory.",
        "type": "path",
        "option": [
          "-t",
          "-templates"
        ],
        "path": {
          "kind": "any",
          "role": "input"
        },
        "multiple": true,
        "sources": [
          "docs"
        ]
      },
      {
        "id": "tags",
        "label": "Tags",
        "description": "Comma-separated template tags.",
        "type": "string",
        "option": [
          "-tags"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "exclude_tags",
        "label": "Exclude tags",
        "type": "string",
        "option": [
          "-etags",
          "-exclude-tags"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "severity",
        "label": "Severity",
        "description": "Comma-separated: info, low, medium, high, critical, unknown.",
        "type": "string",
        "option": [
          "-s",
          "-severity"
        ],
        "suggestions": [
          {
            "value": "critical,high",
            "label": "critical,high"
          },
          {
            "value": "medium",
            "label": "medium"
          },
          {
            "value": "low,info",
            "label": "low,info"
          }
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "output",
        "label": "Output file",
        "type": "path",
        "option": [
          "-o",
          "-output"
        ],
        "path": {
          "kind": "file",
          "role": "output",
          "must_exist": false
        },
        "effect": "overwrite",
        "sources": [
          "docs"
        ]
      },
      {
        "id": "jsonl",
        "label": "JSONL output",
        "type": "boolean",
        "option": [
          "-j",
          "-jsonl"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "silent",
        "label": "Findings only",
        "type": "boolean",
        "option": [
          "-silent"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "rate_limit",
        "label": "Requests per second",
        "type": "integer",
        "option": [
          "-rl",
          "-rate-limit"
        ],
        "observed_default": "150",
        "sources": [
          "docs"
        ]
      },
      {
        "id": "concurrency",
        "label": "Parallel templates",
        "type": "integer",
        "option": [
          "-c",
          "-concurrency"
        ],
        "observed_default": "25",
        "sources": [
          "docs"
        ]
      },
      {
        "id": "timeout",
        "label": "Timeout (seconds)",
        "type": "integer",
        "option": [
          "-timeout"
        ],
        "observed_default": "10",
        "sources": [
          "docs"
        ]
      },
      {
        "id": "no_update_check",
        "label": "Skip update check",
        "type": "boolean",
        "option": [
          "-duc",
          "-disable-update-check"
        ],
        "sources": [
          "docs"
        ]
      }
    ],
    "task": [
      {
        "id": "scan_url",
        "label": "Scan a URL",
        "fields": [
          "target",
          "severity",
          "silent"
        ],
        "required": [
          "target"
        ]
      },
      {
        "id": "scan_list",
        "label": "Scan a target list",
        "fields": [
          "list",
          "templates",
          "severity",
          "output"
        ],
        "required": [
          "list"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "target",
          "list",
          "templates",
          "tags",
          "exclude_tags",
          "severity",
          "output"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "jsonl",
          "silent",
          "rate_limit",
          "concurrency",
          "timeout",
          "no_update_check"
        ]
      }
    ]
  }
}
