nuclei
CLAUDE.md33k starsChanged 11 months agoMITView on GitHub
Nuclei is a modern, high-performance vulnerability scanner built in Go that leverages YAML-based templates for customizable vulnerability detection. It supports multiple protocols (HTTP, DNS, TCP, SSL, WebSocket, WHOIS, JavaScript, Code) and is designed for zero false positives through real-world condition simulation.
We split this CLAUDE.md into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 31
Run single test: go test -v ./pkg/path/to/package -run TestName
≈ “Common” is an estimate: at least 1 in 5 of the 25,680 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
Nuclei is a modern, high-performance vulnerability scanner built in Go that leverages YAML-based templates for customizable vulnerability detection. It supports multiple protocols (HTTP, DNS, TCP, SSL, WebSocket, WHOIS, JavaScript, Code) and is designed for zero false positives through real-world condition simulation.
Development Commands
Building and Testing
make build- Build the main nuclei binary to ./bin/nucleimake test- Run unit tests with race detectionmake integration- Run the native integration suite viago test -tags=integration ./internal/tests/integrationmake functional- CI-only functional suite entry pointmake vet- Run go vet for code analysismake tidy- Clean up go modules
Validation and Linting
make template-validate- Validate nuclei templates using the built binarygo fmt ./...- Format Go codego vet ./...- Static analysis
Development Tools
make devtools-all- Build all development tools (bindgen, tsgen, scrapefuncs)make jsupdate-all- Update JavaScript bindings and TypeScript definitionsmake docs- Generate documentationmake memogen- Generate memoization code for JavaScript libraries
Testing Specific Components
- Run single test:
go test -v ./pkg/path/to/package -run TestName - Integration tests are in
internal/tests/integration/and run viago test -tags=integration ./internal/tests/integration
Architecture Overview
Core Components
- cmd/nuclei - Main CLI entry point with flag parsing and configuration
- internal/runner - Core runner that orchestrates the entire scanning process
- pkg/core - Execution engine with work pools and template clustering
- pkg/templates - Template parsing, compilation, and management
- pkg/protocols - Protocol implementations (HTTP, DNS, Network, etc.)
- pkg/operators - Matching and extraction logic (matchers/extractors)
- pkg/catalog - Template discovery and loading from disk/remote sources
Protocol Architecture
Each protocol (HTTP, DNS, Network, etc.) implements:
- Request interface with Compile(), ExecuteWithResults(), Match(), Extract() methods
- Operators embedding for matching/extraction functionality
- Protocol-specific request building and execution logic
Template System
- Templates are YAML files defining vulnerability detection logic
- Compiled into executable requests with operators (matchers/extractors)
- Support for workflows (multistep template execution)
- Template clustering optimizes identical requests across multiple templates
Key Execution Flow
- Template loading and compilation via pkg/catalog/loader
- Input provider setup for targets
- Engine creation with work pools for concurrency
- Template execution with result collection via operators
- Output writing and reporting integration
JavaScript Integration
- Custom JavaScript runtime for code protocol templates
- Auto-generated bindings in pkg/js/generated/
- Library implementations in pkg/js/libs/
- Development tools for binding generation in pkg/js/devtools/
Template Development
- Templates located in separate nuclei-templates repository
- YAML format with info, requests, and operators sections
- Support for multiple protocol types in single template
- Built-in DSL functions for dynamic content generation
- Template validation available via
make template-validate
Key Directories
- lib/ - SDK for embedding nuclei as a library
- examples/ - Usage examples for different scenarios
- internal/tests/integration/ - Native integration suite and owned testdata for harness coverage
- internal/tests/functional/ - CI-only native functional comparison suite and testcase assets
- pkg/fuzz/ - Fuzzing engine and DAST capabilities
- pkg/input/ - Input processing for various formats (Burp, OpenAPI, etc.)
- pkg/reporting/ - Result export and issue tracking integrations See SECURITY_CONTEXT.md for this repo's known vulnerabilities and recurring weak spots. Check it before writing or reviewing security-sensitive code.
Trending
Quiet since August.about the whole repository
Who's talking about projectdiscovery/nuclei
- Sathvik Techtuber“Getting Started with Nuclei”YouTube · Jul 23, 2023 · 22k views
- Secret Letters of a Hacker“Bug bounty step by step PART 2 Vulnerability Scanning #bugbounty”YouTube · Oct 3, 2020 · 7.6k views
- Hacktify Cyber Security“Nuclei by Project Discovery | Writing YAML Template | Exclusive Templates”YouTube · Jun 18, 2021 · 4.7k views
- Secureaks“Nuclei : Simplifiez vos scans de vulnérabilités Web”YouTube · Jan 11, 2025 · 4.4k views
- RGSecurityTeam“This Tool Finds Vulnerabilities 10x Faster (Nuclei Tutorial)”YouTube · Oct 8, 2025 · 4k views
The biggest 5 of 48 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 48
Talked about on GitHub, YouTube, Bluesky, Hacker News and the web (48 times).
On GitHub · 21
- Dec 16, 2025go 1.26.0, go@1.25 1.25.7 (new formula) — Homebrew/homebrew-core12 reactions · 10 comments
- Jun 12, 2025go 1.25.0, go@1.24 1.24.6 (new formula) — Homebrew/homebrew-core11 reactions · 5 comments
- Jul 21, 2020Feature - If Possible Implement nuclei — yogeshojha/rengine10 reactions · 1 comment
- Jul 29, 2024etoro.com/trading/fees. — NickVK9/Cisco-Meraki-Selenium-project8 reactions
- Jan 5, 2024Nuclei removed url fragment (#) In their HTTP request — projectdiscovery/nuclei-templates6 reactions · 1 comment
16 more on GitHub
- Apr 21, 2020add files/zip-files.yaml — projectdiscovery/nuclei-templates5 reactions · 1 comment
- Mar 31, 2026[Bug] make setup fails on fresh install (Go version mismatch & bash script errors) on Kali Linux — bhavsec/autopentest-ai4 reactions · 1 comment
- Jun 4, 2023nuclei install fail — pry0cc/axiom4 reactions · 2 comments
- Jan 5, 2026Update zcrypto dependency to support TLS 1.3 — projectdiscovery/tlsx3 reactions · 2 comments
- Sep 28, 2023algorithm in generate_jwt helper should be a required parameter — projectdiscovery/dsl3 reactions
- Apr 20, 2023Adding ms10-17 (Eternalblue) — projectdiscovery/nuclei-templates3 reactions · 1 comment
- Apr 16, 2023Adding CVE-2022-24706 (couchdb RCE) — projectdiscovery/nuclei-templates3 reactions
- Apr 9, 2023protocol syntax update — projectdiscovery/nuclei-templates3 reactions · 2 comments
- Mar 22, 2023improved http url screenshot template — projectdiscovery/nuclei-templates3 reactions · 1 comment
- Sep 4, 2020Update top-15-xss.yaml — projectdiscovery/nuclei-templates3 reactions · 1 comment
- Apr 19, 2026Update nuclei to 3.8.0 — blacklanternsecurity/bbot2 reactions · 2 comments
- Mar 18, 2025feat: use unsafe cipher suites — projectdiscovery/fastdialer2 reactions
- Feb 8, 2023Added CVE-2023-0669 - GoAnywhere MFT - Remote Code Execution (ZeroDay) — projectdiscovery/nuclei-templates2 reactions
- Jan 6, 2023fix edit button — projectdiscovery/nuclei-docs2 reactions
- Aug 20, 2021Added new security scanner: nuclei — secureCodeBox/secureCodeBox2 reactions · 3 comments
- Aug 10, 2024Update GitHub Pages Takeover Detection Templates to Reflect New GitHub Policy — projectdiscovery/nuclei-templates1 reaction · 2 comments
On YouTube · 19
- Jul 23, 2023Getting Started with Nuclei — Sathvik Techtuber22k views · 5 comments
- Oct 3, 2020Bug bounty step by step PART 2 Vulnerability Scanning #bugbounty — Secret Letters of a Hacker7.6k views · 24 comments
- Jun 18, 2021Nuclei by Project Discovery | Writing YAML Template | Exclusive Templates — Hacktify Cyber Security4.7k views · 11 comments
- Jan 11, 2025Nuclei : Simplifiez vos scans de vulnérabilités Web — Secureaks4.4k views · 13 comments
- Oct 8, 2025This Tool Finds Vulnerabilities 10x Faster (Nuclei Tutorial) — RGSecurityTeamsays it tested it4k views · 2 comments
14 more on YouTube
- Jun 9, 2023Extracting Data from Targets using Nuclei — ProjectDiscovery3.3k views · 2 comments
- Feb 9, 2021Bug Bounty Automation: Discovering Nuclei by projectdiscovery — The XSS Rat3.3k views · 18 comments
- May 11, 2023All about Nuclei Matchers — ProjectDiscovery2.6k views · 2 comments
- Aug 26, 2021How to Install Nuclei on macOS: Fast and Customizable Vulnerability Scanner and BugBounty Tool — TheLinuxOS1.5k views
- Jan 12, 2023The Mind Behind Nuclei, Demo with Sandeep Singh — Bishop Fox853 views · 1 comment
- Aug 26, 2021Intro to Nuclei scanner - template workflow demos - Part 3 — CYBER BYTES845 views · 5 comments
- Feb 26, 2021Nuclei Installation | Bug Bounty | I'm Yodhha #1 — Brut Security713 views · 1 comment
- Dec 8, 2021🇫🇷 #LMHB 2.1 : AppSec 101 avec Toufik Airane (ProjectDiscovery / Nuclei) — tonygo_554 views · 4 comments
- Sep 25, 2023Nuclei by Project Discovery #nuclei #bugbounty #devops — School Dropout362 views
- Apr 29, 2023Nuclei Intro For Bug Bounty Hunters - Eps 1 — Learn&Teach281 views
- Sep 19, 2023Nuclei — Cyph3r239 views
- Aug 31, 2026The Free AI Hacking Stack Nobody's Talking About — MAXI209 views
- Jun 29, 2023When hunters become prey - CSTI? in Nuclei — ThreatCat72 views
- Aug 16, 2024GitHub - projectdiscovery/nuclei: Fast and customizable vulnerability scanner based on simple YAM... — GitHub Daily Trend AI Podcast39 views
On Bluesky · 6
- Jan 30, 2026Nuclei : un outil Open Source de détection de vulnérabilités, conçu pour la rapidité et la modularité. 👉 github.com/projectdi... — @bearstech.com17 likes and reposts
- May 3, 2026nuclei by @pdiscoveryio (⭐️ 28188) Nuclei is a fast, customizable vulnerability scanner powered by the global security community and built… — @golangoss.bsky.social1 likes and repost
- Jan 7, 2025📦 projectdiscovery / nuclei ⭐ 21,320 (+24) 🗒 Go Nuclei is a fast, customizable vulnerability scanner powered by the global security… — @github-trending.bsky.social1 likes and repost
- Dec 5, 2024Tools from Webcast: Nikto - github.com/sullo/nikto Nuclei - github.com/projectdisco... Golang - go.dev/doc/install File(s) used in… — @bhinfosecurity.bsky.social1 likes and repost
- Aug 2, 2024今日のGitHubトレンド projectdiscovery/nuclei projectdiscovery/nucleiリポジトリは、YAMLベースのDSLで定義されたテンプレートを使って、さまざまなプロトコルで脆弱性スキャンを行うためのツールです。… — @dailygithubtrends.bsky.social1 likes and repost
1 more on Bluesky
- Aug 28, 2024🚀 Skyrocketing! 🚀 (200+ new stars) 📦 projectdiscovery / nuclei ⭐ 19,451 (+217) 🗒 Go Fast and customizable vulnerability scanner based… — @github-trending.bsky.social0 likes and reposts · 1 reply
On Hacker News · 1
- Jan 20, 2021Nuclei – http vulnerability scanning based on templates1 point
On the web · 1
- Jun 22, 2020nuclei module - github.com/projectdiscovery/nuclei — pkg.go.dev
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

