{"adoption": {"forks": 156, "observed_at": "2026-08-28T04:05:56.925550+00:00", "stars": 1937}, "canonical_url": "https://ross.abutalabs.com/products/skitter-creek-bath-salts", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Unlocking _everything_ on the CPU with DRAM scrambling", "domain": ["security", "hardware", "developer-tools"], "enriched": true, "function": ["security", "reverse-engineering"], "health_score": 78, "homepage": null, "language": "C", "license": "MIT", "license_family": "permissive", "maturity": "experimental", "member_repos": ["xoreaxeaxeax/skitter-creek-bath-salts"], "name": "xoreaxeaxeax/skitter-creek-bath-salts", "platform": ["cli", "cpp"], "pushed_at": "2026-08-13T16:59:41+00:00", "repo": "xoreaxeaxeax/skitter-creek-bath-salts", "stars": 1937, "tags": ["dram-scrambling", "hardware-exploitation", "amd", "firmware-security", "memory-controller", "platform-security-processor", "smm", "microcode", "security-research", "linux"], "topics": [], "urls": [], "use_cases": ["unlock the AMD Platform Security Processor on supported hardware", "access protected DRAM regions invisible to the kernel", "research DRAM controller address translation behavior", "dump and modify CPU microcode and SMM memory", "study low-level memory hierarchy security on AMD Family 16h CPUs", "explore hardware security boundaries below the OS"], "what_it_is": "A security research tool written in C that reprograms AMD Family 16h DRAM controller address translation registers to scramble physical memory mappings. By breaking the DRAM address translations, it exposes protected memory carveouts and unlocks platform primitives such as the Platform Security Processor, System Management Mode, C6 DRAM, and CPU microcode.", "when_to_avoid": ["you have a modern AMD Family 17h+ CPU or non-AMD hardware, as it is untested and likely unsupported", "you need a production security tool rather than a research exploit", "you are not comfortable running bare-metal code that can brick or destabilize your platform"], "when_to_choose": ["you are doing hardware/firmware security research on AMD Family 16h (Kabini/Jaguar-era) CPUs", "you need to inspect or unlock protected DRAM carveouts like PSP or SMM memory", "you want a documented reference implementation of DRAM address translation attacks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/skitter-creek-bath-salts", "repo": "xoreaxeaxeax/skitter-creek-bath-salts", "role": "main", "score": 56}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.925550+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:08:25.141680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d6d3cd53547b8f27cd545e77cae7a885495cd619452ff88b15816321a71c77d", "fetched_at": "2026-08-28T04:05:56.925550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xoreaxeaxeax/skitter-creek-bath-salts"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.925550+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:08:25.141680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d6d3cd53547b8f27cd545e77cae7a885495cd619452ff88b15816321a71c77d", "fetched_at": "2026-08-28T04:05:56.925550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xoreaxeaxeax/skitter-creek-bath-salts"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:08:25.141680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d6d3cd53547b8f27cd545e77cae7a885495cd619452ff88b15816321a71c77d", "fetched_at": "2026-08-28T04:05:56.925550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xoreaxeaxeax/skitter-creek-bath-salts"}], "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:56.925550+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.925550+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.925550+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:08:25.141680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d6d3cd53547b8f27cd545e77cae7a885495cd619452ff88b15816321a71c77d", "fetched_at": "2026-08-28T04:05:56.925550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xoreaxeaxeax/skitter-creek-bath-salts"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.925550+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.925550+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:08:25.141680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d6d3cd53547b8f27cd545e77cae7a885495cd619452ff88b15816321a71c77d", "fetched_at": "2026-08-28T04:05:56.925550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xoreaxeaxeax/skitter-creek-bath-salts"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.925550+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.925550+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.925550+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:08:25.141680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d6d3cd53547b8f27cd545e77cae7a885495cd619452ff88b15816321a71c77d", "fetched_at": "2026-08-28T04:05:56.925550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xoreaxeaxeax/skitter-creek-bath-salts"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.925550+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:56.925550+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:08:25.141680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d6d3cd53547b8f27cd545e77cae7a885495cd619452ff88b15816321a71c77d", "fetched_at": "2026-08-28T04:05:56.925550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xoreaxeaxeax/skitter-creek-bath-salts"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:08:25.141680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d6d3cd53547b8f27cd545e77cae7a885495cd619452ff88b15816321a71c77d", "fetched_at": "2026-08-28T04:05:56.925550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xoreaxeaxeax/skitter-creek-bath-salts"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:08:25.141680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d6d3cd53547b8f27cd545e77cae7a885495cd619452ff88b15816321a71c77d", "fetched_at": "2026-08-28T04:05:56.925550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xoreaxeaxeax/skitter-creek-bath-salts"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:08:25.141680+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d6d3cd53547b8f27cd545e77cae7a885495cd619452ff88b15816321a71c77d", "fetched_at": "2026-08-28T04:05:56.925550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xoreaxeaxeax/skitter-creek-bath-salts"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 1, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 20, "days_push": 20, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 56, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}