{"adoption": {"forks": 191, "observed_at": "2026-08-28T04:05:32.661651+00:00", "stars": 1761}, "canonical_url": "https://ross.abutalabs.com/products/jyso", "card": {"archived": false, "artifact_type": "cli-tool", "description": " JNDIExploit or a ysoserial.", "domain": ["security", "penetration-testing"], "enriched": true, "function": ["penetration-testing", "security"], "health_score": 90, "homepage": null, "language": "Java", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["qi4L/JYso"], "name": "qi4L/JYso", "platform": ["jvm", "cli", "cross-platform"], "pushed_at": "2026-06-14T04:33:48+00:00", "repo": "qi4L/JYso", "stars": 1761, "tags": ["jndi-injection", "ysoserial", "java-deserialization", "memshell", "red-team", "offensive-security", "exploitation"], "topics": ["java", "attack", "jndi-injection", "web-security", "mem-shell", "middleware-echo", "jndi", "ldap", "rmi", "gadget", "ysoserial"], "urls": [], "use_cases": ["generate java deserialization gadget payloads", "exploit jndi injection vulnerabilities", "bypass jndi high version restrictions", "inject memory shells into java middleware", "bypass WAF and RASP during exploitation", "perform shiro deserialization attacks", "set up a malicious ldap or rmi server"], "what_it_is": "JYso is a Java-based offensive security tool that combines the capabilities of ysoserial (Java deserialization gadget generation) and JNDIExploit (JNDI injection exploitation server). It includes bypasses for high-version JNDI restrictions, WAFs, and RASP, plus memory shell injection features.", "when_to_avoid": ["you need a defensive security or vulnerability scanning tool", "you are not working with Java deserialization or JNDI attack scenarios", "you need a fully GUI-driven tool (though it does offer GUI)"], "when_to_choose": ["you need both ysoserial and JNDIExploit functionality in one tool", "you need to bypass JNDI high-version restrictions or RASP", "you want to deploy memory shells with customizable paths and headers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jyso", "repo": "qi4L/JYso", "role": "main", "score": 83}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.661651+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:27:12.248898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a00c167de6b3ec27f11b0ff489c8acf78fcafb673db60dab79da43ca38bb4172", "fetched_at": "2026-08-28T04:05:32.661651+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qi4L/JYso"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.661651+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:27:12.248898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a00c167de6b3ec27f11b0ff489c8acf78fcafb673db60dab79da43ca38bb4172", "fetched_at": "2026-08-28T04:05:32.661651+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qi4L/JYso"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:27:12.248898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a00c167de6b3ec27f11b0ff489c8acf78fcafb673db60dab79da43ca38bb4172", "fetched_at": "2026-08-28T04:05:32.661651+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qi4L/JYso"}], "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:32.661651+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.661651+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.661651+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:27:12.248898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a00c167de6b3ec27f11b0ff489c8acf78fcafb673db60dab79da43ca38bb4172", "fetched_at": "2026-08-28T04:05:32.661651+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qi4L/JYso"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.661651+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.661651+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:27:12.248898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a00c167de6b3ec27f11b0ff489c8acf78fcafb673db60dab79da43ca38bb4172", "fetched_at": "2026-08-28T04:05:32.661651+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qi4L/JYso"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.661651+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.661651+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.661651+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:27:12.248898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a00c167de6b3ec27f11b0ff489c8acf78fcafb673db60dab79da43ca38bb4172", "fetched_at": "2026-08-28T04:05:32.661651+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qi4L/JYso"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.661651+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.661651+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:27:12.248898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a00c167de6b3ec27f11b0ff489c8acf78fcafb673db60dab79da43ca38bb4172", "fetched_at": "2026-08-28T04:05:32.661651+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qi4L/JYso"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:27:12.248898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a00c167de6b3ec27f11b0ff489c8acf78fcafb673db60dab79da43ca38bb4172", "fetched_at": "2026-08-28T04:05:32.661651+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qi4L/JYso"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:27:12.248898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a00c167de6b3ec27f11b0ff489c8acf78fcafb673db60dab79da43ca38bb4172", "fetched_at": "2026-08-28T04:05:32.661651+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qi4L/JYso"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:27:12.248898+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a00c167de6b3ec27f11b0ff489c8acf78fcafb673db60dab79da43ca38bb4172", "fetched_at": "2026-08-28T04:05:32.661651+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qi4L/JYso"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 87, "longevity": 100, "rhythm": 69}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1521, "days_push": 80, "days_rel": 125, "gap_med": 73, "n_releases_24m": 8}, "score": 83, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}