{"adoption": {"forks": 205, "observed_at": "2026-08-28T04:07:39.392638+00:00", "stars": 3043}, "canonical_url": "https://ross.abutalabs.com/products/badsslcom", "card": {"archived": false, "artifact_type": "service", "description": ":lock: Memorable site for testing clients against bad SSL configs.", "domain": ["security", "testing", "web-development", "developer-tools"], "enriched": true, "function": ["testing", "security", "http-server"], "health_score": 71, "homepage": "https://badssl.com", "language": "HTML", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["chromium/badssl.com"], "name": "chromium/badssl.com", "platform": ["browser", "cross-platform"], "pushed_at": "2026-06-01T22:42:57+00:00", "repo": "chromium/badssl.com", "stars": 3043, "tags": ["tls", "ssl", "https", "certificate-testing", "test-subdomains", "browser-testing", "web-server", "docker"], "topics": ["ssl", "https", "sha1", "tls", "rcpp", "python", "testing", "browser", "chrome", "nginx", "security", "mitm"], "urls": [], "use_cases": ["test how my http client handles expired ssl certificates", "verify browser warnings for self-signed certificates", "check tls library behavior against weak cipher suites like rc4", "test mixed content blocking in a browser", "validate hsts upgrade behavior", "regression-test ssl error handling in an application"], "what_it_is": "badssl.com is a hosted collection of test subdomains, each deliberately configured with a broken or unusual TLS/SSL setup (expired certificates, weak ciphers, self-signed certs, mixed content, etc.). It is used to verify how HTTP clients, browsers, and TLS libraries handle bad SSL configurations.", "when_to_avoid": ["you need a general-purpose TLS testing tool like SSL Labs for auditing your own servers", "you need offline testing without internet access or local hosts setup", "you need fuzzing or penetration testing of your own infrastructure"], "when_to_choose": ["you need realistic bad TLS endpoints to test client certificate validation", "you are building a browser or http library and want to verify ssl error handling", "you want to check mixed-content or hsts behavior against known-bad configs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/badsslcom", "repo": "chromium/badssl.com", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.392638+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:29:12.408248+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b89c07b9922ea62615e4ea8bf1198bc64a0324ac9b911f4f99b2fc6fcea2582", "fetched_at": "2026-08-28T04:07:39.392638+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chromium/badssl.com"}, {"content_hash": "8c7d3af3f35a7709a5c61a38624cc4a057bddf3736409e2c9c31fdc8f1e30d0d", "fetched_at": "2026-08-29T09:44:14.858214+00:00", "kind": "homepage", "missing": false, "url": "https://badssl.com"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.392638+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:29:12.408248+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b89c07b9922ea62615e4ea8bf1198bc64a0324ac9b911f4f99b2fc6fcea2582", "fetched_at": "2026-08-28T04:07:39.392638+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chromium/badssl.com"}, {"content_hash": "8c7d3af3f35a7709a5c61a38624cc4a057bddf3736409e2c9c31fdc8f1e30d0d", "fetched_at": "2026-08-29T09:44:14.858214+00:00", "kind": "homepage", "missing": false, "url": "https://badssl.com"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:29:12.408248+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b89c07b9922ea62615e4ea8bf1198bc64a0324ac9b911f4f99b2fc6fcea2582", "fetched_at": "2026-08-28T04:07:39.392638+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chromium/badssl.com"}, {"content_hash": "8c7d3af3f35a7709a5c61a38624cc4a057bddf3736409e2c9c31fdc8f1e30d0d", "fetched_at": "2026-08-29T09:44:14.858214+00:00", "kind": "homepage", "missing": false, "url": "https://badssl.com"}], "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:39.392638+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.392638+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.392638+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:29:12.408248+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b89c07b9922ea62615e4ea8bf1198bc64a0324ac9b911f4f99b2fc6fcea2582", "fetched_at": "2026-08-28T04:07:39.392638+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chromium/badssl.com"}, {"content_hash": "8c7d3af3f35a7709a5c61a38624cc4a057bddf3736409e2c9c31fdc8f1e30d0d", "fetched_at": "2026-08-29T09:44:14.858214+00:00", "kind": "homepage", "missing": false, "url": "https://badssl.com"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.392638+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.392638+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:29:12.408248+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b89c07b9922ea62615e4ea8bf1198bc64a0324ac9b911f4f99b2fc6fcea2582", "fetched_at": "2026-08-28T04:07:39.392638+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chromium/badssl.com"}, {"content_hash": "8c7d3af3f35a7709a5c61a38624cc4a057bddf3736409e2c9c31fdc8f1e30d0d", "fetched_at": "2026-08-29T09:44:14.858214+00:00", "kind": "homepage", "missing": false, "url": "https://badssl.com"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.392638+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.392638+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.392638+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:29:12.408248+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b89c07b9922ea62615e4ea8bf1198bc64a0324ac9b911f4f99b2fc6fcea2582", "fetched_at": "2026-08-28T04:07:39.392638+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chromium/badssl.com"}, {"content_hash": "8c7d3af3f35a7709a5c61a38624cc4a057bddf3736409e2c9c31fdc8f1e30d0d", "fetched_at": "2026-08-29T09:44:14.858214+00:00", "kind": "homepage", "missing": false, "url": "https://badssl.com"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.392638+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.392638+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:29:12.408248+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b89c07b9922ea62615e4ea8bf1198bc64a0324ac9b911f4f99b2fc6fcea2582", "fetched_at": "2026-08-28T04:07:39.392638+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chromium/badssl.com"}, {"content_hash": "8c7d3af3f35a7709a5c61a38624cc4a057bddf3736409e2c9c31fdc8f1e30d0d", "fetched_at": "2026-08-29T09:44:14.858214+00:00", "kind": "homepage", "missing": false, "url": "https://badssl.com"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:29:12.408248+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b89c07b9922ea62615e4ea8bf1198bc64a0324ac9b911f4f99b2fc6fcea2582", "fetched_at": "2026-08-28T04:07:39.392638+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chromium/badssl.com"}, {"content_hash": "8c7d3af3f35a7709a5c61a38624cc4a057bddf3736409e2c9c31fdc8f1e30d0d", "fetched_at": "2026-08-29T09:44:14.858214+00:00", "kind": "homepage", "missing": false, "url": "https://badssl.com"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:29:12.408248+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b89c07b9922ea62615e4ea8bf1198bc64a0324ac9b911f4f99b2fc6fcea2582", "fetched_at": "2026-08-28T04:07:39.392638+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chromium/badssl.com"}, {"content_hash": "8c7d3af3f35a7709a5c61a38624cc4a057bddf3736409e2c9c31fdc8f1e30d0d", "fetched_at": "2026-08-29T09:44:14.858214+00:00", "kind": "homepage", "missing": false, "url": "https://badssl.com"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:29:12.408248+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b89c07b9922ea62615e4ea8bf1198bc64a0324ac9b911f4f99b2fc6fcea2582", "fetched_at": "2026-08-28T04:07:39.392638+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chromium/badssl.com"}, {"content_hash": "8c7d3af3f35a7709a5c61a38624cc4a057bddf3736409e2c9c31fdc8f1e30d0d", "fetched_at": "2026-08-29T09:44:14.858214+00:00", "kind": "homepage", "missing": false, "url": "https://badssl.com"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 85, "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": 4166, "days_push": 93, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}