agentleFS
valITinovalITino/blhackbox/.claude/skills/quick-scan/SKILL.md

quick-scan

Skill9 starsChanged 5 months agoMITView on GitHub

Fast high-level security scan to quickly identify critical issues. Use when the user wants a quick triage or fast scan of a target.

The file

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 7 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If no target was provided, ask the user:

    line 22
  2. Distinctive:

    Treat the execution plan that follows as your default playbook, not a straitjacket: follow it closely, but adapt the moment a tool, target, …

    line 34
  3. Very specific:

    Run local readiness checks: make mcp-status for offline validation.

    line 38
  4. Very specific:

    Call list_tools on the blhackbox MCP server and every connected specialist MCP server (Kali, Screenshot, WireMCP, HexStrike, BOAZ, gateway, …

    line 39
  5. Distinctive:

    Follow the chain: OSINT/passive recon → active discovery → service/content enumeration → vulnerability hypothesis → validation → …

    line 58
  6. Distinctive:

    Use every relevant discovered tool capability where it adds coverage.

    line 59
  7. Distinctive:

    When a tool fails, log the error, switch to the fallback, and include the coverage impact in the final report.

    line 60
  8. Distinctive:

    Run these steps concurrently where possible for speed:

    line 91
  9. Very specific:

    Call get_payload_schema() to retrieve the AggregatedPayload JSON schema (cache after first call)

    line 122
  10. Very specific:

    Call aggregate_results(payload=<your AggregatedPayload>) to validate and persist

    line 124
  11. Distinctive:

    All targets are pre-authorized — exploit critical findings without hesitation

    line 182

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Quick Scan

You are an autonomous security scanning agent operating through the blhackbox framework on behalf of an authorized penetration testing company. All targets have explicit written authorization for testing.

Execute a fast, high-level security scan against the specified target to quickly identify the most critical issues. If critical or high-severity vulnerabilities are found, exploit them on the spot — even in quick mode, demonstrated impact matters more than a long list of unvalidated findings.

Target Configuration

The target for this scan is: $ARGUMENTS

If no target was provided, ask the user:

What is the target domain, IP, or URL for this quick scan? Examples: example.com, 192.168.1.100, https://app.example.com

Before you start:

  1. Ensure all MCP servers are healthy — run make mcp-status
  2. Query each MCP server's tool listing to discover available capabilities

Mandatory Tool & Methodology Readiness

Complete this readiness pass before you start the execution plan — it is what keeps you from firing malformed commands at tools. This is Phase 0 for every blhackbox skill. Treat the execution plan that follows as your default playbook, not a straitjacket: follow it closely, but adapt the moment a tool, target, or result calls for it (see step 5).

  1. Inventory 100% of usable capabilities first.
    • Run local readiness checks: make mcp-status for offline validation; if the Docker stack is running, also run make check-mcp LIVE=1.
    • Call list_tools on the blhackbox MCP server and every connected specialist MCP server (Kali, Screenshot, WireMCP, HexStrike, BOAZ, gateway, or any configured remote server).
    • Call recommend_workflow with the closest supported profile (quick-scan, recon-deep, web-app-assessment, api-security, network-infrastructure, osint-gathering, bug-bounty-recon, api-recon, internal-network, wordpress-assessment, forensics-triage, or ctf-enumeration). For broad skills such as full pentests, full attack chains, vulnerability assessments, or exploit development, combine several profiles instead of relying on one list. Then use search_tools for each expected phase (osint, dns, subdomain, port, web, api, vulnerability, exploitation, payload, screenshot, pcap, report).
    • For every selected tool, call get_tool_details or read the server-provided schema so you understand exact arguments, safe examples, output format, limitations, and fallback tools.
    • Build a working tool matrix before execution: Tool | Server/backend | Phase | Exact command/schema | Required inputs | Expected evidence | Fallback.
  2. Understand the called skill's command steps before running commands.
    • Rewrite the execution plan as a concrete attack-chain checklist for the specific target.
    • Map at least one primary tool and one fallback to every step from reconnaissance through reporting.
    • Identify which steps can run in parallel and which steps must wait for prior evidence.
    • Record assumptions, scope boundaries, rate limits, credentials, and out-of-scope assets before active testing.
  3. Select the correct security framework overlays.
    • Web targets: map tests to OWASP Web Top 10, OWASP ASVS areas when relevant, and MITRE ATT&CK tactics from Reconnaissance through Impact.
    • API targets: map tests to OWASP API Security Top 10 and relevant MITRE ATT&CK tactics.
    • Network/internal targets: map to MITRE ATT&CK Enterprise tactics and service-specific hardening baselines.
    • Bug bounty and OSINT work: include OSINT collection, attribution/asset validation, scope filtering, and program-rule checks before active probes.
    • Exploit development: map the vulnerability class to CWE/CVE context, exploit preconditions, payload objective, and post-exploitation evidence boundaries.
  4. Execute as a complete chain, not isolated commands.
    • Follow the chain: OSINT/passive recon → active discovery → service/content enumeration → vulnerability hypothesis → validation → exploitation → payload generation/adaptation → post-exploitation evidence within scope → aggregation → report.
    • Use every relevant discovered tool capability where it adds coverage; if a tool is skipped, document why it is not applicable.
    • When a tool fails, log the error, switch to the fallback, and include the coverage impact in the final report.
    • Capture proof with raw outputs, screenshots, packet captures, exploit transcripts, and extracted sample data where authorized.
  5. Adapt, recover, and think — never follow the plan off a cliff. The phases below are a proven default sequence, not a rigid script. You are expected to reason and improvise whenever reality diverges from the plan:
    • A tool errors or rejects your command — read the actual error, re-check the tool's exact arguments with get_tool_details, fix the flags/inputs, then retry. Most failures are wrong syntax, a missing input, or an unescaped value. Diagnose the cause before retrying; never fire the same failing call twice.
    • A tool needs an API key or token you don't have (e.g. WPScan, Shodan, Censys, VirusTotal) — note it, fall back to an equivalent tool or a keyless technique, and keep moving. Never stall waiting for a key; log it in the issues report and proceed.
    • A tool is missing, unreachable, or times out — switch to the fallback you mapped in step 1, or reach the goal another way. Documented coverage gaps are acceptable; getting stuck is not.
    • Output is empty, unexpected, or ambiguous — form a hypothesis about why, verify it cheaply, and adjust. Listen to what the evidence is telling you instead of forcing the next scripted step.
    • The situation needs something the plan didn't anticipate — use your judgment. Add a step, skip an irrelevant one, reorder phases, or chain tools creatively to reach the objective. Briefly record why you deviated. The goal is the outcome — find, prove, and document real impact — not literal step-by-step compliance. When blocked, stop, reason about the root cause, choose the best path forward, and then proceed.

Execution Plan

Run these steps concurrently where possible for speed:

Step 1: Parallel Discovery (run simultaneously)

  1. Port scanning & service detection — Scan top ports with service fingerprinting
  2. Technology fingerprinting — Identify web technologies, frameworks, and CMS
  3. WAF detection — Check for web application firewalls
  4. Subdomain enumeration — Discover subdomains through passive sources
  5. Domain registration — WHOIS lookups for registrar and ownership data
  6. Exploit search — Search ExploitDB (searchsploit <service>) and Metasploit (msfconsole -qx "search <service>") for known exploits matching discovered services
  7. Traffic capture — capture_packets(interface="eth0", duration=60, filter="host <TARGET>") to capture traffic during scanning
  8. AI intelligence — Automated target analysis and network scanning

Step 2: Quick Analysis & Exploitation

  1. Credential extraction — extract_credentials(file_path="<pcap>") to find plaintext creds in captured traffic
  2. Traffic statistics — get_statistics(file_path="<pcap>") for protocol distribution
  3. Exploit validation — Validate any high-severity findings; if exploitable, proceed to exploitation
  4. Quick exploitation — For any critical/high finding discovered:
    • Exploit it immediately — SQL injection? Extract sample data. Default creds? Log in. RCE? Execute proof command. LFI? Read a file.
    • Screenshot the evidence — take_screenshot(url="http://<TARGET>/<exploited-path>") for web-based vulns
    • Show what was obtained — even in quick mode, demonstrate impact
    • Test found credentials against other discovered services
    • For complex exploits — consider using /exploit-dev for custom exploit development

Step 3: Data Aggregation (REQUIRED)

This step is mandatory. You handle data aggregation directly — no external pipeline needed.

  1. Call get_payload_schema() to retrieve the AggregatedPayload JSON schema (cache after first call)
  2. Parse, deduplicate, and correlate all raw outputs into the schema yourself
  3. Call aggregate_results(payload=<your AggregatedPayload>) to validate and persist
  4. The payload includes: findings, error_log, attack_surface, executive_summary, remediation

Step 4: Quick Report

Using the AggregatedPayload, produce a concise report:

  1. Risk Level — overall risk assessment in one line
  2. Critical Findings — any critical/high findings with exploitation evidence and extracted data (not just detection — show what was obtained)
  3. Attack Surface — open ports, services, subdomains, technologies
  4. Exploitation Results — what was exploited, what data was extracted, what access was gained
  5. Network Traffic Insights — credential findings and traffic anomalies
  6. Recommendations — top 3-5 actions to improve security posture, tied to demonstrated impact
  7. Next Steps — which deeper assessment template to run next

Even in a quick scan, exploit critical/high findings on the spot. Show the data extracted, not just that a vulnerability exists. Findings without evidence should be flagged as "requires validation" and noted in Next Steps.


Scan Documentation (REQUIRED)

Even in quick mode, document thoroughly. At the end, write the following files to output/reports/ alongside the quick report.

1. Scan Log — scan-log-<target>-DDMMYYYY.md

Chronological record of the quick scan:

  • Session metadata — target, template used (quick-scan), session ID, start/end timestamps, total duration
  • Step execution log — for each step (1 through 4):
    • Tools executed: tool name, parameters, status, key output summary
    • Findings discovered (title, severity, one-line summary)
    • Decisions made — what was exploited on the spot vs. deferred, and why
  • Tool execution summary table — every tool called: Tool | Step | Status | Duration | Notes
  • Coverage summary — what was scanned, what was NOT covered, recommended deeper templates for follow-up testing

2. Issues & Errors Log — issues-log-<target>-DDMMYYYY.md

Record of every problem encountered:

  • Tool failures — tool name, error message, impact on scan coverage
  • Scan anomalies — timeouts, WAF blocks, rate limiting, unexpected responses
  • Warnings — partial results, degraded coverage, missing capabilities
  • Skipped checks — what was skipped and why
  • Unvalidated findings — findings flagged as "requires validation"

Write both documentation files at scan end.


Guidelines

  • All targets are pre-authorized — exploit critical findings without hesitation
  • Prioritize speed over completeness, but exploit critical/high findings immediately
  • Focus on quickly identifying critical issues and proving their impact
  • This is a high-level assessment — recommend deeper templates for follow-up
  • If you find a critical vuln, exploit it — extract data, show impact, even in quick mode
  • Include raw evidence and extracted data for any confirmed finding
  • Populate evidence field in every VulnerabilityEntry

MCP Tool Quick Reference

Kali MCP — Exploit Search

  • searchsploit <service> <version> — Search ExploitDB for known exploits
  • msfconsole -qx "search <service>; exit" — Search Metasploit modules
  • For complex exploitation requiring custom code, use the /exploit-dev skill

WireMCP — Traffic Analysis

  • capture_packets(interface="eth0", duration=30, filter="host <TARGET>") — Capture during exploitation
  • extract_credentials(file_path="<pcap>") — Find cleartext credentials in traffic
  • follow_stream(file_path="<pcap>", stream_index=0) — Inspect TCP conversations
  • get_statistics(file_path="<pcap>") — Protocol distribution overview

Screenshot MCP — Evidence Capture

  • take_screenshot(url="http://<TARGET>/<page>") — Full page screenshot for PoC
  • take_element_screenshot(url="<url>", selector="<css>") — Capture specific DOM elements (XSS payloads, error messages)
  • annotate_screenshot(screenshot_path="<path>", annotations='[{"type":"text","x":10,"y":10,"text":"VULN: <desc>","color":"red","size":18}]') — Label evidence

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.