{"adoption": {"forks": 183, "observed_at": "2026-08-28T04:03:52.369122+00:00", "stars": 1175}, "canonical_url": "https://ross.abutalabs.com/products/adaclscanner", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Repo for ADACLScan.ps1 - Your number one script for ACL's in Active Directory", "domain": ["security", "windows", "developer-tools"], "enriched": true, "function": ["security", "cli", "gui"], "health_score": 95, "homepage": null, "language": "PowerShell", "license": "MS-PL", "license_family": "other", "maturity": "active", "member_repos": ["canix1/ADACLScanner"], "name": "canix1/ADACLScanner", "platform": ["windows", "cli"], "pushed_at": "2026-07-07T22:34:47+00:00", "repo": "canix1/ADACLScanner", "stars": 1175, "tags": ["active-directory", "acl", "powershell", "permissions-audit", "laps", "ad-security", "reporting"], "topics": [], "urls": [], "use_cases": ["audit who has access to LAPS passwords in Active Directory", "find who can reset user passwords in an OU", "report GenericAll permissions on computer accounts including nested groups", "scan risky AD CS certificate templates from the CLI", "export AD ACLs to CSV for comparison", "investigate AD ACLs during security forensics"], "what_it_is": "A PowerShell script (ADACLScan.ps1) with both CLI and GUI interfaces for reporting on discretionary and system access control lists (DACLs/SACLs) in Active Directory. It supports filtering by permission, object type, and property, recursive group expansion, and CSV output for comparisons.", "when_to_avoid": ["you need cross-platform tooling (it is Windows/PowerShell and AD specific)", "you need continuous permission monitoring rather than on-demand scans", "your environment does not use Active Directory"], "when_to_choose": ["you need to audit or report Active Directory permissions without installing heavy tooling", "you want a PowerShell-native tool runnable from non-domain-joined machines with credentials", "you need recursive security principal expansion for ACL analysis"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/adaclscanner", "repo": "canix1/ADACLScanner", "role": "main", "score": 89}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.369122+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:27:04.211152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "53d3529c86efcbd71087f26750df76940daae1e6aeaca3afcc236b32491caa47", "fetched_at": "2026-08-28T04:03:52.369122+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canix1/ADACLScanner"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.369122+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:27:04.211152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "53d3529c86efcbd71087f26750df76940daae1e6aeaca3afcc236b32491caa47", "fetched_at": "2026-08-28T04:03:52.369122+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canix1/ADACLScanner"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:27:04.211152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "53d3529c86efcbd71087f26750df76940daae1e6aeaca3afcc236b32491caa47", "fetched_at": "2026-08-28T04:03:52.369122+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canix1/ADACLScanner"}], "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:03:52.369122+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.369122+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.369122+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:27:04.211152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "53d3529c86efcbd71087f26750df76940daae1e6aeaca3afcc236b32491caa47", "fetched_at": "2026-08-28T04:03:52.369122+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canix1/ADACLScanner"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.369122+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.369122+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:27:04.211152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "53d3529c86efcbd71087f26750df76940daae1e6aeaca3afcc236b32491caa47", "fetched_at": "2026-08-28T04:03:52.369122+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canix1/ADACLScanner"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.369122+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.369122+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.369122+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:27:04.211152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "53d3529c86efcbd71087f26750df76940daae1e6aeaca3afcc236b32491caa47", "fetched_at": "2026-08-28T04:03:52.369122+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canix1/ADACLScanner"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.369122+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.369122+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:27:04.211152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "53d3529c86efcbd71087f26750df76940daae1e6aeaca3afcc236b32491caa47", "fetched_at": "2026-08-28T04:03:52.369122+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canix1/ADACLScanner"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:27:04.211152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "53d3529c86efcbd71087f26750df76940daae1e6aeaca3afcc236b32491caa47", "fetched_at": "2026-08-28T04:03:52.369122+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canix1/ADACLScanner"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:27:04.211152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "53d3529c86efcbd71087f26750df76940daae1e6aeaca3afcc236b32491caa47", "fetched_at": "2026-08-28T04:03:52.369122+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canix1/ADACLScanner"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:27:04.211152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "53d3529c86efcbd71087f26750df76940daae1e6aeaca3afcc236b32491caa47", "fetched_at": "2026-08-28T04:03:52.369122+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canix1/ADACLScanner"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 91, "longevity": 100, "rhythm": 80}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3436, "days_push": 57, "days_rel": 57, "gap_med": 35, "n_releases_24m": 14}, "score": 89, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}