{"adoption": {"forks": 254, "observed_at": "2026-08-28T04:07:01.030694+00:00", "stars": 2563}, "canonical_url": "https://ross.abutalabs.com/products/cloudfox", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Automating situational awareness for cloud penetration tests.", "domain": ["security", "cloud-computing", "penetration-testing", "developer-tools"], "enriched": true, "function": ["penetration-testing", "security", "cli", "developer-tools"], "health_score": 98, "homepage": "https://bishopfox.com/blog/introducing-cloudfox", "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["BishopFox/cloudfox"], "name": "BishopFox/cloudfox", "platform": ["cli", "windows", "go"], "pushed_at": "2026-08-20T18:39:52+00:00", "repo": "BishopFox/cloudfox", "stars": 2563, "tags": ["aws-enumeration", "cloud-pentesting", "attack-path-discovery", "offensive-security", "situational-awareness", "red-team", "linux", "macos"], "topics": ["aws", "cloud", "cloud-security", "golang", "penetration-testing-tools", "security"], "urls": [], "use_cases": ["enumerate aws account resources and regions during a pentest", "find secrets in ec2 userdata and environment variables", "identify overly permissive iam role trusts and cross-account assumption", "map attack paths from public internet or vpc internal starting points", "enumerate permissions of an aws principal", "discover mountable filesystems from a compromised vpc resource"], "what_it_is": "CloudFox is an open-source command line tool by Bishop Fox that automates situational awareness and enumeration in cloud environments, primarily AWS, to help penetration testers find exploitable attack paths. It runs modular checks (or an all-checks command) with limited read-only credentials and supports both white-box and black-box enumeration.", "when_to_avoid": ["you need Azure, GCP, or Kubernetes support, which is not yet implemented", "you want a cloud security posture management or compliance auditing tool rather than offensive enumeration", "you need a gui or continuous monitoring solution"], "when_to_choose": ["you are a penetration tester or red teamer assessing an unfamiliar aws environment", "you need automated enumeration of aws attack paths with read-only credentials", "you want to use found credentials for black-box cloud enumeration"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cloudfox", "repo": "BishopFox/cloudfox", "role": "main", "score": 90}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.030694+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.154832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46339358ea7af95fe285fb900dda38502943fd93d223278cd3520d33ea4a81d4", "fetched_at": "2026-08-28T04:07:01.030694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BishopFox/cloudfox"}, {"content_hash": "beec3375f956323ac7c5ef053dd6cb2eb01481526b1418d0a58acf5cc19bc590", "fetched_at": "2026-08-29T10:05:56.367828+00:00", "kind": "homepage", "missing": false, "url": "https://bishopfox.com/blog/introducing-cloudfox"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.030694+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.154832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46339358ea7af95fe285fb900dda38502943fd93d223278cd3520d33ea4a81d4", "fetched_at": "2026-08-28T04:07:01.030694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BishopFox/cloudfox"}, {"content_hash": "beec3375f956323ac7c5ef053dd6cb2eb01481526b1418d0a58acf5cc19bc590", "fetched_at": "2026-08-29T10:05:56.367828+00:00", "kind": "homepage", "missing": false, "url": "https://bishopfox.com/blog/introducing-cloudfox"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.154832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46339358ea7af95fe285fb900dda38502943fd93d223278cd3520d33ea4a81d4", "fetched_at": "2026-08-28T04:07:01.030694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BishopFox/cloudfox"}, {"content_hash": "beec3375f956323ac7c5ef053dd6cb2eb01481526b1418d0a58acf5cc19bc590", "fetched_at": "2026-08-29T10:05:56.367828+00:00", "kind": "homepage", "missing": false, "url": "https://bishopfox.com/blog/introducing-cloudfox"}], "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:01.030694+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.030694+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.030694+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.154832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46339358ea7af95fe285fb900dda38502943fd93d223278cd3520d33ea4a81d4", "fetched_at": "2026-08-28T04:07:01.030694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BishopFox/cloudfox"}, {"content_hash": "beec3375f956323ac7c5ef053dd6cb2eb01481526b1418d0a58acf5cc19bc590", "fetched_at": "2026-08-29T10:05:56.367828+00:00", "kind": "homepage", "missing": false, "url": "https://bishopfox.com/blog/introducing-cloudfox"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.030694+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.030694+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.154832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46339358ea7af95fe285fb900dda38502943fd93d223278cd3520d33ea4a81d4", "fetched_at": "2026-08-28T04:07:01.030694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BishopFox/cloudfox"}, {"content_hash": "beec3375f956323ac7c5ef053dd6cb2eb01481526b1418d0a58acf5cc19bc590", "fetched_at": "2026-08-29T10:05:56.367828+00:00", "kind": "homepage", "missing": false, "url": "https://bishopfox.com/blog/introducing-cloudfox"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.030694+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.030694+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.030694+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.154832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46339358ea7af95fe285fb900dda38502943fd93d223278cd3520d33ea4a81d4", "fetched_at": "2026-08-28T04:07:01.030694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BishopFox/cloudfox"}, {"content_hash": "beec3375f956323ac7c5ef053dd6cb2eb01481526b1418d0a58acf5cc19bc590", "fetched_at": "2026-08-29T10:05:56.367828+00:00", "kind": "homepage", "missing": false, "url": "https://bishopfox.com/blog/introducing-cloudfox"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.030694+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.030694+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.154832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46339358ea7af95fe285fb900dda38502943fd93d223278cd3520d33ea4a81d4", "fetched_at": "2026-08-28T04:07:01.030694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BishopFox/cloudfox"}, {"content_hash": "beec3375f956323ac7c5ef053dd6cb2eb01481526b1418d0a58acf5cc19bc590", "fetched_at": "2026-08-29T10:05:56.367828+00:00", "kind": "homepage", "missing": false, "url": "https://bishopfox.com/blog/introducing-cloudfox"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.154832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46339358ea7af95fe285fb900dda38502943fd93d223278cd3520d33ea4a81d4", "fetched_at": "2026-08-28T04:07:01.030694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BishopFox/cloudfox"}, {"content_hash": "beec3375f956323ac7c5ef053dd6cb2eb01481526b1418d0a58acf5cc19bc590", "fetched_at": "2026-08-29T10:05:56.367828+00:00", "kind": "homepage", "missing": false, "url": "https://bishopfox.com/blog/introducing-cloudfox"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.154832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46339358ea7af95fe285fb900dda38502943fd93d223278cd3520d33ea4a81d4", "fetched_at": "2026-08-28T04:07:01.030694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BishopFox/cloudfox"}, {"content_hash": "beec3375f956323ac7c5ef053dd6cb2eb01481526b1418d0a58acf5cc19bc590", "fetched_at": "2026-08-29T10:05:56.367828+00:00", "kind": "homepage", "missing": false, "url": "https://bishopfox.com/blog/introducing-cloudfox"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.154832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46339358ea7af95fe285fb900dda38502943fd93d223278cd3520d33ea4a81d4", "fetched_at": "2026-08-28T04:07:01.030694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BishopFox/cloudfox"}, {"content_hash": "beec3375f956323ac7c5ef053dd6cb2eb01481526b1418d0a58acf5cc19bc590", "fetched_at": "2026-08-29T10:05:56.367828+00:00", "kind": "homepage", "missing": false, "url": "https://bishopfox.com/blog/introducing-cloudfox"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 74}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1456, "days_push": 13, "days_rel": 99, "gap_med": 34, "n_releases_24m": 8}, "score": 90, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}