Best use case
Nuclei Scanner is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
## Overview
Teams using Nuclei Scanner should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/nuclei-scanner/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How Nuclei Scanner Compares
| Feature / Agent | Nuclei Scanner | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
## Overview
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Nuclei Scanner
## Overview
Nuclei is a fast, template-based vulnerability scanner by ProjectDiscovery. Instead of running monolithic scanners, Nuclei uses YAML templates — each one checks for a specific vulnerability, misconfiguration, or exposure. Community maintains 8000+ templates covering CVEs, default credentials, exposed panels, misconfigurations, and more. Runs in CI, scripted pipelines, or manual assessments.
## When to Use
- Security assessment of web applications before deployment
- Checking infrastructure for known CVEs and misconfigurations
- Continuous security scanning in CI/CD pipelines
- Bug bounty reconnaissance and vulnerability discovery
- Compliance checks (exposed admin panels, default credentials, SSL issues)
## Instructions
### Setup
```bash
# Install via Go
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# Or download binary
curl -sL https://github.com/projectdiscovery/nuclei/releases/latest/download/nuclei_linux_amd64.zip -o nuclei.zip
unzip nuclei.zip
# Update templates (8000+ community templates)
nuclei -update-templates
```
### Basic Scanning
```bash
# Scan a single target with all templates
nuclei -u https://example.com
# Scan with specific severity
nuclei -u https://example.com -severity critical,high
# Scan multiple targets from a file
nuclei -l targets.txt -severity critical,high,medium
# Scan specific template categories
nuclei -u https://example.com -tags cve,misconfig,exposure
# Scan with rate limiting (respectful scanning)
nuclei -u https://example.com -rate-limit 50 -concurrency 10
```
### Custom Templates
```yaml
# templates/exposed-env.yaml — Check for exposed .env files
id: exposed-env-file
info:
name: Exposed .env File
author: terminal-skills
severity: high
description: Checks if .env file is publicly accessible
tags: misconfig,exposure
http:
- method: GET
path:
- "{{BaseURL}}/.env"
matchers-condition: and
matchers:
- type: word
words:
- "DB_PASSWORD"
- "API_KEY"
- "SECRET"
condition: or
- type: status
status:
- 200
```
```yaml
# templates/api-key-leak.yaml — Detect API keys in responses
id: api-key-in-response
info:
name: API Key Leaked in Response
author: terminal-skills
severity: medium
tags: exposure,api
http:
- method: GET
path:
- "{{BaseURL}}/api/config"
- "{{BaseURL}}/api/settings"
- "{{BaseURL}}/config.json"
matchers:
- type: regex
regex:
- "sk_live_[a-zA-Z0-9]{24}" # Stripe live key
- "AKIA[0-9A-Z]{16}" # AWS access key
- "ghp_[a-zA-Z0-9]{36}" # GitHub token
extractors:
- type: regex
regex:
- "sk_live_[a-zA-Z0-9]{24}"
- "AKIA[0-9A-Z]{16}"
```
### CI/CD Integration
```yaml
# .github/workflows/security-scan.yml
name: Security Scan
on:
schedule:
- cron: "0 6 * * 1" # Weekly Monday 6 AM
workflow_dispatch:
jobs:
nuclei-scan:
runs-on: ubuntu-latest
steps:
- uses: projectdiscovery/nuclei-action@main
with:
target: https://myapp.com
flags: "-severity critical,high -tags cve,misconfig"
output: nuclei-report.txt
- name: Alert on findings
if: success()
run: |
if [ -s nuclei-report.txt ]; then
echo "⚠️ Vulnerabilities found!"
cat nuclei-report.txt
# Send to Slack/email
fi
```
### Programmatic Usage (Go/Python)
```python
# scan.py — Run Nuclei from Python and parse results
import subprocess
import json
def run_nuclei_scan(target: str, severity: str = "critical,high") -> list[dict]:
"""Run Nuclei scan and return structured results."""
result = subprocess.run(
["nuclei", "-u", target, "-severity", severity, "-json", "-silent"],
capture_output=True, text=True,
)
findings = []
for line in result.stdout.strip().split("\n"):
if line:
findings.append(json.loads(line))
return findings
# Usage
findings = run_nuclei_scan("https://example.com")
for f in findings:
print(f"[{f['info']['severity']}] {f['info']['name']} — {f['matched-at']}")
```
## Examples
### Example 1: Pre-deployment security check
**User prompt:** "Before we go live, scan our staging site for any critical vulnerabilities or misconfigurations."
The agent will run Nuclei with critical/high severity templates, check for exposed files, default credentials, known CVEs, and generate a report with remediation steps.
### Example 2: Custom template for internal API
**User prompt:** "Write a Nuclei template that checks if our internal admin endpoints are accessible without auth."
The agent will create a YAML template that hits admin endpoints, checks for 200 status without auth headers, and flags exposed admin panels.
## Guidelines
- **Always get authorization** — only scan targets you own or have written permission to test
- **Start with `-severity critical,high`** — focus on what matters first
- **Rate limit scans** — `-rate-limit 50` to avoid overwhelming targets
- **Use `-tags` for targeted scans** — `cve`, `misconfig`, `exposure`, `default-login`
- **JSON output for automation** — `-json` flag for parseable results
- **Custom templates for your app** — community templates are generic; write app-specific checks
- **Update templates regularly** — `nuclei -update-templates` gets new CVE checks
- **Headless templates for JS apps** — some checks require browser rendering
- **Never scan production during peak hours** — schedule scans for low-traffic windowsRelated Skills
network-security-scanner
Network Security Scanner - Auto-activating skill for Security Advanced. Triggers on: network security scanner, network security scanner Part of the Security Advanced skill category.
license-compliance-scanner
License Compliance Scanner - Auto-activating skill for Security Fundamentals. Triggers on: license compliance scanner, license compliance scanner Part of the Security Fundamentals skill category.
skill-scanner
Scan agent skills for security issues. Use when asked to "scan a skill", "audit a skill", "review skill security", "check skill for injection", "validate SKILL.md", or assess whether an agent skill is safe to install. Checks for prompt injection, malicious scripts, excessive permissions, secret exposure, and supply chain risks.
vulnerability-scanner
Advanced vulnerability analysis principles. OWASP 2025, Supply Chain Security, attack surface mapping, risk prioritization.
receipt-scanner-master
Master receipt scanning operations including parsing, debugging, enhancing accuracy, and database integration. Use when working with receipts, images, OCR issues, expense categorization, or troubleshooting receipt uploads.
secret-scanner
Detect accidentally committed secrets, credentials, and sensitive information in code.
dast-nuclei
Fast, template-based vulnerability scanning using ProjectDiscovery's Nuclei with extensive community templates covering CVEs, OWASP Top 10, misconfigurations, and security issues across web applications, APIs, and infrastructure. Use when: (1) Performing rapid vulnerability scanning with automated CVE detection, (2) Testing for known vulnerabilities and security misconfigurations in web apps and APIs, (3) Running template-based security checks in CI/CD pipelines with customizable severity thresholds, (4) Creating custom security templates for organization-specific vulnerability patterns, (5) Scanning multiple targets efficiently with concurrent execution and rate limiting controls.
doc-scanner
Scans for project documentation files (AGENTS.md, CLAUDE.md, GEMINI.md, COPILOT.md, CURSOR.md, WARP.md, and 15+ other formats) and synthesizes guidance. Auto-activates when user asks to review, understand, or explore a codebase, when starting work in a new project, when asking about conventions or agents, or when documentation context would help. Can consolidate multiple platform docs into unified AGENTS.md.
Grype — Container Vulnerability Scanner
## Overview
Code Complexity Scanner
## Overview
Checkov — Infrastructure as Code Security Scanner
## Overview
Daily Logs
Record the user's daily activities, progress, decisions, and learnings in a structured, chronological format.