{"adoption": {"forks": 214, "observed_at": "2026-08-28T04:05:27.935534+00:00", "stars": 1723}, "canonical_url": "https://ross.abutalabs.com/products/pharos", "card": {"archived": false, "artifact_type": "framework", "description": "Automated static analysis tools for binary programs", "domain": ["reverse-engineering", "security", "developer-tools"], "enriched": true, "function": ["reverse-engineering", "parser", "security", "developer-tools"], "health_score": 77, "homepage": null, "language": "C++", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["cmu-sei/pharos"], "name": "cmu-sei/pharos", "platform": ["windows", "cpp", "cli"], "pushed_at": "2026-08-03T13:09:04+00:00", "repo": "cmu-sei/pharos", "stars": 1723, "tags": ["binary-analysis", "static-analysis", "disassembly", "c++-recovery", "rose", "malware-analysis", "linux"], "topics": ["binary-analysis", "reverse-engineering"], "urls": [], "use_cases": ["recover C++ classes and methods from compiled executables", "detect API call sequences like file open/write/close in binaries", "disassemble and analyze control flow of binary programs", "analyze malware without executing it", "import recovered object information into reverse engineering tools", "research automated static analysis of binaries"], "what_it_is": "Pharos is a static binary analysis framework from Carnegie Mellon's Software Engineering Institute built on the ROSE compiler infrastructure. It provides tools for automated analysis of binary programs, including API call pattern detection and C++ object-oriented construct recovery.", "when_to_avoid": ["you need a polished production reverse engineering tool with GUI support", "you need to analyze non-x86 or non-MSVC-compiled binaries for OO recovery", "you want a simple disassembler rather than a research framework", "you need guaranteed stability or extensive portability across build configurations"], "when_to_choose": ["you need automated static analysis of x86 binaries without running them", "you want to recover object-oriented structure from C++ executables", "you're doing binary analysis research and want a semantic analysis framework", "you need to identify OS interaction patterns in unknown binaries"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pharos", "repo": "cmu-sei/pharos", "role": "main", "score": 75}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.935534+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:33:57.445614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fff2c7194e861394c5dea3d4d22937346b8562bf4e34855d6ee000610fa3f29", "fetched_at": "2026-08-28T04:05:27.935534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmu-sei/pharos"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.935534+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:33:57.445614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fff2c7194e861394c5dea3d4d22937346b8562bf4e34855d6ee000610fa3f29", "fetched_at": "2026-08-28T04:05:27.935534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmu-sei/pharos"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:33:57.445614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fff2c7194e861394c5dea3d4d22937346b8562bf4e34855d6ee000610fa3f29", "fetched_at": "2026-08-28T04:05:27.935534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmu-sei/pharos"}], "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:05:27.935534+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.935534+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.935534+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:33:57.445614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fff2c7194e861394c5dea3d4d22937346b8562bf4e34855d6ee000610fa3f29", "fetched_at": "2026-08-28T04:05:27.935534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmu-sei/pharos"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.935534+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.935534+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:33:57.445614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fff2c7194e861394c5dea3d4d22937346b8562bf4e34855d6ee000610fa3f29", "fetched_at": "2026-08-28T04:05:27.935534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmu-sei/pharos"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.935534+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.935534+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.935534+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:33:57.445614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fff2c7194e861394c5dea3d4d22937346b8562bf4e34855d6ee000610fa3f29", "fetched_at": "2026-08-28T04:05:27.935534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmu-sei/pharos"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.935534+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.935534+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:33:57.445614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fff2c7194e861394c5dea3d4d22937346b8562bf4e34855d6ee000610fa3f29", "fetched_at": "2026-08-28T04:05:27.935534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmu-sei/pharos"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:33:57.445614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fff2c7194e861394c5dea3d4d22937346b8562bf4e34855d6ee000610fa3f29", "fetched_at": "2026-08-28T04:05:27.935534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmu-sei/pharos"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:33:57.445614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fff2c7194e861394c5dea3d4d22937346b8562bf4e34855d6ee000610fa3f29", "fetched_at": "2026-08-28T04:05:27.935534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmu-sei/pharos"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:33:57.445614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fff2c7194e861394c5dea3d4d22937346b8562bf4e34855d6ee000610fa3f29", "fetched_at": "2026-08-28T04:05:27.935534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmu-sei/pharos"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4100, "days_push": 30, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 75, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}