web-crawling
Skill1 starsChanged 12 days agoMITView on GitHub
Spider in-scope web applications to extract endpoints, parameters, and forms using gospider/hakrawler and related crawlers. Use once live web hosts are confirmed (from subdomain-discovery/tech-stack-fingerprint) to build the full set of reachable URLs and inputs before js-analysis and api-discovery dig into them. Do NOT use for JS file content analysis — that's js-analysis; this skill produces the URL/param/form inventory the other two consume.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- valtterimelkko/agent-workflow-skillstheir own version, first seen Sep 30, 2026
- ykotik/cli-power-skillstheir own version, first seen Apr 14, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- valtterimelkko/agent-workflow-skills★ 2same name
- ykotik/cli-power-skills★ 1same 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 repository124 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- ai-agent-reconSkill
- ai-supply-chainSkill
- exfiltration-via-aiSkill
- indirect-injectionSkill
- llm-fuzzingSkill
- prompt-injectionSkill
- rag-poisoningSkill
- tool-abuseSkill
- chain-analysisSkill
- chain-auth-to-takeoverSkill
- chain-customSkill
- chain-graph-walkSkill
- chain-idor-to-mass-dataSkill
- chain-info-to-exploitSkill
- chain-multi-appSkill
- chain-ssrf-to-cloudSkill
- chain-web-to-rceSkill
- chain-xss-to-account-takeoverSkill
- email-securitySkill
- engagement-flowSkill
- finding-disciplineSkill
- http-headers-securitySkill
- oob-interactionsSkill
- opsec-disciplineSkill
- research-firstSkill
- scope-disciplineSkill
- scope-importSkill
- session-contextSkill
- 2fa-bypassSkill
- api-abuseSkill
- auth-bypassSkill
- broken-access-controlSkill
- business-logicSkill
- cache-poisoningSkill
- clickjackingSkill
- corsSkill
- credential-testingSkill
- crlf-injectionSkill
- cryptographic-oracleSkill
- csrfSkill
- css-injectionSkill
- data-exfiltration-testSkill
- deserializationSkill
- email-injectionSkill
- file-uploadSkill
- fuzzingSkill
- graphqlSkill
- grpcSkill
- host-headerSkill
- http-smugglingSkill
- idorSkill
- info-disclosureSkill
- jwtSkill
- lateral-movementSkill
- lfi-rfiSkill
- mass-assignmentSkill
- oauthSkill
- open-redirectSkill
- parameter-pollutionSkill
- The first 60 shown.
The file
Files
Signals
- Live web hosts confirmed, need the full set of pages/endpoints/parameters/forms before hunting begins.
- Wayback/passive URL lists feel incomplete and need live-crawl confirmation.
- About to move into the MAPPED gate (
engagement-flow) and the URL inventory is the missing artifact.
Prerequisites
- Live, in-scope web host list (
live-subs.txtor equivalent fromsubdomain-discovery). - Rate-limit policy from
opsec-discipline— crawling can generate significant request volume.
Methodology
- Baseline crawl with gospider — follows links, JS references, robots.txt, sitemap.xml:
gospider -s "https://example.com" -o gospider-out -c 10 -d 3 \ --sitemap --robots --other-source -t 5 - hakrawler as a fast complementary crawler, good for piping into other tools:
echo "https://example.com" | hakrawler -depth 3 -plain > hakrawler-urls.txt - katana (ProjectDiscovery) for JS-aware crawling (renders/parses JS-discovered endpoints
that a plain HTML crawler misses) and form extraction:
katana -u https://example.com -d 3 -jc -kf all -fx -o katana-out.txt # -jc: crawl endpoints found inside JS files # -kf: known files (robots.txt, sitemap.xml, etc.) # -fx: extract forms - Explicitly pull robots.txt and sitemap.xml by hand too — cheap and often reveals paths
crawlers don't reach (disallowed-but-listed paths, staging sitemaps):
curl -s https://example.com/robots.txt curl -s https://example.com/sitemap.xml - For authenticated areas, crawl through Burp Suite with the session active so the crawler
follows logged-in-only links (unauthenticated crawlers will stop at the login wall):
Burp Suite → Target → set scope to example.com → browse the app with Burp's proxy active → right-click scope → "Spider this host" (or use Burp's passive crawl via proxy history) - Normalize and dedupe all URLs, split into static assets, pages, and likely API endpoints
for
api-discovery:cat gospider-out/* hakrawler-urls.txt katana-out.txt | grep -oP 'https?://\S+' | sort -u > all-urls.txt grep -E '\.(js|css|png|jpg|svg|woff2?)(\?|$)' all-urls.txt > static-assets.txt grep -vE '\.(js|css|png|jpg|svg|woff2?)(\?|$)' all-urls.txt > pages-and-endpoints.txt grep -E '/api/|/v[0-9]+/|\.json' pages-and-endpoints.txt > likely-api-endpoints.txt - Extract parameters from crawled URLs for later fuzzing/param-based hunting:
grep -oP '(?<=\?)[^#]+' all-urls.txt | tr '&' '\n' | cut -d= -f1 | sort -u > param-names.txt
Tooling
gospider (-c concurrency, -d depth, --sitemap --robots --other-source), hakrawler,
katana (-jc, -kf, -fx), Burp Suite's proxy/spider for authenticated crawling, curl
for manual robots.txt/sitemap.xml pulls.
Validation gate
- Crawl depth/concurrency matches
opsec-disciplinerate policy. - Only in-scope hosts crawled — a crawler following off-site links will happily leave
scope if not constrained (
-whitelist/scope settings). - Output split into static assets vs. pages/endpoints vs. likely API routes before
handing to
js-analysis/api-discovery.
Gotchas
- Unauthenticated crawls only see the public surface — most interesting app logic sits behind auth; plan an authenticated crawl pass explicitly if credentials are provided.
- Crawlers will follow external links and third-party resources unless scoped — constrain
with the tool's whitelist/scope flag or filter output afterward; never scan what the
crawl incidentally touched outside
scope.txt. - High crawl concurrency against a small app can look like (and function as) a denial-of-
service — start conservative per
opsec-discipline, especially on non-CDN-fronted origins. - Single-page apps (SPA) often render most content client-side — a plain HTML crawler will
return almost nothing; use
katana -jcor a headless-browser-based crawl instead.
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.

