{"adoption": {"forks": 238, "observed_at": "2026-08-28T04:04:56.110404+00:00", "stars": 1512}, "canonical_url": "https://ross.abutalabs.com/products/hummerrisk", "card": {"archived": false, "artifact_type": "application", "description": "HummerRisk 是云原生安全平台，包括混合云安全治理和云原生安全检测。", "domain": ["security", "cloud-computing", "self-hosted"], "enriched": true, "function": ["security", "vulnerability-scanning", "monitoring"], "health_score": 23, "homepage": "https://hummerrisk.com", "language": "Java", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["HummerRisk/HummerRisk"], "name": "HummerRisk/HummerRisk", "platform": ["self-hosted"], "pushed_at": "2024-12-26T06:59:59+00:00", "repo": "HummerRisk/HummerRisk", "stars": 1512, "tags": ["cspm", "cloud-security", "kubernetes-security", "sbom", "hybrid-cloud", "compliance", "agentless", "multi-cloud", "java", "compliance-as-code", "containers", "devops", "linux", "docker", "web-server"], "topics": ["cloud-custodian", "cloud-native", "prowler", "security", "sbom", "cloud-native-security", "cspm", "k8s-security", "kubernetes-security", "trivy", "compliance", "compliance-as-code", "vulnerability"], "urls": [], "use_cases": ["run CIS compliance checks on AWS, Azure, and Alibaba Cloud accounts", "detect misconfigurations and vulnerabilities in Kubernetes clusters", "manage and analyze SBOMs for software supply chain risk", "audit cloud account activity logs across multiple clouds", "scan container images and source code for dependency vulnerabilities", "generate cloud security compliance reports", "get a unified posture view of hybrid cloud resources"], "what_it_is": "HummerRisk is an open-source, agentless cloud-native security platform for hybrid cloud security governance and Kubernetes/container security detection. It provides compliance checks (CIS, MLPS 2.0), cloud resource posture management, image/source/SBOM scanning, and audit reporting across major public and private clouds.", "when_to_avoid": ["you only need a lightweight single-purpose scanner like Trivy or Prowler", "you require a SaaS-managed security product", "you need non-Linux deployment or Windows-native tooling"], "when_to_choose": ["you need a self-hosted, agentless CSPM covering many Chinese and international clouds", "you want combined cloud compliance and K8s/container security in one platform", "you need SBOM management and supply chain risk detection"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/hummerrisk", "repo": "HummerRisk/HummerRisk", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.110404+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.520192+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63d469cd510aa24ba350495b2a2f724084a7a4ff27d790ec4e03968bcad7cf80", "fetched_at": "2026-08-28T04:04:56.110404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HummerRisk/HummerRisk"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.110404+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.520192+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63d469cd510aa24ba350495b2a2f724084a7a4ff27d790ec4e03968bcad7cf80", "fetched_at": "2026-08-28T04:04:56.110404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HummerRisk/HummerRisk"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.520192+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63d469cd510aa24ba350495b2a2f724084a7a4ff27d790ec4e03968bcad7cf80", "fetched_at": "2026-08-28T04:04:56.110404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HummerRisk/HummerRisk"}], "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:04:56.110404+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.110404+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.110404+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.520192+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63d469cd510aa24ba350495b2a2f724084a7a4ff27d790ec4e03968bcad7cf80", "fetched_at": "2026-08-28T04:04:56.110404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HummerRisk/HummerRisk"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.110404+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.110404+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.520192+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63d469cd510aa24ba350495b2a2f724084a7a4ff27d790ec4e03968bcad7cf80", "fetched_at": "2026-08-28T04:04:56.110404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HummerRisk/HummerRisk"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.110404+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.110404+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.110404+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.520192+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63d469cd510aa24ba350495b2a2f724084a7a4ff27d790ec4e03968bcad7cf80", "fetched_at": "2026-08-28T04:04:56.110404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HummerRisk/HummerRisk"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.110404+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.110404+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.520192+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63d469cd510aa24ba350495b2a2f724084a7a4ff27d790ec4e03968bcad7cf80", "fetched_at": "2026-08-28T04:04:56.110404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HummerRisk/HummerRisk"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.520192+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63d469cd510aa24ba350495b2a2f724084a7a4ff27d790ec4e03968bcad7cf80", "fetched_at": "2026-08-28T04:04:56.110404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HummerRisk/HummerRisk"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.520192+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63d469cd510aa24ba350495b2a2f724084a7a4ff27d790ec4e03968bcad7cf80", "fetched_at": "2026-08-28T04:04:56.110404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HummerRisk/HummerRisk"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:32:18.520192+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63d469cd510aa24ba350495b2a2f724084a7a4ff27d790ec4e03968bcad7cf80", "fetched_at": "2026-08-28T04:04:56.110404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HummerRisk/HummerRisk"}], "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": 1552, "days_push": 615, "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}}