{"adoption": {"forks": 248, "observed_at": "2026-08-28T04:05:18.094544+00:00", "stars": 1657}, "canonical_url": "https://ross.abutalabs.com/products/krbrelayx", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Kerberos relaying and unconstrained delegation abuse toolkit", "domain": ["security", "penetration-testing", "networking"], "enriched": true, "function": ["security", "penetration-testing", "networking", "cli"], "health_score": 63, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["dirkjanm/krbrelayx"], "name": "dirkjanm/krbrelayx", "platform": ["python", "windows", "cli"], "pushed_at": "2026-03-11T22:16:43+00:00", "repo": "dirkjanm/krbrelayx", "stars": 1657, "tags": ["kerberos", "active-directory", "ad-security", "relay-attacks", "unconstrained-delegation", "red-team", "pentesting", "impacket", "ldap", "dns", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["abuse unconstrained delegation in active directory", "relay kerberos authentication attacks", "add or remove SPNs on AD accounts via LDAP", "modify active directory integrated DNS records", "capture and relay TGT tickets for privilege escalation", "red team active directory attack toolkit"], "what_it_is": "A Python toolkit for abusing Kerberos in Active Directory environments, including Kerberos relaying and unconstrained delegation attacks. It bundles tools like addspn.py for SPN manipulation and dnstool.py for modifying AD-integrated DNS records over LDAP.", "when_to_avoid": ["you need defensive monitoring rather than offensive tooling", "you are not working with Windows Active Directory environments", "unauthorized use - this is an attack toolkit, not an administration utility"], "when_to_choose": ["you are performing authorized penetration tests or red team engagements against Active Directory", "you need to demonstrate Kerberos relaying or delegation abuse risks", "you want to manipulate SPNs or AD DNS records programmatically over LDAP"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/krbrelayx", "repo": "dirkjanm/krbrelayx", "role": "main", "score": 64}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.094544+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:44:46.157154+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f684e7b65ccd039a3ecdd3eeda09d2bbd9c738651b7ac006cd7ff122f8f77e7a", "fetched_at": "2026-08-28T04:05:18.094544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dirkjanm/krbrelayx"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.094544+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:44:46.157154+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f684e7b65ccd039a3ecdd3eeda09d2bbd9c738651b7ac006cd7ff122f8f77e7a", "fetched_at": "2026-08-28T04:05:18.094544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dirkjanm/krbrelayx"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:44:46.157154+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f684e7b65ccd039a3ecdd3eeda09d2bbd9c738651b7ac006cd7ff122f8f77e7a", "fetched_at": "2026-08-28T04:05:18.094544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dirkjanm/krbrelayx"}], "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:18.094544+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.094544+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.094544+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:44:46.157154+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f684e7b65ccd039a3ecdd3eeda09d2bbd9c738651b7ac006cd7ff122f8f77e7a", "fetched_at": "2026-08-28T04:05:18.094544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dirkjanm/krbrelayx"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.094544+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.094544+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:44:46.157154+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f684e7b65ccd039a3ecdd3eeda09d2bbd9c738651b7ac006cd7ff122f8f77e7a", "fetched_at": "2026-08-28T04:05:18.094544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dirkjanm/krbrelayx"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.094544+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.094544+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.094544+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:44:46.157154+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f684e7b65ccd039a3ecdd3eeda09d2bbd9c738651b7ac006cd7ff122f8f77e7a", "fetched_at": "2026-08-28T04:05:18.094544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dirkjanm/krbrelayx"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.094544+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.094544+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:44:46.157154+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f684e7b65ccd039a3ecdd3eeda09d2bbd9c738651b7ac006cd7ff122f8f77e7a", "fetched_at": "2026-08-28T04:05:18.094544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dirkjanm/krbrelayx"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:44:46.157154+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f684e7b65ccd039a3ecdd3eeda09d2bbd9c738651b7ac006cd7ff122f8f77e7a", "fetched_at": "2026-08-28T04:05:18.094544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dirkjanm/krbrelayx"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:44:46.157154+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f684e7b65ccd039a3ecdd3eeda09d2bbd9c738651b7ac006cd7ff122f8f77e7a", "fetched_at": "2026-08-28T04:05:18.094544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dirkjanm/krbrelayx"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:44:46.157154+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f684e7b65ccd039a3ecdd3eeda09d2bbd9c738651b7ac006cd7ff122f8f77e7a", "fetched_at": "2026-08-28T04:05:18.094544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dirkjanm/krbrelayx"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 71, "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": 2794, "days_push": 175, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 64, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}