{"adoption": {"forks": 954, "observed_at": "2026-08-28T04:09:21.843039+00:00", "stars": 5514}, "canonical_url": "https://ross.abutalabs.com/products/learn-web-hacking", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Study Notes For Web Hacking / Web安全学习笔记", "domain": ["security", "penetration-testing", "web-development", "tutorials", "documentation"], "enriched": true, "function": ["penetration-testing", "security", "documentation", "developer-tools"], "health_score": 79, "homepage": "https://websec.readthedocs.io/zh/latest/", "language": "Python", "license": "CC0-1.0", "license_family": "permissive", "maturity": "active", "member_repos": ["LyleMi/Learn-Web-Hacking"], "name": "LyleMi/Learn-Web-Hacking", "platform": ["cross-platform"], "pushed_at": "2026-08-21T23:33:57+00:00", "repo": "LyleMi/Learn-Web-Hacking", "stars": 5514, "tags": ["web-security", "study-notes", "pentesting", "hacking", "infosec", "readthedocs", "chinese", "web-server"], "topics": ["web-hacking", "study-notes", "hacking", "pentesting", "security", "penetration-testing"], "urls": [], "use_cases": ["learn web security from scratch", "study notes for penetration testing", "understand common web vulnerabilities like SQL injection and XSS", "prepare for a career in offensive security", "reference for intranet penetration techniques", "learn defensive security concepts like honeypots and threat intelligence", "find recommended tools and resources for web hacking"], "what_it_is": "A comprehensive set of study notes on web security covering network protocols, information gathering, common vulnerabilities, intranet penetration, cloud security, and defensive techniques. It is published as an online handbook (websec.readthedocs.io) aimed at beginners entering cybersecurity.", "when_to_avoid": ["you need hands-on labs or interactive exercises rather than reading material", "you require up-to-the-minute coverage of the latest CVEs and exploits", "you want a tool rather than educational documentation"], "when_to_choose": ["you want a structured, free curriculum for learning web security fundamentals", "you need a reference handbook covering both offensive and defensive perspectives", "you are a beginner looking for a roadmap through the sprawling web security field"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/learn-web-hacking", "repo": "LyleMi/Learn-Web-Hacking", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.843039+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:56:14.186812+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9dbeebf1edc5ffedc2bb89a35976c984cc8e20564b6235e91c09aef99d2b6c28", "fetched_at": "2026-08-28T04:09:21.843039+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LyleMi/Learn-Web-Hacking"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.843039+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:56:14.186812+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9dbeebf1edc5ffedc2bb89a35976c984cc8e20564b6235e91c09aef99d2b6c28", "fetched_at": "2026-08-28T04:09:21.843039+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LyleMi/Learn-Web-Hacking"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:56:14.186812+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9dbeebf1edc5ffedc2bb89a35976c984cc8e20564b6235e91c09aef99d2b6c28", "fetched_at": "2026-08-28T04:09:21.843039+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LyleMi/Learn-Web-Hacking"}], "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:09:21.843039+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.843039+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.843039+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:56:14.186812+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9dbeebf1edc5ffedc2bb89a35976c984cc8e20564b6235e91c09aef99d2b6c28", "fetched_at": "2026-08-28T04:09:21.843039+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LyleMi/Learn-Web-Hacking"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.843039+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.843039+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:56:14.186812+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9dbeebf1edc5ffedc2bb89a35976c984cc8e20564b6235e91c09aef99d2b6c28", "fetched_at": "2026-08-28T04:09:21.843039+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LyleMi/Learn-Web-Hacking"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.843039+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.843039+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.843039+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:56:14.186812+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9dbeebf1edc5ffedc2bb89a35976c984cc8e20564b6235e91c09aef99d2b6c28", "fetched_at": "2026-08-28T04:09:21.843039+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LyleMi/Learn-Web-Hacking"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.843039+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.843039+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:56:14.186812+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9dbeebf1edc5ffedc2bb89a35976c984cc8e20564b6235e91c09aef99d2b6c28", "fetched_at": "2026-08-28T04:09:21.843039+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LyleMi/Learn-Web-Hacking"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:56:14.186812+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9dbeebf1edc5ffedc2bb89a35976c984cc8e20564b6235e91c09aef99d2b6c28", "fetched_at": "2026-08-28T04:09:21.843039+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LyleMi/Learn-Web-Hacking"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:56:14.186812+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9dbeebf1edc5ffedc2bb89a35976c984cc8e20564b6235e91c09aef99d2b6c28", "fetched_at": "2026-08-28T04:09:21.843039+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LyleMi/Learn-Web-Hacking"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:56:14.186812+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9dbeebf1edc5ffedc2bb89a35976c984cc8e20564b6235e91c09aef99d2b6c28", "fetched_at": "2026-08-28T04:09:21.843039+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LyleMi/Learn-Web-Hacking"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3405, "days_push": 12, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 76, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}