You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi guys.
I am a community member who has been using Nuclei for a long time and who has prepared more than 200 templates and sent them to the nuclei-templates repository. In this process I have dealt with scenarios that include both tests involving active exploitation and those containing version/fingerprint checks.
Over time I noticed a very fundamental need:
Nuclei currently handles whether a system is “risky” or “exploitable” under a single detection logic.
However, these two concepts — potential risk and confirmed impact — have very different security priorities in practice.
Where I Drew Inspiration?
The Golden Ticket / Silver Ticket concept in Active Directory became the starting point of this structure. Although they are not tightly related (perhaps only their names are similar 😄), when applied here:
Gold: Active exploitation test that confirms impact
Silver: Risky system detection via version/fingerprint
In particular, even if in some cases I couldn’t directly perform an exploit, I could detect that vulnerable systems were operational:
WAFs can block payloads (e.g. /etc/passwd).
CORS errors or access restrictions prevent impact.
Still, the product version or page content clearly shows that it is vulnerable.
These detections are vitally important for security hardening even if there is no active attack.
Proposed Structure: and Layers
gold: – Active Detection
Purpose: To prove exploitability
Content: Active payloads (SSRF, RCE, file access, etc.)
Behavior: Runs by default
silver: – Passive Detection
Purpose: To determine version, product, or configuration risk
Content: readme.txt, headers, banner, metadata, version matches
Behavior: Runs only with the --with-silver or --only-silver CLI flag
Benefits of This Approach
Conceptual Clarity: The type of risk (confirmed vs. potential) can be separated.
Secure Default: Silver does not come into play unless the user explicitly wants it.
Increased Community Participation: Anyone who knows version information can contribute; vulnerabilities that don’t require proof of concept can be acted on quickly.
Automated Template Generation: Silver-only templates can be generated from sources like CVE/NVD.
Test Safety: Passive checks can be safely run even on production systems.
Reporting Depth: Vulnerability detection can be positioned more accurately in reports.
Process Separation: Silver → planned hardening, Gold → urgent response processes are supported.
CI/CD Compatibility: Automation steps like silver warning, gold stop can be defined.
Easier Security Hardening: Systems to be prioritized become clear.
Automated WordPress Templates: Silver-only templates can be generated for thousands of plugins, and Gold/Silver can complement each other.
Answers to Possible Questions
Does this structure require changes to the Nuclei engine?
Yes. However, this work not only forms a strong foundation for this model but also for future detection logic. Existing classic templates containing http: are automatically interpreted as gold, preserving backward compatibility.
Will the CLI become more complicated?
No. The --with-silver, --only-silver, and --only-gold flags are intuitive and user-friendly.
Will silver-only templates be skipped?
Yes. If the user does not use the silver flag, templates containing only silver blocks will not run.
Do filters like or trigger Silver?
No. Only the relevant CLI flags activate the silver layer.
Will the YAML file become more complicated?
Even if the file grows, readability and maintainability increase because the blocks are isolated.
Will the community split?
No. A more balanced and contribution-friendly structure forms according to areas of expertise. Non-technical users can also contribute version-based checks.
Could Silver mislead users?
No. Silver scans are opt-in and clearly flagged.
Do Gold and Silver interfere?
No. They are isolated layers with independent lifecycles and updates.
Will metadata incompatibility occur?
No. All info: and classification: fields remain at the top; only detection logic is layered.
How will the user know what they tested?
CLI flags (--with-silver, --only-silver, --only-gold) and layer information in the logs make it explicit.
Why does it truly make a difference?
A version-based finding—while not immediately exploitable—signals that a system needs hardening. In enterprise security, that distinction is critical.
Planned Implementations
CLI Enhancements: Add --with-silver, --only-silver, and --only-gold flags.
YAML Parser Updates: Parse separate gold: and silver: blocks.
Template Validator: Include layer information (e.g. “silver-only”) in nuclei validate output.
Conclusion
This structure deepens the meaning of Nuclei templates, simplifies control over security testing and encourages wider community participation. It also facilitates automation and hardening processes. I aim to take the power of Nuclei one step further by applying the Gold/Silver Ticket concept (not exactly the same, I know) to technical vulnerability detection.
With love to the ProjectDiscovery Community
— Kazgangap
Describe your feature request
Hi guys.
I am a community member who has been using Nuclei for a long time and who has prepared more than 200 templates and sent them to the nuclei-templates repository. In this process I have dealt with scenarios that include both tests involving active exploitation and those containing version/fingerprint checks.
Over time I noticed a very fundamental need:
Nuclei currently handles whether a system is “risky” or “exploitable” under a single detection logic.
However, these two concepts — potential risk and confirmed impact — have very different security priorities in practice.
Where I Drew Inspiration?
The Golden Ticket / Silver Ticket concept in Active Directory became the starting point of this structure. Although they are not tightly related (perhaps only their names are similar 😄), when applied here:
In particular, even if in some cases I couldn’t directly perform an exploit, I could detect that vulnerable systems were operational:
These detections are vitally important for security hardening even if there is no active attack.
Proposed Structure: and Layers
gold: – Active Detection
Purpose: To prove exploitability
Content: Active payloads (SSRF, RCE, file access, etc.)
Behavior: Runs by default
silver: – Passive Detection
Purpose: To determine version, product, or configuration risk
Content: readme.txt, headers, banner, metadata, version matches
Behavior: Runs only with the --with-silver or --only-silver CLI flag
Benefits of This Approach
Answers to Possible Questions
Does this structure require changes to the Nuclei engine?
Yes. However, this work not only forms a strong foundation for this model but also for future detection logic. Existing classic templates containing http: are automatically interpreted as gold, preserving backward compatibility.
Will the CLI become more complicated?
No. The --with-silver, --only-silver, and --only-gold flags are intuitive and user-friendly.
Will silver-only templates be skipped?
Yes. If the user does not use the silver flag, templates containing only silver blocks will not run.
Do filters like or trigger Silver?
No. Only the relevant CLI flags activate the silver layer.
Will the YAML file become more complicated?
Even if the file grows, readability and maintainability increase because the blocks are isolated.
Will the community split?
No. A more balanced and contribution-friendly structure forms according to areas of expertise. Non-technical users can also contribute version-based checks.
Could Silver mislead users?
No. Silver scans are opt-in and clearly flagged.
Do Gold and Silver interfere?
No. They are isolated layers with independent lifecycles and updates.
Will metadata incompatibility occur?
No. All info: and classification: fields remain at the top; only detection logic is layered.
How will the user know what they tested?
CLI flags (--with-silver, --only-silver, --only-gold) and layer information in the logs make it explicit.
Why does it truly make a difference?
A version-based finding—while not immediately exploitable—signals that a system needs hardening. In enterprise security, that distinction is critical.
Planned Implementations
Conclusion
This structure deepens the meaning of Nuclei templates, simplifies control over security testing and encourages wider community participation. It also facilitates automation and hardening processes. I aim to take the power of Nuclei one step further by applying the Gold/Silver Ticket concept (not exactly the same, I know) to technical vulnerability detection.
With love to the ProjectDiscovery Community
— Kazgangap
Describe the use case of the feature
Example Template (CVE-2024-4443)
Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: