{"adoption": {"forks": 489, "observed_at": "2026-08-28T04:07:55.984588+00:00", "stars": 3311}, "canonical_url": "https://ross.abutalabs.com/products/ssl-kill-switch2", "card": {"archived": false, "artifact_type": "plugin", "description": "Blackbox tool to disable SSL certificate validation - including certificate pinning - within iOS and macOS applications.", "domain": ["security", "penetration-testing", "reverse-engineering", "apple-ecosystem", "mobile-development"], "enriched": true, "function": ["security", "reverse-engineering", "penetration-testing"], "health_score": 20, "homepage": null, "language": "Objective-C", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["nabla-c0d3/ssl-kill-switch2"], "name": "nabla-c0d3/ssl-kill-switch2", "platform": [], "pushed_at": "2023-07-09T15:23:58+00:00", "repo": "nabla-c0d3/ssl-kill-switch2", "stars": 3311, "tags": ["ssl-pinning-bypass", "cydia-substrate-tweak", "jailbreak", "mitm-testing", "objective-c", "theos", "ios", "macos", "mobile"], "topics": ["ssl", "reverse-engineering", "ios", "macos", "ssl-pinning", "security", "cydia", "blackbox"], "urls": [], "use_cases": ["bypass ssl certificate pinning in ios apps", "intercept https traffic from an ios app with charles proxy", "disable certificate validation on jailbroken iphone for pentesting", "capture app store traffic for analysis", "test mobile app security with mitm proxy", "hook ssl pinning in macos applications"], "what_it_is": "SSL Kill Switch 2 is a blackbox Cydia Substrate tweak that disables SSL/TLS certificate validation, including certificate pinning, in iOS and macOS applications. It patches low-level SSL/TLS functions at runtime so traffic from any app can be intercepted with a proxy for security testing.", "when_to_avoid": ["your device is not jailbroken (iOS tweak requires Cydia Substrate)", "you need support for recent iOS versions beyond 14.2", "you want a production-safe tool - installing it makes the device vulnerable to MITM attacks", "you need a cross-platform or Android pinning bypass"], "when_to_choose": ["you need to intercept TLS traffic from iOS/macOS apps that implement certificate pinning", "you are doing authorized mobile app penetration testing on a jailbroken device", "you want a system-wide blackbox pinning bypass without modifying app binaries"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ssl-kill-switch2", "repo": "nabla-c0d3/ssl-kill-switch2", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.984588+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:42:24.522149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1b3995d0f830e8e7679e098e8abcb938920061e7616df7837fda52d4a085979", "fetched_at": "2026-08-28T04:07:55.984588+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nabla-c0d3/ssl-kill-switch2"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.984588+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:42:24.522149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1b3995d0f830e8e7679e098e8abcb938920061e7616df7837fda52d4a085979", "fetched_at": "2026-08-28T04:07:55.984588+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nabla-c0d3/ssl-kill-switch2"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:42:24.522149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1b3995d0f830e8e7679e098e8abcb938920061e7616df7837fda52d4a085979", "fetched_at": "2026-08-28T04:07:55.984588+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nabla-c0d3/ssl-kill-switch2"}], "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:55.984588+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.984588+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.984588+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:42:24.522149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1b3995d0f830e8e7679e098e8abcb938920061e7616df7837fda52d4a085979", "fetched_at": "2026-08-28T04:07:55.984588+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nabla-c0d3/ssl-kill-switch2"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.984588+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.984588+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:42:24.522149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1b3995d0f830e8e7679e098e8abcb938920061e7616df7837fda52d4a085979", "fetched_at": "2026-08-28T04:07:55.984588+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nabla-c0d3/ssl-kill-switch2"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.984588+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.984588+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.984588+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:42:24.522149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1b3995d0f830e8e7679e098e8abcb938920061e7616df7837fda52d4a085979", "fetched_at": "2026-08-28T04:07:55.984588+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nabla-c0d3/ssl-kill-switch2"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.984588+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:55.984588+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:42:24.522149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1b3995d0f830e8e7679e098e8abcb938920061e7616df7837fda52d4a085979", "fetched_at": "2026-08-28T04:07:55.984588+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nabla-c0d3/ssl-kill-switch2"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:42:24.522149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1b3995d0f830e8e7679e098e8abcb938920061e7616df7837fda52d4a085979", "fetched_at": "2026-08-28T04:07:55.984588+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nabla-c0d3/ssl-kill-switch2"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:42:24.522149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1b3995d0f830e8e7679e098e8abcb938920061e7616df7837fda52d4a085979", "fetched_at": "2026-08-28T04:07:55.984588+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nabla-c0d3/ssl-kill-switch2"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:42:24.522149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1b3995d0f830e8e7679e098e8abcb938920061e7616df7837fda52d4a085979", "fetched_at": "2026-08-28T04:07:55.984588+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nabla-c0d3/ssl-kill-switch2"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4071, "days_push": 1151, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}