TemplateFilters type allows you to control which templates are loaded and executed by the Nuclei engine.
Type definition
Fields
Severity
Filter templates by severity levels.Comma-separated list of severity levels to include
info, low, medium, high, critical
Example:
critical or high severity.
ExcludeSeverities
Exclude templates by severity levels.Comma-separated list of severity levels to exclude
info, low, medium, high, critical
Example:
info or low severity.
Severity and ExcludeSeverities can be used together to create precise filters.ProtocolTypes
Filter templates by protocol types.Comma-separated list of protocol types to include
http, dns, tcp, ssl, websocket, whois, javascript, code, network, file, headless
Example:
ExcludeProtocolTypes
Exclude templates by protocol types.Comma-separated list of protocol types to exclude
ProtocolTypes
Example:
Authors
Filter templates by author names.List of author names to filter by
Tags
Filter templates by tags.List of tags that templates must have
cve or rce tag.
ExcludeTags
Exclude templates by tags.List of tags to exclude
intrusive or dos.
IncludeTags
Include only templates with specific tags.List of tags that must be present
Tags, IncludeTags, and ExcludeTags can work together for fine-grained filtering.IDs
Filter templates by specific template IDs.List of template IDs to include
ExcludeIDs
Exclude templates by specific template IDs.List of template IDs to exclude
TemplateCondition
Advanced filtering using DSL expressions.List of DSL condition expressions
contains(field, value)- Check if field contains value==- Equality comparison!=- Not equal comparison&&- Logical AND||- Logical OR
Usage examples
Filter by severity
Only run critical and high severity templates:Filter by CVE tags
Only run CVE templates:Filter by protocol
Only run HTTP templates:Exclude intrusive templates
Run all templates except those tagged as intrusive:Run specific templates
Run only specific templates by ID:Complex combined filters
Combine multiple filters for precise control:- Only include high and critical severity templates
- Exclude info severity templates
- Only include HTTP protocol templates
- Include templates with CVE tag
- Exclude intrusive templates
- Only include templates by pdteam
Safe scanning profile
Create a safe scanning profile:Production vulnerability scan
Configuration for production environments:OAST-based detection
Only run templates using out-of-band techniques:Common tag categories
Security categories
cve- CVE templatesrce- Remote code executionlfi- Local file inclusionsqli- SQL injectionxss- Cross-site scriptingssrf- Server-side request forgeryxxe- XML external entity
Detection types
tech- Technology detectionexposure- Sensitive data exposuremisconfig- Misconfigurationdefault-login- Default credentialspanel- Admin panels
Scan characteristics
intrusive- Intrusive checksdos- Denial of serviceoast- Out-of-band testingsafe- Safe to runpassive- Passive detection
Filter precedence
When multiple filters are specified:- Include filters (
Severity,ProtocolTypes,Tags,Authors,IDs) are applied first - Exclude filters (
ExcludeSeverities,ExcludeProtocolTypes,ExcludeTags,ExcludeIDs) are applied second - DSL conditions (
TemplateCondition) are applied last
Performance tips
Use specific filters to reduce template loading time
Filter by protocol type when targeting specific services
Use ID filters when you know exactly which templates to run
Combine severity and tag filters for security-focused scans
Use exclude filters to remove large template categories
Best practices
- Start broad, then narrow: Begin with broad filters and refine based on results
- Use severity wisely: Filter by severity appropriate for your environment
- Avoid intrusive templates in production: Always exclude intrusive tags in production
- Test filters first: Test filter combinations on safe targets before production use
- Document your filters: Keep a record of filter configurations for different scenarios
Next steps
TemplateSources
Learn about loading custom templates
Basic usage
See template filters in action