{"adoption": {"forks": 624, "observed_at": "2026-08-28T04:07:24.171722+00:00", "stars": 2826}, "canonical_url": "https://ross.abutalabs.com/products/gscan", "card": {"archived": false, "artifact_type": "cli-tool", "description": "本程序旨在为安全应急响应人员对Linux主机排查时提供便利，实现主机侧Checklist的自动全面化检测，根据检测结果自动数据聚合，进行黑客攻击路径溯源。", "domain": ["security"], "enriched": true, "function": ["security", "vulnerability-scanning", "developer-tools"], "health_score": 20, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["grayddq/GScan"], "name": "grayddq/GScan", "platform": ["python", "cli"], "pushed_at": "2022-08-07T01:38:34+00:00", "repo": "grayddq/GScan", "stars": 2826, "tags": ["incident-response", "host-detection", "rootkit-detection", "backdoor-detection", "webshell-scanning", "linux-security-audit", "checklist-automation", "command-line", "devops", "linux"], "topics": ["security", "security-scanning", "security-tools", "vulnerability-scanning", "auditing", "security-audit"], "urls": [], "use_cases": ["automate linux host security checklist during incident response", "detect backdoors and rootkits on a compromised server", "scan for webshell files on a linux host", "trace hacker attack paths from aggregated scan results", "check for suspicious processes and reverse shells", "audit user accounts, sudoers, and ssh keys for compromise", "schedule periodic security scans of a linux server"], "what_it_is": "GScan is a Python-based CLI security tool that automates comprehensive Linux host security checks for incident response. It scans for backdoors, rootkits, webshells, suspicious processes, network connections, and account issues, then aggregates results to trace attacker paths.", "when_to_avoid": ["you need to audit non-CentOS distributions, which are untested and may give unreliable results", "you need a maintained tool with active development or a license", "you need network-wide or containerized environment scanning rather than single-host checks"], "when_to_choose": ["you need a fast automated triage of a possibly compromised CentOS linux host", "you want a single tool covering files, processes, network, backdoors, accounts, and logs", "you are a security responder doing host-side checklist verification"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gscan", "repo": "grayddq/GScan", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.171722+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:38:13.668701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "639f0d573a4f92447b691ca11416ff5635d543eccbd13a9bea9a34964a1b09ac", "fetched_at": "2026-08-28T04:07:24.171722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grayddq/GScan"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.171722+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:38:13.668701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "639f0d573a4f92447b691ca11416ff5635d543eccbd13a9bea9a34964a1b09ac", "fetched_at": "2026-08-28T04:07:24.171722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grayddq/GScan"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:38:13.668701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "639f0d573a4f92447b691ca11416ff5635d543eccbd13a9bea9a34964a1b09ac", "fetched_at": "2026-08-28T04:07:24.171722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grayddq/GScan"}], "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:24.171722+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.171722+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.171722+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:38:13.668701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "639f0d573a4f92447b691ca11416ff5635d543eccbd13a9bea9a34964a1b09ac", "fetched_at": "2026-08-28T04:07:24.171722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grayddq/GScan"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.171722+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.171722+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:38:13.668701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "639f0d573a4f92447b691ca11416ff5635d543eccbd13a9bea9a34964a1b09ac", "fetched_at": "2026-08-28T04:07:24.171722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grayddq/GScan"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.171722+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.171722+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.171722+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:38:13.668701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "639f0d573a4f92447b691ca11416ff5635d543eccbd13a9bea9a34964a1b09ac", "fetched_at": "2026-08-28T04:07:24.171722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grayddq/GScan"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.171722+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.171722+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:38:13.668701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "639f0d573a4f92447b691ca11416ff5635d543eccbd13a9bea9a34964a1b09ac", "fetched_at": "2026-08-28T04:07:24.171722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grayddq/GScan"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:38:13.668701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "639f0d573a4f92447b691ca11416ff5635d543eccbd13a9bea9a34964a1b09ac", "fetched_at": "2026-08-28T04:07:24.171722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grayddq/GScan"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:38:13.668701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "639f0d573a4f92447b691ca11416ff5635d543eccbd13a9bea9a34964a1b09ac", "fetched_at": "2026-08-28T04:07:24.171722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grayddq/GScan"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:38:13.668701+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "639f0d573a4f92447b691ca11416ff5635d543eccbd13a9bea9a34964a1b09ac", "fetched_at": "2026-08-28T04:07:24.171722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grayddq/GScan"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2725, "days_push": 1488, "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}}