{"adoption": {"forks": 598, "observed_at": "2026-08-28T04:07:47.877634+00:00", "stars": 3182}, "canonical_url": "https://ross.abutalabs.com/products/java-deserialization-cheat-sheet", "card": {"archived": false, "artifact_type": "learning-resource", "description": "The cheat sheet about Java Deserialization vulnerabilities", "domain": ["security", "penetration-testing", "developer-tools"], "enriched": true, "function": ["security", "penetration-testing", "documentation"], "health_score": 20, "homepage": null, "language": null, "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["GrrrDog/Java-Deserialization-Cheat-Sheet"], "name": "GrrrDog/Java-Deserialization-Cheat-Sheet", "platform": ["jvm", "cross-platform"], "pushed_at": "2023-05-26T15:18:01+00:00", "repo": "GrrrDog/Java-Deserialization-Cheat-Sheet", "stars": 3182, "tags": ["cheat-sheet", "java-deserialization", "vulnerability-research", "exploitation", "awesome-list"], "topics": ["javadeser", "java-deserialization", "pentesting"], "urls": [], "use_cases": ["learn about java deserialization vulnerabilities", "find gadget chains and payload generators for javadeser", "prepare for pentesting java applications with insecure deserialization", "find protection and mitigation advice for java deserialization attacks", "research deserialization flaws in libraries like xstream, jackson, fast, snakeyaml", "detect java deserialization vulnerabilities in a target application"], "what_it_is": "A curated cheat sheet for pentesters and security researchers covering deserialization vulnerabilities across Java/JVM serialization libraries (native serialization, XStream, Jackson, Fast, SnakeYAML, AMF, and more). It aggregates talks, papers, payload generators, exploits, detection tips, and protection guidance.", "when_to_avoid": ["you need a runnable scanning or exploitation tool rather than reference material", "you are looking for deserialization vulnerability resources for non-JVM languages", "you need guaranteed up-to-date content, as the sheet is maintained sporadically"], "when_to_choose": ["you are a pentester or researcher assessing Java/JVM applications for deserialization flaws", "you need a curated index of talks, tools, and exploits for Java deserialization", "you want guidance on detecting and protecting against insecure deserialization in Java"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/java-deserialization-cheat-sheet", "repo": "GrrrDog/Java-Deserialization-Cheat-Sheet", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.877634+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:45:01.236937+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f994c836f5c380dd807d6d8a065dfa3729b239d3e15c5188ef1e9ad88dbadb38", "fetched_at": "2026-08-28T04:07:47.877634+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrrrDog/Java-Deserialization-Cheat-Sheet"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.877634+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:45:01.236937+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f994c836f5c380dd807d6d8a065dfa3729b239d3e15c5188ef1e9ad88dbadb38", "fetched_at": "2026-08-28T04:07:47.877634+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrrrDog/Java-Deserialization-Cheat-Sheet"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:45:01.236937+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f994c836f5c380dd807d6d8a065dfa3729b239d3e15c5188ef1e9ad88dbadb38", "fetched_at": "2026-08-28T04:07:47.877634+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrrrDog/Java-Deserialization-Cheat-Sheet"}], "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:07:47.877634+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.877634+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.877634+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:45:01.236937+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f994c836f5c380dd807d6d8a065dfa3729b239d3e15c5188ef1e9ad88dbadb38", "fetched_at": "2026-08-28T04:07:47.877634+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrrrDog/Java-Deserialization-Cheat-Sheet"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.877634+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.877634+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:45:01.236937+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f994c836f5c380dd807d6d8a065dfa3729b239d3e15c5188ef1e9ad88dbadb38", "fetched_at": "2026-08-28T04:07:47.877634+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrrrDog/Java-Deserialization-Cheat-Sheet"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.877634+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.877634+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.877634+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:45:01.236937+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f994c836f5c380dd807d6d8a065dfa3729b239d3e15c5188ef1e9ad88dbadb38", "fetched_at": "2026-08-28T04:07:47.877634+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrrrDog/Java-Deserialization-Cheat-Sheet"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.877634+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.877634+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:45:01.236937+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f994c836f5c380dd807d6d8a065dfa3729b239d3e15c5188ef1e9ad88dbadb38", "fetched_at": "2026-08-28T04:07:47.877634+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrrrDog/Java-Deserialization-Cheat-Sheet"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:45:01.236937+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f994c836f5c380dd807d6d8a065dfa3729b239d3e15c5188ef1e9ad88dbadb38", "fetched_at": "2026-08-28T04:07:47.877634+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrrrDog/Java-Deserialization-Cheat-Sheet"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:45:01.236937+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f994c836f5c380dd807d6d8a065dfa3729b239d3e15c5188ef1e9ad88dbadb38", "fetched_at": "2026-08-28T04:07:47.877634+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrrrDog/Java-Deserialization-Cheat-Sheet"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:45:01.236937+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f994c836f5c380dd807d6d8a065dfa3729b239d3e15c5188ef1e9ad88dbadb38", "fetched_at": "2026-08-28T04:07:47.877634+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GrrrDog/Java-Deserialization-Cheat-Sheet"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 3844, "days_push": 1195, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}