agentleFS
kazzarahwkazzarahw/skills/skills/recon/SKILL.md

recon

Skill0 starsChanged 44 days agoApache-2.0View on GitHub

Maps attack surface: network scanning, OSINT, subdomain enumeration, service fingerprinting, blockchain analysis, address profiling, contract discovery. Use when opening the recon phase or doing a standalone recon task. Full engagement? Start with engagement. Intel gaps needing cited depth go to research.

27 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use reporting, web-pentest and 1 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • GitHubSkill

    reporting

    Report formatting guidelines for gh-aw workflows (header levels, collapsible details, run-ID links)

    Also in 3 projects that use this

  • samklee1Skill

    web-pentest

    Orchestrates authorized web app pentesting on Kali Linux using Opus sub-agents with difficulty-aware planning (TDA/EGATS), browser-first exploration, iterative verification, two-layer review (per-sub-agent + phase-level), optional cross-model gap audit (GPT/codex via codex-plugin-cc), and enforced KB updates. Trigger on: pentesting, penetration testing, web app security assessment, vulnerability assessment, OWASP testing, PTES, attack surface mapping, API security testing, pentest reporting, or 'help me test this app'. NOT for network-only pentesting, malware analysis, reverse engineering, or CTFs.

    Also in 3 projects that use this

  • SentrySkill

    create-pr

    Create pull requests following Sentry conventions. Use when opening PRs, writing PR descriptions, or preparing changes for review. Follows Sentry's code review guidelines.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

9 rules. 0 are common, 7 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 22 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run scripts/recon-pipeline.sh for the standard sweep first — hand-rolled loops come only after the pipeline's output.

    line 54
  2. Distinctive:

    Exit criteria: All open ports identified, services versioned, web tech fingerprinted, directories enumerated.

    line 67
  3. Distinctive:

    Deviation rule: If a default tool is unavailable or rate-limited, substitute the next tool in the chain and log the substitution.

    line 137
  4. Very specific:

    Am I in the right skill?: If the work drifted into another phase, hand off via ## Handoffs instead of continuing here.

    line 163
  5. Distinctive:

    Evidence attached?: No finding leaves this skill without captured output.

    line 165
  6. Distinctive:

    Version banners can be spoofed: Always confirm with behavioral testing before relying on version-specific exploits.

    line 169
  7. Distinctive:

    Subdomain takeovers are common: Check for dangling CNAMES pointing to cloud services (S3, GitHub Pages, Heroku).

    line 170
  8. Distinctive:

    Proxy contracts hide implementation: Check EIP-1967 storage slots before analyzing contract behavior.

    line 172
  9. Distinctive:

    Web3 recon is read-only: Never send transactions during recon.

    line 176

“Common” is measured: kept by at least 6 in 10 of the 22 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.

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

Security Recon

Reconnaissance and enumeration across web2 and web3 targets. Maps attack surface before active testing.

Constitutional Rules

  1. Authorization required — Verify written scope before any active scanning. Refuse out-of-scope targets immediately.
  2. Evidence over assertion — Every finding traces to captured tool output or on-chain data. No finding without a command log or transaction hash.
  3. Passive before active — Start with passive techniques that do not touch the target. Escalate to active only when necessary.
  4. Rate limiting by default — Use rate limiting on all active scans. Aggressive modes require explicit authorization.
  5. Structured output — All results use the output template. No prose-only findings.
  6. Chain context — Address formats overlap across chains. Always confirm chain before drawing conclusions.

Recon Process

Phase 1: Passive Reconnaissance

Gather intelligence without touching the target.

Web2 Passive Recon

1.1  Selector intelligence   → people, emails, employees, breach data: load `osint` (it owns verification standards and OPSEC); recon consumes its output
1.2  DNS enumeration         → records, zone transfer attempts, DNSSEC
1.3  Certificate transparency → crt.sh, certspotter
1.4  Exposure search          → dorks for exposed documents and credentials (identity/breach questions go to `osint`)
1.5  Social media recon       → tech stack only (people questions go to `osint`)
1.6  Wayback Machine          → historical endpoints, deleted pages

