Convert Figma logo to code with AI

projectdiscovery logonuclei-templates

Community curated list of templates for the nuclei engine to find security vulnerabilities.

8,968
2,566
8,968
152

Top Related Projects

31,882

Automatic SQL injection and database takeover tool

11,780

In-depth attack surface mapping and asset discovery

A Tool for Domain Flyovers

13,141

Most advanced XSS scanner.

17,352

Protect and discover secrets using Gitleaks 🔑

Quick Overview

The projectdiscovery/nuclei-templates repository is a collection of community-contributed templates for the Nuclei vulnerability scanner. These templates enable users to detect a wide range of security issues, from common vulnerabilities to complex misconfigurations, across various technologies and platforms.

Pros

  • Extensive collection of templates covering a broad spectrum of vulnerabilities
  • Community-driven, ensuring regular updates and additions
  • Easy to use with the Nuclei scanner
  • Customizable and extendable for specific use cases

Cons

  • Quality of templates may vary due to community contributions
  • Potential for false positives if templates are not properly maintained
  • Requires careful use to avoid overwhelming target systems
  • May not cover all possible vulnerabilities or edge cases

Getting Started

To use these templates with Nuclei:

  1. Install Nuclei: go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
  2. Clone the templates repository:
    git clone https://github.com/projectdiscovery/nuclei-templates.git
    
  3. Run Nuclei with the templates:
    nuclei -u https://example.com -t nuclei-templates/
    

For more detailed usage and configuration options, refer to the Nuclei documentation.

Competitor Comparisons

31,882

Automatic SQL injection and database takeover tool

Pros of sqlmap

  • Specialized tool for SQL injection attacks, offering deep and comprehensive SQL vulnerability testing
  • Extensive database support, including MySQL, Oracle, PostgreSQL, and more
  • Automated exploitation of SQL injection vulnerabilities, saving time for security professionals

Cons of sqlmap

  • Limited to SQL injection vulnerabilities, unlike Nuclei-templates' broader scope
  • Steeper learning curve due to its complex features and command-line interface
  • May trigger more aggressive alerts on web application firewalls compared to Nuclei's templates

Code Comparison

sqlmap example:

python sqlmap.py -u "http://example.com/vulnerable.php?id=1" --dbs

Nuclei-templates example:

id: sql-injection
info:
  name: SQL Injection Detection
  severity: high
requests:
  - method: GET
    path: "{{BaseURL}}/?id=1'"

The sqlmap code demonstrates a direct command to test for SQL injection vulnerabilities, while the Nuclei-templates YAML file shows a more generalized template approach for detecting various vulnerabilities, including SQL injection.

Both repositories serve different purposes in the security testing ecosystem. sqlmap excels in deep SQL injection testing, while Nuclei-templates offers a broader, more flexible approach to vulnerability scanning across multiple attack vectors.

11,780

In-depth attack surface mapping and asset discovery

Pros of Amass

  • Comprehensive subdomain enumeration and network mapping capabilities
  • Active and passive data collection methods for thorough reconnaissance
  • Integrates with multiple external data sources for enhanced results

Cons of Amass

  • Steeper learning curve due to its extensive feature set
  • May generate more noise in results compared to targeted vulnerability scanning
  • Requires more system resources for large-scale scans

Code Comparison

Amass (Go):

func (e *Enumeration) executeAlterations(names []string) {
    for _, name := range names {
        e.executeAlteration(name)
    }
}

Nuclei-templates (YAML):

id: example-template
info:
  name: Example Template
  author: John Doe
  severity: info
requests:
  - method: GET
    path:
      - "{{BaseURL}}/example"
    matchers:
      - type: word
        words:
          - "Example Response"

While Amass focuses on subdomain enumeration and network mapping using Go, Nuclei-templates provides a framework for vulnerability scanning using YAML-based templates. Amass offers broader reconnaissance capabilities, while Nuclei-templates excels in targeted vulnerability detection with easily customizable templates.

A Tool for Domain Flyovers

Pros of Aquatone

  • Focused on web-based reconnaissance and screenshot capture
  • User-friendly and easy to integrate into existing workflows
  • Provides visual output for easier analysis of target websites

Cons of Aquatone

  • Limited scope compared to Nuclei-templates' broader vulnerability scanning capabilities
  • Less frequent updates and smaller community contributions
  • Lacks the extensive template library found in Nuclei-templates

Code Comparison

Aquatone (Ruby):

def run_command(cmd)
  Open3.popen3(cmd) do |stdin, stdout, stderr, wait_thr|
    while line = stdout.gets
      puts line
    end
  end
end

Nuclei-templates (YAML):

id: example-template
info:
  name: Example Template
  author: John Doe
  severity: info
