{"adoption": {"forks": 227, "observed_at": "2026-08-28T04:06:07.038438+00:00", "stars": 2028}, "canonical_url": "https://ross.abutalabs.com/products/javathings", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Share Things Related to Java - Java安全漫谈笔记相关内容", "domain": ["security", "tutorials"], "enriched": true, "function": ["security", "developer-tools", "serialization"], "health_score": 29, "homepage": null, "language": "Java", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["phith0n/JavaThings"], "name": "phith0n/JavaThings", "platform": ["jvm", "cross-platform"], "pushed_at": "2025-04-09T12:02:08+00:00", "repo": "phith0n/JavaThings", "stars": 2028, "tags": ["java-security", "deserialization", "gadget-chains", "rmi", "study-notes", "penetration-testing-education"], "topics": ["java", "security"], "urls": [], "use_cases": ["learn java deserialization vulnerabilities", "understand commonscollections gadget chains", "study java reflection for security", "learn how rmi attacks work", "find poc examples for java deserialization", "learn bytecode loading techniques in java", "study shiro deserialization exploitation"], "what_it_is": "A collection of study notes and demo code accompanying the 'Java Security Ramblings' (Java安全漫谈) essay series by phith0n. It covers Java security fundamentals such as reflection, RMI, bytecode loading, and deserialization gadget chains like CommonsCollections, CommonsBeanutils, and JDK7u21.", "when_to_avoid": ["you need a production-ready exploitation tool rather than educational demos", "you need a maintained security library with a license for commercial use", "you are not working with the JVM or Java security"], "when_to_choose": ["you are learning Java security from scratch with guided notes", "you want runnable demo code for deserialization gadget chains", "you want a structured curriculum covering reflection, RMI, and bytecode loading"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/javathings", "repo": "phith0n/JavaThings", "role": "main", "score": 39}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.038438+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:59:40.436595+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "744cb663a6bc3b289faa64dfee5fabb7b8bab92330f8cb6a529a02adfd559911", "fetched_at": "2026-08-28T04:06:07.038438+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phith0n/JavaThings"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.038438+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:59:40.436595+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "744cb663a6bc3b289faa64dfee5fabb7b8bab92330f8cb6a529a02adfd559911", "fetched_at": "2026-08-28T04:06:07.038438+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phith0n/JavaThings"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:59:40.436595+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "744cb663a6bc3b289faa64dfee5fabb7b8bab92330f8cb6a529a02adfd559911", "fetched_at": "2026-08-28T04:06:07.038438+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phith0n/JavaThings"}], "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:06:07.038438+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.038438+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.038438+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:59:40.436595+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "744cb663a6bc3b289faa64dfee5fabb7b8bab92330f8cb6a529a02adfd559911", "fetched_at": "2026-08-28T04:06:07.038438+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phith0n/JavaThings"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.038438+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.038438+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:59:40.436595+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "744cb663a6bc3b289faa64dfee5fabb7b8bab92330f8cb6a529a02adfd559911", "fetched_at": "2026-08-28T04:06:07.038438+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phith0n/JavaThings"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.038438+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.038438+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.038438+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:59:40.436595+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "744cb663a6bc3b289faa64dfee5fabb7b8bab92330f8cb6a529a02adfd559911", "fetched_at": "2026-08-28T04:06:07.038438+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phith0n/JavaThings"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.038438+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:07.038438+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:59:40.436595+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "744cb663a6bc3b289faa64dfee5fabb7b8bab92330f8cb6a529a02adfd559911", "fetched_at": "2026-08-28T04:06:07.038438+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phith0n/JavaThings"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:59:40.436595+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "744cb663a6bc3b289faa64dfee5fabb7b8bab92330f8cb6a529a02adfd559911", "fetched_at": "2026-08-28T04:06:07.038438+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phith0n/JavaThings"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:59:40.436595+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "744cb663a6bc3b289faa64dfee5fabb7b8bab92330f8cb6a529a02adfd559911", "fetched_at": "2026-08-28T04:06:07.038438+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phith0n/JavaThings"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:59:40.436595+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "744cb663a6bc3b289faa64dfee5fabb7b8bab92330f8cb6a529a02adfd559911", "fetched_at": "2026-08-28T04:06:07.038438+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phith0n/JavaThings"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 15, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+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": 2235, "days_push": 511, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 39, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}