agentleFS
mn-youssefmn-youssef/security-skills/skills/recon-and-osint/SKILL.md

recon-and-osint

Skill47 starsChanged 5 months agoMITView on GitHub

Use when starting an assessment and you need to discover an application's full attack surface — subdomains, hosts, endpoints, technologies, exposed services, leaked credentials and secrets — on assets you own or are authorized to test. Feeds the threat model with real, not assumed, targets.

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Only enumerate assets you own or are explicitly authorized to test.

    line 15

≈ “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

Recon & OSINT (RECON phase — the front of the lifecycle)

Overview

Find what's actually exposed before deciding what to test. Threat modeling assumes a surface; recon discovers it. Most breaches start at an asset the defender forgot they had.

Core principle: You can't protect what you don't know exists. Enumerate everything first.

⚠️ Authorization

Only enumerate assets you own or are explicitly authorized to test. Passive OSINT on your own org is always safe; active scanning/brute-forcing requires the asset to be in scope.

Method (passive → active)

  1. Passive footprint (no packets to target) — search engines, certificate transparency, public code, breach data, DNS records, archived pages. Zero noise, often highest value.
  2. Asset discovery — subdomains, IP ranges, cloud buckets, related domains, forgotten staging.
  3. Service & tech fingerprinting — what's running, which versions, which frameworks/CMS.
  4. Content discovery — hidden endpoints, directories, API routes, JS-referenced URLs, params.
  5. Secret & exposure hunting — leaked keys/tokens in public repos, paste sites, JS bundles, archives.
  6. Consolidate — turn findings into a target inventory the threat model can rank.

See references/recon-playbook.md for concrete tools and commands per step.

Quick reference — what to hunt

CategoryGoldmine sources
Subdomainscrt.sh / cert transparency, subfinder, amass, DNS brute-force
Forgotten assetsstaging/dev/old subdomains, S3/GCS/Azure buckets, archived pages (Wayback)
Tech stackwhatweb, wappalyzer, response headers, favicon hash, JS libs
Endpoints/paramsgau/waybackurls, JS file parsing, katana, robots/sitemap, Swagger/GraphQL
Leaked secretsGitHub/Gist dorking, trufflehog/gitleaks on public repos, paste sites
Exposed credsbreach-corpus lookups for org emails (defensive: know what attackers know)

Output: target inventory

A list the threat model consumes:

AssetTypeTechNotableExposure
api.example.comAPI hostNode/ExpressSwagger exposedpublic
staging.example.comwebold builddebug=onshould be internal

Hand-off

Feed the inventory into threat-modeling to rank, then security-code-audit / api-security-testing for the prioritized targets.

Common mistakes

  • Jumping to scanning before passive recon — you make noise and miss the easy wins.
  • Enumerating only the main domain — forgotten subdomains/buckets are where breaches live.
  • Ignoring JS bundles — they leak endpoints, params, and sometimes keys.
  • Testing assets you found but aren't authorized for — discovery ≠ permission.

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.