{"adoption": {"forks": 1168, "observed_at": "2026-08-28T04:11:17.982860+00:00", "stars": 17348}, "canonical_url": "https://ross.abutalabs.com/products/projectdiscovery-katana", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A next-generation crawling and spidering framework.", "domain": ["security", "crawlers", "web-development", "developer-tools"], "enriched": true, "function": ["web-scraping", "cli", "parser"], "health_score": 100, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["projectdiscovery/katana"], "name": "projectdiscovery/katana", "platform": ["windows", "cli", "go"], "pushed_at": "2026-08-24T12:23:53+00:00", "repo": "projectdiscovery/katana", "stars": 17348, "tags": ["web-crawler", "spidering", "headless-browser", "javascript-parsing", "reconnaissance", "bug-bounty", "attack-surface-discovery", "form-filling", "command-line", "linux", "macos", "docker"], "topics": ["crawler", "web-spider", "gocrawler", "spider-framework", "cli", "headless", "hacktoberfest"], "urls": [], "use_cases": ["crawl all endpoints of a website for bug bounty recon", "spider a site headlessly to discover JavaScript-loaded URLs", "enumerate links and forms on a target domain", "discover hidden paths and endpoints on a web app", "feed discovered URLs into vulnerability scanners", "automatically fill and submit forms while crawling"], "what_it_is": "Katana is a fast, configurable web crawling and spidering framework written in Go, supporting both standard HTTP-based and headless browser modes. It parses JavaScript, auto-fills forms, and offers scope control and customizable JSON/file output, making it popular for security reconnaissance.", "when_to_avoid": ["you need a polite, SEO-oriented production crawler with robots.txt compliance by default", "you want a GUI-based crawling tool", "you need distributed large-scale crawling infrastructure"], "when_to_choose": ["you need fast, scriptable web crawling from the CLI", "you want headless browser crawling with JS rendering", "you're doing security reconnaissance or attack surface mapping", "you need JSON output to pipe into other tools"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/projectdiscovery-katana", "repo": "projectdiscovery/katana", "role": "main", "score": 94}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.982860+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:03:11.032840+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5f47d025d4337720baa1c0d9eecf1022345130e0655f6adcf7d6c8fc8dc8cd0", "fetched_at": "2026-08-28T04:11:17.982860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/projectdiscovery/katana"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.982860+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:03:11.032840+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5f47d025d4337720baa1c0d9eecf1022345130e0655f6adcf7d6c8fc8dc8cd0", "fetched_at": "2026-08-28T04:11:17.982860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/projectdiscovery/katana"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:03:11.032840+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5f47d025d4337720baa1c0d9eecf1022345130e0655f6adcf7d6c8fc8dc8cd0", "fetched_at": "2026-08-28T04:11:17.982860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/projectdiscovery/katana"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.982860+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.982860+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.982860+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:03:11.032840+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5f47d025d4337720baa1c0d9eecf1022345130e0655f6adcf7d6c8fc8dc8cd0", "fetched_at": "2026-08-28T04:11:17.982860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/projectdiscovery/katana"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.982860+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.982860+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:03:11.032840+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5f47d025d4337720baa1c0d9eecf1022345130e0655f6adcf7d6c8fc8dc8cd0", "fetched_at": "2026-08-28T04:11:17.982860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/projectdiscovery/katana"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.982860+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.982860+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.982860+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:03:11.032840+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5f47d025d4337720baa1c0d9eecf1022345130e0655f6adcf7d6c8fc8dc8cd0", "fetched_at": "2026-08-28T04:11:17.982860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/projectdiscovery/katana"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.982860+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:17.982860+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:03:11.032840+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5f47d025d4337720baa1c0d9eecf1022345130e0655f6adcf7d6c8fc8dc8cd0", "fetched_at": "2026-08-28T04:11:17.982860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/projectdiscovery/katana"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:03:11.032840+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5f47d025d4337720baa1c0d9eecf1022345130e0655f6adcf7d6c8fc8dc8cd0", "fetched_at": "2026-08-28T04:11:17.982860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/projectdiscovery/katana"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:03:11.032840+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5f47d025d4337720baa1c0d9eecf1022345130e0655f6adcf7d6c8fc8dc8cd0", "fetched_at": "2026-08-28T04:11:17.982860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/projectdiscovery/katana"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:03:11.032840+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c5f47d025d4337720baa1c0d9eecf1022345130e0655f6adcf7d6c8fc8dc8cd0", "fetched_at": "2026-08-28T04:11:17.982860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/projectdiscovery/katana"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 84}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2069, "days_push": 9, "days_rel": 28, "gap_med": 54, "n_releases_24m": 12}, "score": 94, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}