{"adoption": {"forks": 611, "observed_at": "2026-08-28T04:09:09.521726+00:00", "stars": 5078}, "canonical_url": "https://ross.abutalabs.com/products/kube-hunter", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Hunt for security weaknesses in Kubernetes clusters", "domain": ["security"], "enriched": true, "function": ["security", "vulnerability-scanning", "penetration-testing", "cli"], "health_score": 20, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["aquasecurity/kube-hunter"], "name": "aquasecurity/kube-hunter", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2024-03-19T12:30:55+00:00", "repo": "aquasecurity/kube-hunter", "stars": 5078, "tags": ["kubernetes", "k8s", "security-audit", "penetration-testing", "vulnerability-scanner", "aquasecurity", "containers", "devops", "docker"], "topics": ["vulnerabilities", "kubernetes-clusters", "hacktoberfest"], "urls": [], "use_cases": ["scan my kubernetes cluster for security vulnerabilities", "find exposed kubelets and open ports on a k8s cluster", "audit kubernetes cluster misconfigurations", "run a security penetration test against a kubernetes cluster", "check if my kubernetes api server is publicly accessible", "map security weaknesses in a k8s environment before deployment"], "what_it_is": "kube-hunter is a Python-based tool that hunts for security weaknesses and vulnerabilities in Kubernetes clusters, running remotely, on a machine, or inside a pod. It reports discoverable issues with vulnerability IDs mapped to a knowledge base and the Kubernetes ATT&CK matrix.", "when_to_avoid": ["you need actively maintained tooling - the project is no longer under development and maintainers recommend Trivy", "you want comprehensive misconfiguration and KBOM vulnerability scanning, which Trivy now covers", "you need continuous compliance or CIS benchmark scanning rather than point-in-time hunting"], "when_to_choose": ["you need a quick external or internal security assessment of a Kubernetes cluster", "you want vulnerability findings tied to documented knowledge base articles and the Kubernetes ATT&CK matrix", "you prefer a lightweight Python or container-based scanner you can run from a pod or laptop"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kube-hunter", "repo": "aquasecurity/kube-hunter", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.521726+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:02:36.121215+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c712e129fd995bb45fd3332e7cdca91cca81c0d6de213bf94ff8417f45416208", "fetched_at": "2026-08-28T04:09:09.521726+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aquasecurity/kube-hunter"}, {"content_hash": "9e062341b9bca018afd6c4131b48a5880af570970f98fa8521771229ac5ed592", "fetched_at": "2026-08-29T08:57:27.431610+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/kube-hunter/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.521726+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:02:36.121215+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c712e129fd995bb45fd3332e7cdca91cca81c0d6de213bf94ff8417f45416208", "fetched_at": "2026-08-28T04:09:09.521726+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aquasecurity/kube-hunter"}, {"content_hash": "9e062341b9bca018afd6c4131b48a5880af570970f98fa8521771229ac5ed592", "fetched_at": "2026-08-29T08:57:27.431610+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/kube-hunter/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:02:36.121215+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c712e129fd995bb45fd3332e7cdca91cca81c0d6de213bf94ff8417f45416208", "fetched_at": "2026-08-28T04:09:09.521726+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aquasecurity/kube-hunter"}, {"content_hash": "9e062341b9bca018afd6c4131b48a5880af570970f98fa8521771229ac5ed592", "fetched_at": "2026-08-29T08:57:27.431610+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/kube-hunter/json"}], "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:09:09.521726+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.521726+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.521726+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:02:36.121215+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c712e129fd995bb45fd3332e7cdca91cca81c0d6de213bf94ff8417f45416208", "fetched_at": "2026-08-28T04:09:09.521726+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aquasecurity/kube-hunter"}, {"content_hash": "9e062341b9bca018afd6c4131b48a5880af570970f98fa8521771229ac5ed592", "fetched_at": "2026-08-29T08:57:27.431610+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/kube-hunter/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.521726+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.521726+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:02:36.121215+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c712e129fd995bb45fd3332e7cdca91cca81c0d6de213bf94ff8417f45416208", "fetched_at": "2026-08-28T04:09:09.521726+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aquasecurity/kube-hunter"}, {"content_hash": "9e062341b9bca018afd6c4131b48a5880af570970f98fa8521771229ac5ed592", "fetched_at": "2026-08-29T08:57:27.431610+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/kube-hunter/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.521726+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.521726+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.521726+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:02:36.121215+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c712e129fd995bb45fd3332e7cdca91cca81c0d6de213bf94ff8417f45416208", "fetched_at": "2026-08-28T04:09:09.521726+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aquasecurity/kube-hunter"}, {"content_hash": "9e062341b9bca018afd6c4131b48a5880af570970f98fa8521771229ac5ed592", "fetched_at": "2026-08-29T08:57:27.431610+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/kube-hunter/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.521726+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.521726+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:02:36.121215+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c712e129fd995bb45fd3332e7cdca91cca81c0d6de213bf94ff8417f45416208", "fetched_at": "2026-08-28T04:09:09.521726+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aquasecurity/kube-hunter"}, {"content_hash": "9e062341b9bca018afd6c4131b48a5880af570970f98fa8521771229ac5ed592", "fetched_at": "2026-08-29T08:57:27.431610+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/kube-hunter/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:02:36.121215+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c712e129fd995bb45fd3332e7cdca91cca81c0d6de213bf94ff8417f45416208", "fetched_at": "2026-08-28T04:09:09.521726+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aquasecurity/kube-hunter"}, {"content_hash": "9e062341b9bca018afd6c4131b48a5880af570970f98fa8521771229ac5ed592", "fetched_at": "2026-08-29T08:57:27.431610+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/kube-hunter/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:02:36.121215+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c712e129fd995bb45fd3332e7cdca91cca81c0d6de213bf94ff8417f45416208", "fetched_at": "2026-08-28T04:09:09.521726+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aquasecurity/kube-hunter"}, {"content_hash": "9e062341b9bca018afd6c4131b48a5880af570970f98fa8521771229ac5ed592", "fetched_at": "2026-08-29T08:57:27.431610+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/kube-hunter/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:02:36.121215+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c712e129fd995bb45fd3332e7cdca91cca81c0d6de213bf94ff8417f45416208", "fetched_at": "2026-08-28T04:09:09.521726+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aquasecurity/kube-hunter"}, {"content_hash": "9e062341b9bca018afd6c4131b48a5880af570970f98fa8521771229ac5ed592", "fetched_at": "2026-08-29T08:57:27.431610+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/kube-hunter/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2968, "days_push": 897, "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}}