{"adoption": {"forks": 276, "observed_at": "2026-08-28T04:05:57.562513+00:00", "stars": 1943}, "canonical_url": "https://ross.abutalabs.com/products/web-sec", "card": {"archived": false, "artifact_type": "learning-resource", "description": "WEB安全手册(红队安全技能栈)，漏洞理解，漏洞利用，代码审计和渗透测试总结。【持续更新】", "domain": ["security", "penetration-testing", "web-development", "awesome-lists", "tutorials"], "enriched": true, "function": ["security", "penetration-testing", "documentation", "developer-tools"], "health_score": 76, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["ReAbout/web-sec"], "name": "ReAbout/web-sec", "platform": ["cross-platform"], "pushed_at": "2026-07-20T15:37:42+00:00", "repo": "ReAbout/web-sec", "stars": 1943, "tags": ["web-security", "red-team", "cheatsheet", "vulnerability-exploitation", "code-audit", "pentest-handbook", "xss", "sqli", "ssrf", "deserialization"], "topics": [], "urls": [], "use_cases": ["look up exploitation techniques for XSS, CSRF, SSRF, or SQL injection during a pentest", "study how web vulnerabilities work and their preconditions before practicing", "find payloads and bypass techniques for WAF, CSP, or SameSite protections", "review Java deserialization, SpEL, OGNL, and JNDI exploitation chains", "prepare for CTF web challenges with a quick reference of common web attacks", "learn privilege escalation and post-exploitation steps on Windows and Linux", "use as a retrieval corpus for AI-assisted security question answering"], "what_it_is": "A continuously updated Chinese-language web security handbook (red team skill stack) organized as a curated knowledge base covering vulnerability understanding, exploitation, code auditing, and penetration testing. It provides quick-reference matrices mapping vulnerability classes like XSS, SSRF, SQLi, SSTI, and deserialization to exploitation notes, payloads, and defense points.", "when_to_avoid": ["you need runnable security tooling rather than documentation and notes", "you require an officially licensed or formally maintained curriculum rather than a personal knowledge compilation", "you need beginner-friendly step-by-step tutorials with no prior security background"], "when_to_choose": ["you need a curated, continuously updated reference for web vulnerability exploitation and red team workflows", "you want organized cheat sheets mapping vulnerability classes to conditions, exploit chains, and defenses", "you are doing code audits or penetration tests and need fast lookup of attack techniques"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/web-sec", "repo": "ReAbout/web-sec", "role": "main", "score": 74}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.562513+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:08:01.458964+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a016aa0ae2abc5e55749a7e90c0f1eabb7a093b3a946c6cf7a64ce246dd1784", "fetched_at": "2026-08-28T04:05:57.562513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReAbout/web-sec"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.562513+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:08:01.458964+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a016aa0ae2abc5e55749a7e90c0f1eabb7a093b3a946c6cf7a64ce246dd1784", "fetched_at": "2026-08-28T04:05:57.562513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReAbout/web-sec"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:08:01.458964+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a016aa0ae2abc5e55749a7e90c0f1eabb7a093b3a946c6cf7a64ce246dd1784", "fetched_at": "2026-08-28T04:05:57.562513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReAbout/web-sec"}], "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:05:57.562513+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.562513+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.562513+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:08:01.458964+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a016aa0ae2abc5e55749a7e90c0f1eabb7a093b3a946c6cf7a64ce246dd1784", "fetched_at": "2026-08-28T04:05:57.562513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReAbout/web-sec"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.562513+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.562513+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:08:01.458964+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a016aa0ae2abc5e55749a7e90c0f1eabb7a093b3a946c6cf7a64ce246dd1784", "fetched_at": "2026-08-28T04:05:57.562513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReAbout/web-sec"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.562513+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.562513+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.562513+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:08:01.458964+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a016aa0ae2abc5e55749a7e90c0f1eabb7a093b3a946c6cf7a64ce246dd1784", "fetched_at": "2026-08-28T04:05:57.562513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReAbout/web-sec"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.562513+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.562513+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:08:01.458964+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a016aa0ae2abc5e55749a7e90c0f1eabb7a093b3a946c6cf7a64ce246dd1784", "fetched_at": "2026-08-28T04:05:57.562513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReAbout/web-sec"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:08:01.458964+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a016aa0ae2abc5e55749a7e90c0f1eabb7a093b3a946c6cf7a64ce246dd1784", "fetched_at": "2026-08-28T04:05:57.562513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReAbout/web-sec"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:08:01.458964+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a016aa0ae2abc5e55749a7e90c0f1eabb7a093b3a946c6cf7a64ce246dd1784", "fetched_at": "2026-08-28T04:05:57.562513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReAbout/web-sec"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:08:01.458964+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a016aa0ae2abc5e55749a7e90c0f1eabb7a093b3a946c6cf7a64ce246dd1784", "fetched_at": "2026-08-28T04:05:57.562513+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ReAbout/web-sec"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 93, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2732, "days_push": 44, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 74, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}