Exit criteria: Subdomain list compiled, tech stack identified, employee emails collected, historical endpoints documented.

Web3 Passive Recon

1.1  Chain identification    → determine target chain(s)
1.2  Address identification   → contract addresses, EOA addresses, token addresses
1.3  Label lookup             → exchange, mixer, protocol tags
1.4  Contract verification    → Etherscan/Solscan verification status
1.5  Protocol discovery      → identify protocol type, version, dependencies
1.6  Historical activity      → first deployment, upgrade history, known incidents

Exit criteria: Chain(s) identified, addresses classified, contract verification status confirmed, protocol type determined.

Phase 2: Active Reconnaissance

Run scripts/recon-pipeline.sh for the standard sweep first — hand-rolled loops come only after the pipeline's output. Direct interaction with in-scope targets.

Web2 Active Recon

2.1  Host discovery          → masscan (fast sweep)
2.2  Port scanning           → nmap (detailed enumeration)
2.3  Service enumeration      → nmap -sV -sC on open ports
2.4  Web fingerprinting       → whatweb (level 1 default)
2.5  Directory enumeration    → gobuster (medium wordlist)
2.6  Vulnerability scanning   → nuclei (cves/ + exposure/)

Exit criteria: All open ports identified, services versioned, web tech fingerprinted, directories enumerated.

Web3 Active Recon

2.1  Contract interaction     → call view functions to map protocol state
2.2  Event log analysis       → query event logs for activity patterns
2.3  Token flow mapping       → trace token movements through protocol
2.4  Oracle dependency check  → identify oracle contracts and update frequency
2.5  Admin role enumeration   → identify owner, admin, pause roles
2.6  Upgrade mechanism scan   → proxy patterns, implementation addresses

Exit criteria: Protocol state mapped, dependencies identified, admin roles documented, upgrade mechanisms assessed.

Phase 3: Attack Surface Mapping

Compile findings into an attack surface map.

CategoryWeb2Web3
Entry pointsURLs, APIs, servicesContracts, functions, oracles
Trust boundariesAuth, sessions, rolesAccess control, upgrade keys
Data flowsUser input → processing → storageUser tx → contract → state change
DependenciesLibraries, APIs, CDNsOracles, tokens, other protocols
ExposurePublic, internal, authenticatedPublic, owner, governance

Exit criteria: Attack surface map complete with all categories populated.

Phase 4: Risk Indicators

Identify initial risk indicators for prioritization.

IndicatorWeb2Web3
Outdated softwareVersion banners, CVE matchingOld compiler version, deprecated patterns
MisconfigurationsDefault creds, open ports, permissive CORSUninitialized proxies, public admin functions
Sensitive data exposureDebug endpoints, verbose errorsUnverified contracts, exposed storage
Known vulnerabilitiesCVE databases, exploit-dbKnown hack patterns, SWC registry

Exit criteria: Risk indicators documented with severity hints.

Tool Selection

Web2 Tools

TaskDefault ToolCommandWhy
Fast port scanmasscanmasscan -p1-65535 <target> --rate=10000Fastest for large ranges
Detailed port scannmapnmap -sV -sC -p- <target>Service detection + scripts
Subdomain enumsubfindersubfinder -d <domain>Passive, fast
Directory enumgobustergobuster dir -u <url> -w <wordlist>Reliable, configurable
Web fingerprintwhatwebwhatweb -a 1 <url>Quick tech identification
Vuln scannucleinuclei -u <url> -t cves/Template-based, comprehensive
OSINTtheHarvestertheHarvester -d <domain> -b allMulti-source OSINT

Web3 Tools

TaskDefault ToolCommand/URLWhy
EVM explorerEtherscanetherscan.io/address/<addr>Most comprehensive labels
Solana explorerSolscansolscan.io/account/<addr>Best program tagging
Multi-chain explorerBlockscoutblockscout.comOpen-source, self-hostable
EVM decompilationHeimdallheimdall-rsFast EVM bytecode decompilation
Entity labelsNansennansen.aiBest-in-class wallet labeling
Risk scoringTRM Labstrmlabs.comCompliance-grade risk engine
SimulationTenderlytenderly.coTransaction simulation and tracing
RPC (EVM)Ankr/AlchemyPublic endpointsFree tier, reliable
RPC (Solana)Heliushelius.xyzEnhanced transactions API

