{"adoption": {"forks": 235, "observed_at": "2026-08-28T04:04:16.323663+00:00", "stars": 1294}, "canonical_url": "https://ross.abutalabs.com/products/langsrccurise", "card": {"archived": false, "artifact_type": "application", "description": "SRC子域名资产监控", "domain": ["security", "osint", "self-hosted"], "enriched": true, "function": ["web-scraping", "monitoring", "security", "search-engine", "scheduling", "database"], "health_score": 20, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["LangziFun/LangSrcCurise"], "name": "LangziFun/LangSrcCurise", "platform": ["windows", "python"], "pushed_at": "2021-01-14T04:33:48+00:00", "repo": "LangziFun/LangSrcCurise", "stars": 1294, "tags": ["subdomain-enumeration", "attack-surface-monitoring", "bug-bounty", "asset-discovery", "django", "nmap", "port-scanning", "automation", "linux", "docker"], "topics": [], "urls": [], "use_cases": ["monitor subdomain assets for a bug bounty scope", "continuously discover new subdomains of target domains", "enumerate subdomains via search engines and APIs", "scan ports and detect web services on discovered hosts", "get daily email reports of asset changes", "filter wildcard DNS泛解析 pages by content similarity"], "what_it_is": "LangSrcCurise is a Django-based automated subdomain asset monitoring system for security researchers tracking SRC (Security Response Center) domains. It continuously discovers subdomains via search engines, third-party APIs, certificate transparency, brute-forcing, and crawling, then performs port scanning, web service detection, and daily email reports.", "when_to_avoid": ["you need a maintained tool - the project has had no releases since early 2021 and pins old Python 3.6/Django 2.1/MySQL 8.0 versions", "you need active vulnerability scanning or exploitation - this only collects and monitors assets", "you want a lightweight CLI one-liner instead of a full Django + MySQL deployment"], "when_to_choose": ["you need ongoing scheduled subdomain monitoring with a web admin UI rather than a one-shot scan", "you want aggregated results from many passive sources plus brute-forcing in one self-hosted tool", "you want automated daily email digests of your attack surface"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/langsrccurise", "repo": "LangziFun/LangSrcCurise", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.323663+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:54:03.144908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7658d5f089bac9040c5b09f4f557735fcf8efeb6a0edf9d826554eb23cb18fc0", "fetched_at": "2026-08-28T04:04:16.323663+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LangziFun/LangSrcCurise"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.323663+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:54:03.144908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7658d5f089bac9040c5b09f4f557735fcf8efeb6a0edf9d826554eb23cb18fc0", "fetched_at": "2026-08-28T04:04:16.323663+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LangziFun/LangSrcCurise"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:54:03.144908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7658d5f089bac9040c5b09f4f557735fcf8efeb6a0edf9d826554eb23cb18fc0", "fetched_at": "2026-08-28T04:04:16.323663+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LangziFun/LangSrcCurise"}], "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:16.323663+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.323663+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.323663+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:54:03.144908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7658d5f089bac9040c5b09f4f557735fcf8efeb6a0edf9d826554eb23cb18fc0", "fetched_at": "2026-08-28T04:04:16.323663+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LangziFun/LangSrcCurise"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.323663+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.323663+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:54:03.144908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7658d5f089bac9040c5b09f4f557735fcf8efeb6a0edf9d826554eb23cb18fc0", "fetched_at": "2026-08-28T04:04:16.323663+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LangziFun/LangSrcCurise"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.323663+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.323663+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.323663+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:54:03.144908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7658d5f089bac9040c5b09f4f557735fcf8efeb6a0edf9d826554eb23cb18fc0", "fetched_at": "2026-08-28T04:04:16.323663+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LangziFun/LangSrcCurise"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.323663+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.323663+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:54:03.144908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7658d5f089bac9040c5b09f4f557735fcf8efeb6a0edf9d826554eb23cb18fc0", "fetched_at": "2026-08-28T04:04:16.323663+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LangziFun/LangSrcCurise"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:54:03.144908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7658d5f089bac9040c5b09f4f557735fcf8efeb6a0edf9d826554eb23cb18fc0", "fetched_at": "2026-08-28T04:04:16.323663+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LangziFun/LangSrcCurise"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:54:03.144908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7658d5f089bac9040c5b09f4f557735fcf8efeb6a0edf9d826554eb23cb18fc0", "fetched_at": "2026-08-28T04:04:16.323663+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LangziFun/LangSrcCurise"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:54:03.144908+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7658d5f089bac9040c5b09f4f557735fcf8efeb6a0edf9d826554eb23cb18fc0", "fetched_at": "2026-08-28T04:04:16.323663+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LangziFun/LangSrcCurise"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 2568, "days_push": 2057, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}