requests:
  - method: GET
    path:
      - "{{BaseURL}}/example"
    matchers:
      - type: word
        words:
          - "Example Response"

While Aquatone focuses on web reconnaissance with Ruby-based scripts, Nuclei-templates uses YAML-based templates for broader vulnerability scanning. Aquatone is more specialized for visual analysis, while Nuclei-templates offers a wider range of security checks and community-driven template development.

13,141

Most advanced XSS scanner.

Pros of XSStrike

  • Focused specifically on XSS detection and exploitation
  • Includes an intelligent payload generator
  • Offers a command-line interface for easy integration into workflows

Cons of XSStrike

  • Limited to XSS vulnerabilities, while nuclei-templates covers a broader range of security issues
  • Less frequent updates compared to the actively maintained nuclei-templates
  • Smaller community and fewer contributors

Code Comparison

XSStrike:

def generate_payloads(occurences, response):
    payloads = []
    for i, occurence in enumerate(occurences):
        context = occurence['context']
        breaker = occurence['break']
        special = occurence['special']
        attribute = occurence['attribute']
        payload = fuzzer(context, special, breaker, attribute)
        payloads.append(payload)
    return payloads

nuclei-templates:

id: cve-2021-41773
info:
  name: Apache 2.4.49 - Path Traversal
  author: daffainfo
  severity: high
  description: A flaw was found in a change made to path normalization in Apache HTTP Server 2.4.49. An attacker could use a path traversal attack to map URLs to files outside the expected document root.
  reference:
    - https://github.com/apache/httpd/commit/e150697086e70c552b2588f369f2d17815cb1782
17,352

Protect and discover secrets using Gitleaks 🔑

Pros of gitleaks

  • Focused specifically on detecting secrets and sensitive information in Git repositories
  • Lightweight and easy to integrate into CI/CD pipelines
  • Supports custom regex patterns for detecting specific types of secrets

Cons of gitleaks

  • Limited to secret detection, while nuclei-templates covers a broader range of security checks
  • May produce more false positives compared to nuclei-templates' curated templates
  • Requires more manual configuration for custom secret patterns

Code Comparison

gitleaks:

func (d *Detector) Detect() ([]Report, error) {
    var reports []Report
    for _, f := range d.files {
        for _, r := range d.rules {
            if r.Match(f.Content) {
                reports = append(reports, Report{...})
            }
        }
    }
    return reports, nil
}

nuclei-templates:

id: example-template
info:
  name: Example Template
  severity: info
requests:
  - method: GET
    path:
      - "{{BaseURL}}/example"
    matchers:
      - type: word
        words:
          - "example response"

The code snippets illustrate the different approaches: gitleaks focuses on pattern matching for secrets, while nuclei-templates use YAML-based templates for various security checks.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Nuclei Templates

Community curated list of templates for the nuclei engine to find security vulnerabilities in applications.

Documentation • Contributions • Discussion • Community • FAQs • Join Discord


Templates are the core of the nuclei scanner which powers the actual scanning engine. This repository stores and houses various templates for the scanner provided by our team, as well as contributed by the community. We hope that you also contribute by sending templates via pull requests or Github issues to grow the list.

Nuclei Templates overview

An overview of the nuclei template project, including statistics on unique tags, author, directory, severity, and type of templates. The table below contains the top ten statistics for each matrix; an expanded version of this is available here, and also available in JSON format for integration.

Nuclei Templates Top 10 statistics

TAGCOUNTAUTHORCOUNTDIRECTORYCOUNTSEVERITYCOUNTTYPECOUNT
cve2667dhiyaneshdk1371http7836info3823file402
panel1184daffainfo866file402high1882dns25
wordpress1015dwisiswant0803workflows192medium1615
exposure981pussycat0x451network137critical1110
xss929ritikchaddha407cloud134low273
wp-plugin885pikpikcu353code81unknown41
osint806princechaddha304javascript63
tech708pdteam299ssl29
lfi696ricardomaia241dast25
misconfig692geeknik231dns22

678 directories, 9242 files.

📖 Documentation

Please navigate to https://nuclei.projectdiscovery.io for detailed documentation to build new or your own custom templates. We have also added a set of templates to help you understand how things work.

💪 Contributions

Nuclei-templates is powered by major contributions from the community. Template contributions , Feature Requests and Bug Reports are more than welcome.

Alt

💬 Discussion

Have questions / doubts / ideas to discuss? Feel free to open a discussion on Github discussions board.

👨‍💻 Community

You are welcome to join the active Discord Community to discuss directly with project maintainers and share things with others around security and automation. Additionally, you may follow us on Twitter to be updated on all the things about Nuclei.

Thanks again for your contribution and keeping this community vibrant. :heart: