vuln-scanner
Skill0 starsChanged 4 months agoMITView on GitHub
Use when the user wants to scan a live website, web application, or network service for security vulnerabilities from the outside (DAST). Triggers: "scan this site", "find vulnerabilities on", "pentest", "security scan URL", "check if this site is vulnerable". Not for source code analysis — use run-security-scanner for SAST instead.
- Deletes or force-pushes
- Installs packages
4 other projects use a version of this.
Adopted by
Most recently taken up by
- aaronjmars/miroshark-aeontheir own version, first seen Oct 21, 2026
- aeonfun/aeontheir own version, first seen Oct 20, 2026
- MiroShark/miroshark-aeontheir own version, first seen Oct 17, 2026
- aaronjmars/aeontheir own version, first seen Oct 8, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- aaronjmars/aeon★ 789same name
- aeonfun/aeon★ 789same name
- aaronjmars/miroshark-aeon★ 20same name
- MiroShark/miroshark-aeon★ 20same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository4 other files it gives its agents.
- governance-encodedSkill
- governanceSkill
- pre-push-complianceSkill
- taskmasterSkill
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 9 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 72
All ProjectDiscovery tools ship as pre-compiled binaries — no Go toolchain required.
- Distinctive: line 110
If you prefer not to install binaries on the host:
- Very specific: line 157
Important: Use -T3 (normal timing) maximum.
- Very specific: line 178
Rate limiting is mandatory: Never remove -rate-limit. This prevents overwhelming the target and getting banned or causing disruption.
- Distinctive: line 199
Create an artifact at the conversation's artifact directory:
- Distinctive: line 276
If critical or high findings exist, generate a disclosure email template:
- Distinctive: line 318
If the user wants to scan the full attack surface:
- Distinctive: line 345
False positives are common: Before reporting a finding as confirmed:
- Distinctive: line 347
Check if the matched URL actually returns the vulnerable response
- Distinctive: line 348
Verify the detected version against the CVE's affected versions
- Distinctive: line 356
Do not log raw scan output to shared/public locations
- Distinctive: line 357
Delete scan artifacts after remediation is confirmed
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
External Vulnerability Scanner (DAST)
Orchestrates external security scanning of live websites and services using Nuclei, nmap, and supporting reconnaissance tools. Produces structured vulnerability reports as artifacts.
⚖️ LEGAL GATE — MANDATORY (No Exceptions)
Before ANY scan executes, the agent MUST present this acknowledgment and obtain explicit user confirmation. No scan runs without a "yes".
┌─────────────────────────────────────────────────────────────────┐
│ ⚠️ LEGAL ACKNOWLEDGMENT │
│ │
│ Scanning a system without authorization is illegal under: │
│ • Computer Misuse Act (Singapore) │
│ • Computer Fraud and Abuse Act (USA) │
│ • Computer Misuse Act 1990 (UK) │
│ • Equivalent laws in most jurisdictions │
│ │
│ By proceeding, you confirm: │
│ │
│ 1. You OWN the target system, OR │
│ 2. You have WRITTEN AUTHORIZATION from the owner to test it │
│ │
│ RESPONSIBLE DISCLOSURE: │
│ Any vulnerability discovered will be immediately flagged │
│ to the site/system owner. This tool is for defensive │
│ security assessment ONLY — never for exploitation. │
│ │
│ DISCLAIMER: │
│ This tool is provided as-is for authorized security testing. │
│ The user assumes full legal responsibility for its use. │
│ The tool author and AI agent bear no liability for misuse. │
│ │
│ Do you confirm authorization and accept these terms? (yes/no) │
└─────────────────────────────────────────────────────────────────┘If the user says anything other than an unambiguous "yes" → abort. Do not scan. Do not ask again in the same session.
When to Use
- User wants to scan a live URL or IP for vulnerabilities
- User asks for a penetration test / security assessment of a running service
- User wants to check if their deployed app has known CVEs or misconfigurations
When NOT to Use
- Source code analysis → use
run-security-scanner(SAST) - Dependency auditing → use
scan_dependencies - Threat modeling → use
determine-threat-model - The target is NOT owned by the user and no written auth exists
Prerequisites
The following tools must be installed on the host. The skill will check for each before proceeding and provide install instructions for any missing tool.
All ProjectDiscovery tools ship as pre-compiled binaries — no Go toolchain
required. Download from GitHub Releases for your architecture (linux_amd64
for most x86 servers, linux_arm64 for ARM).
| Tool | Purpose | Install (linux_amd64) |
nuclei | Template-based vuln scanner (CVEs, misconfigs, exposures) | See install commands below |
nmap | Port/service enumeration + NSE vuln scripts | sudo apt install nmap |
httpx | HTTP probing and technology detection | See install commands below |
subfinder | (Optional) Subdomain enumeration | See install commands below |
Install via pre-compiled binaries
# Nuclei
curl -sL https://github.com/projectdiscovery/nuclei/releases/latest/download/nuclei_$(curl -sL https://api.github.com/repos/projectdiscovery/nuclei/releases/latest | grep tag_name | cut -d'"' -f4 | sed 's/v//')_linux_amd64.zip -o /tmp/nuclei.zip \
&& unzip -o /tmp/nuclei.zip -d /tmp/nuclei-bin \
&& sudo mv /tmp/nuclei-bin/nuclei /usr/local/bin/ \
&& rm -rf /tmp/nuclei.zip /tmp/nuclei-bin
# httpx
curl -sL https://github.com/projectdiscovery/httpx/releases/latest/download/httpx_$(curl -sL https://api.github.com/repos/projectdiscovery/httpx/releases/latest | grep tag_name | cut -d'"' -f4 | sed 's/v//')_linux_amd64.zip -o /tmp/httpx.zip \
&& unzip -o /tmp/httpx.zip -d /tmp/httpx-bin \
&& sudo mv /tmp/httpx-bin/httpx /usr/local/bin/ \
&& rm -rf /tmp/httpx.zip /tmp/httpx-bin
# subfinder (optional)
curl -sL https://github.com/projectdiscovery/subfinder/releases/latest/download/subfinder_$(curl -sL https://api.github.com/repos/projectdiscovery/subfinder/releases/latest | grep tag_name | cut -d'"' -f4 | sed 's/v//')_linux_amd64.zip -o /tmp/subfinder.zip \
&& unzip -o /tmp/subfinder.zip -d /tmp/subfinder-bin \
&& sudo mv /tmp/subfinder-bin/subfinder /usr/local/bin/ \
&& rm -rf /tmp/subfinder.zip /tmp/subfinder-bin
# nmap
sudo apt install -y nmapAlternative: Docker (no host install needed)
If you prefer not to install binaries on the host:
# Nuclei via Docker
docker run --rm projectdiscovery/nuclei -u <TARGET_URL> -severity high,critical
# httpx via Docker
echo "<TARGET_URL>" | docker run --rm -i projectdiscovery/httpx -silent -tech-detect
# subfinder via Docker
docker run --rm projectdiscovery/subfinder -d <domain>Scan Workflow
1. LEGAL GATE → Present acknowledgment, require explicit "yes"
2. RECON → Probe target with httpx (tech stack, status, headers)
3. PORT SCAN → nmap service detection on common ports
4. VULN SCAN → Nuclei with severity-filtered templates
5. REPORT → Generate structured artifact with findings
6. DISCLOSURE DRAFT → Generate responsible disclosure template if critical findings existStep 1: Legal Gate
Present the acknowledgment block above. Wait for confirmation. Abort on anything other than explicit consent.
Step 2: Reconnaissance
# Probe the target — tech detection, status codes, response headers
echo "<TARGET_URL>" | httpx -silent -tech-detect -status-code -title \
-content-length -web-server -follow-redirects -json -o recon.jsonParse and summarize: HTTP status, web server, technologies detected, title, security headers present/missing.
Step 3: Port Scan
# Service detection on top 1000 ports (non-intrusive)
nmap -sV -sC --top-ports 1000 -oN nmap_scan.txt -oX nmap_scan.xml <TARGET_HOST>Important: Use -T3 (normal timing) maximum. Never use -T4 or -T5
on targets you don't control infrastructure for — it's aggressive and may
trigger IDS/IPS or cause service disruption.
Step 4: Vulnerability Scan
# Update Nuclei templates first
nuclei -update-templates
# Run scan — filter to medium+ severity, output JSON
nuclei -u <TARGET_URL> -severity medium,high,critical \
-json -o nuclei_findings.json \
-rate-limit 50 \
-bulk-size 25 \
-concurrency 10 \
-timeout 10 \
-retries 2 \
-no-interactshRate limiting is mandatory. Never remove -rate-limit. This prevents
overwhelming the target and getting banned or causing disruption.
Template categories to include:
| Category | What it catches |
cves/ | Known CVEs in detected software |
vulnerabilities/ | Generic web vulns (SQLi, XSS, SSRF, etc.) |
misconfiguration/ | Security misconfigs (open redirects, CORS, etc.) |
exposures/ | Exposed panels, configs, backups, debug endpoints |
technologies/ | Technology fingerprinting |
To scan specific categories only:
nuclei -u <TARGET_URL> -t cves/ -t exposures/ -severity high,critical \
-json -o nuclei_critical.json -rate-limit 50 -no-interactshStep 5: Generate Report
Create an artifact at the conversation's artifact directory:
Filename: vuln_scan_report_<target_domain>_<YYYY-MM-DD>.md
Report structure:
# Vulnerability Scan Report
> [!CAUTION]
> This report contains security findings. Handle with care.
> Any critical or high findings must be disclosed to the site owner immediately.
## Target Information
| Field | Value |
|-------|-------|
| Target URL | `<url>` |
| Scan Date | YYYY-MM-DD HH:MM (timezone) |
| Scanner | Nuclei vX.X.X + nmap X.XX |
| Authorization | Confirmed by user (self-owned / written auth) |
## Executive Summary
- **Critical:** X findings
- **High:** X findings
- **Medium:** X findings
- **Info:** X findings (if any)
## Findings
### 🔴 Critical
#### [CVE-XXXX-XXXXX] <Title>
- **Severity:** CRITICAL
- **CWE:** CWE-XXX
- **URL:** `<matched_url>`
- **Description:** ...
- **Remediation:** ...
- **Reference:** <link to CVE/advisory>
### 🟠 High
...
### 🟡 Medium
...
## Reconnaissance Summary
### HTTP Probe
- Status: ...
- Server: ...
- Technologies: ...
- Security Headers: (present/missing checklist)
### Open Ports
| Port | Service | Version |
|------|---------|---------|
## Responsible Disclosure
> [!IMPORTANT]
> If this scan was performed on a third-party system with authorization,
> the following findings MUST be reported to the system owner.
<disclosure draft — see Step 6>
## Disclaimer
This scan was performed with explicit authorization from the system owner.
The results are provided for defensive security assessment purposes only.
Any vulnerability discovered is flagged for immediate remediation.
Unauthorized use of these findings for exploitation is strictly prohibited.Step 6: Responsible Disclosure Draft
If critical or high findings exist, generate a disclosure email template:
## Disclosure Email Template
Subject: Security Vulnerability Report — <domain>
Dear Security Team,
During an authorized security assessment of <domain> conducted on <date>,
the following vulnerabilities were identified:
1. [CRITICAL] <title> — <brief description>
2. [HIGH] <title> — <brief description>
**Impact:** <brief impact summary>
**Recommended Actions:**
- <remediation step 1>
- <remediation step 2>
I am available to provide additional technical details or assist with
remediation. Please acknowledge receipt within 5 business days.
This report follows responsible disclosure practices. A 90-day disclosure
window is standard — findings will not be published before that period
or before remediation, whichever comes first.
Regards,
<your name>Quick Scan vs Full Scan
| Mode | Command | Use When |
| Quick | nuclei -u <URL> -severity critical,high -rate-limit 100 -no-interactsh | Fast check for critical issues only |
| Standard | Full workflow above | Regular security assessment |
| Deep | Add -t cves/ -t vulnerabilities/ -t exposures/ -t misconfiguration/ + nmap --script vuln | Comprehensive audit |
Subdomain Enumeration (Optional)
If the user wants to scan the full attack surface:
# Find subdomains
subfinder -d <domain> -silent -o subdomains.txt
# Probe which are alive
cat subdomains.txt | httpx -silent -o alive_hosts.txt
# Scan all alive hosts
nuclei -l alive_hosts.txt -severity medium,high,critical \
-json -o nuclei_full.json -rate-limit 30 -no-interactshCommon Mistakes
| Mistake | Fix |
| Scanning without legal confirmation | Always present the legal gate first |
| Removing rate limits | Keep -rate-limit — always |
Using aggressive nmap timing (-T5) | Use -T3 maximum on external targets |
| Scanning targets user doesn't own | Abort — no exceptions |
| Not generating disclosure draft | Always generate for critical/high findings |
Running --interactsh on third-party targets | Use -no-interactsh — OOB testing hits external servers |
Interpreting Results
False positives are common. Before reporting a finding as confirmed:
- Check if the matched URL actually returns the vulnerable response
- Verify the detected version against the CVE's affected versions
- Cross-reference with the technology stack detected in recon
- Mark unverified findings as "Requires Manual Verification" in the report
Security of Scan Data
- Scan results contain sensitive information — treat as confidential
- Reports are stored only in the conversation artifact directory
- Do not log raw scan output to shared/public locations
- Delete scan artifacts after remediation is confirmed
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.