Deviation rule: If a default tool is unavailable or rate-limited, substitute the next tool in the chain and log the substitution.

Cross-References

SkillWhen to Use
engagementOrchestration and phase management
auditVulnerability identification from recon findings
exploitTarget selection for exploitation
verifyVerification of recon findings
coachCourse correction when recon stalls
wikiKnowledge persistence across engagements

Handoffs

Act on these transitions immediately — load the named skill with the skill tool, do not continue by hand:

  • Recon complete → load audit with the attack surface map.
  • Target intel needs cited depth (vendor, protocol) → load research.
  • People, company, or actor question → load osint, not research.
  • A finding needs confirmation before it leaves recon → load verify.
  • Stuck, looping, or off-track → load coach.
  • Phase done → record the map and indicators in wiki.

Mid-Work Checkpoints

Periodically verify:

  1. Am I in the right skill? If the work drifted into another phase, hand off via ## Handoffs instead of continuing here.
  2. Am I routing phase ends? Findings and maps move to other skills — never absorb them.
  3. Evidence attached? No finding leaves this skill without captured output.

Gotchas

  • Version banners can be spoofed. Always confirm with behavioral testing before relying on version-specific exploits.
  • Subdomain takeovers are common. Check for dangling CNAMES pointing to cloud services (S3, GitHub Pages, Heroku).
  • Web3 contracts can be unverified. Unverified contracts require bytecode analysis. Do not assume functionality from ABI alone.
  • Proxy contracts hide implementation. Check EIP-1967 storage slots before analyzing contract behavior.
  • Same address, different chains. EVM-compatible chains use the same address format. Always confirm chain context.
  • Rate limiting is essential. Aggressive scanning can trigger WAFs, block IPs, and alert defenders. Use rate limiting by default.
  • Passive recon is not risk-free. Some passive techniques (DNS queries, certificate transparency) can be detected by sophisticated defenders.
  • Web3 recon is read-only. Never send transactions during recon. Use view functions and event logs only.

Output Format

# Reconnaissance Report: [Target]

**Date:** YYYY-MM-DD
**Type:** [Web2/Web3/Mixed]
**Scope:** [In-scope targets]
**Tools:** [Tool + versions]

## Executive Summary
- Attack surface: [size and complexity]
- Key findings: [top 3-5 findings]
- Risk indicators: [count by severity]

## Attack Surface Map

### Entry Points
| Type | Target | Exposure | Notes |
|------|--------|----------|-------|
| ... | ... | ... | ... |

### Trust Boundaries
| Boundary | Mechanism | Strength | Notes |
|----------|-----------|----------|-------|
| ... | ... | ... | ... |

### Dependencies
| Dependency | Type | Risk | Notes |
|------------|------|------|-------|
| ... | ... | ... | ... |

## Findings

### [SEVERITY] Finding Title
- **Category:** [Web2/Web3]
- **Target:** [host/address/URL]
- **Description:** [What was found]
- **Evidence:** [Tool output or on-chain data]
- **Risk:** [Potential impact]

## Risk Indicators
| Indicator | Severity | Evidence |
|-----------|----------|----------|
| ... | ... | ... |

## Methodology
- Commands/queries executed (full list)
- Tools and versions
- Time window analyzed
- Scope decision log

Scripts

  • scripts/recon-pipeline.sh — Automated web2 recon pipeline
  • scripts/address-analyzer.py — Automated web3 address classification and risk scoring
  • scripts/subdomain-monitor.py — Monitor for new subdomains

References

  • references/web2-network-recon.md — Detailed web2 network scanning procedures
  • references/web2-osint-techniques.md — OSINT collection techniques
  • references/web3-chain-analysis.md — On-chain analysis procedures
  • references/web3-contract-discovery.md — Contract identification and verification
  • references/attack-surface-templates.md — Attack surface map templates
  • references/tool-cheatsheet.md — Quick reference for all recon tools

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.