{"adoption": {"forks": 1101, "observed_at": "2026-08-28T04:04:21.679197+00:00", "stars": 1320}, "canonical_url": "https://ross.abutalabs.com/products/eth-phishing-detect", "card": {"archived": false, "artifact_type": "library", "description": "Utility for detecting phishing domains targeting Web3 users", "domain": ["security", "blockchain", "developer-tools"], "enriched": true, "function": ["security", "cli", "developer-tools"], "health_score": 80, "homepage": null, "language": "TypeScript", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["MetaMask/eth-phishing-detect"], "name": "MetaMask/eth-phishing-detect", "platform": ["cli", "cross-platform"], "pushed_at": "2026-08-26T18:42:17+00:00", "repo": "MetaMask/eth-phishing-detect", "stars": 1320, "tags": ["phishing-detection", "blocklist", "web3", "ethereum", "domain-blocklist", "typescript", "cryptocurrency", "nodejs"], "topics": [], "urls": [], "use_cases": ["check if a domain is a known crypto phishing site", "maintain a blocklist of malicious web3 domains", "add or remove domains from a phishing allowlist or blocklist", "integrate phishing domain detection into a wallet or browser extension", "audit history of domain blocklist submissions", "protect users from sites that steal cryptocurrency signing keys"], "what_it_is": "A TypeScript utility and curated blocklist of malicious domains targeting Web3 and Ethereum users, maintained by MetaMask. It provides CLI and library functions for managing blocklist and allowlist entries, with the active phishing detection logic now moved into the MetaMask core phishing-controller package.", "when_to_avoid": ["you need general-purpose (non-crypto) phishing or malware detection", "you need the runtime phishing detection engine itself, which now lives in MetaMask core's phishing-controller package", "you require real-time domain reputation scoring rather than a static curated list"], "when_to_choose": ["you need a curated, community-maintained list of Web3 phishing domains", "you are building a crypto wallet or browser extension that must warn users about phishing sites", "you want CLI and library helpers to manage blocklist/allowlist entries with safeguards against false positives"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/eth-phishing-detect", "repo": "MetaMask/eth-phishing-detect", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.679197+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:47:25.045349+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0198879158af84097248d4e123582fb14ad80c28a43406f83822221dc09f2ef", "fetched_at": "2026-08-28T04:04:21.679197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MetaMask/eth-phishing-detect"}, {"content_hash": "7bf74e6d07036e3f8e32aabecbbeefb5ddfaba23bfe38eb74b8dbe0d91f3f2a1", "fetched_at": "2026-08-29T12:06:27.022229+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/eth-phishing-detect"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.679197+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:47:25.045349+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0198879158af84097248d4e123582fb14ad80c28a43406f83822221dc09f2ef", "fetched_at": "2026-08-28T04:04:21.679197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MetaMask/eth-phishing-detect"}, {"content_hash": "7bf74e6d07036e3f8e32aabecbbeefb5ddfaba23bfe38eb74b8dbe0d91f3f2a1", "fetched_at": "2026-08-29T12:06:27.022229+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/eth-phishing-detect"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:47:25.045349+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0198879158af84097248d4e123582fb14ad80c28a43406f83822221dc09f2ef", "fetched_at": "2026-08-28T04:04:21.679197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MetaMask/eth-phishing-detect"}, {"content_hash": "7bf74e6d07036e3f8e32aabecbbeefb5ddfaba23bfe38eb74b8dbe0d91f3f2a1", "fetched_at": "2026-08-29T12:06:27.022229+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/eth-phishing-detect"}], "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:21.679197+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.679197+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.679197+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:47:25.045349+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0198879158af84097248d4e123582fb14ad80c28a43406f83822221dc09f2ef", "fetched_at": "2026-08-28T04:04:21.679197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MetaMask/eth-phishing-detect"}, {"content_hash": "7bf74e6d07036e3f8e32aabecbbeefb5ddfaba23bfe38eb74b8dbe0d91f3f2a1", "fetched_at": "2026-08-29T12:06:27.022229+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/eth-phishing-detect"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.679197+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.679197+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:47:25.045349+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0198879158af84097248d4e123582fb14ad80c28a43406f83822221dc09f2ef", "fetched_at": "2026-08-28T04:04:21.679197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MetaMask/eth-phishing-detect"}, {"content_hash": "7bf74e6d07036e3f8e32aabecbbeefb5ddfaba23bfe38eb74b8dbe0d91f3f2a1", "fetched_at": "2026-08-29T12:06:27.022229+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/eth-phishing-detect"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.679197+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.679197+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.679197+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:47:25.045349+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0198879158af84097248d4e123582fb14ad80c28a43406f83822221dc09f2ef", "fetched_at": "2026-08-28T04:04:21.679197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MetaMask/eth-phishing-detect"}, {"content_hash": "7bf74e6d07036e3f8e32aabecbbeefb5ddfaba23bfe38eb74b8dbe0d91f3f2a1", "fetched_at": "2026-08-29T12:06:27.022229+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/eth-phishing-detect"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.679197+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.679197+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:47:25.045349+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0198879158af84097248d4e123582fb14ad80c28a43406f83822221dc09f2ef", "fetched_at": "2026-08-28T04:04:21.679197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MetaMask/eth-phishing-detect"}, {"content_hash": "7bf74e6d07036e3f8e32aabecbbeefb5ddfaba23bfe38eb74b8dbe0d91f3f2a1", "fetched_at": "2026-08-29T12:06:27.022229+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/eth-phishing-detect"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:47:25.045349+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0198879158af84097248d4e123582fb14ad80c28a43406f83822221dc09f2ef", "fetched_at": "2026-08-28T04:04:21.679197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MetaMask/eth-phishing-detect"}, {"content_hash": "7bf74e6d07036e3f8e32aabecbbeefb5ddfaba23bfe38eb74b8dbe0d91f3f2a1", "fetched_at": "2026-08-29T12:06:27.022229+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/eth-phishing-detect"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:47:25.045349+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0198879158af84097248d4e123582fb14ad80c28a43406f83822221dc09f2ef", "fetched_at": "2026-08-28T04:04:21.679197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MetaMask/eth-phishing-detect"}, {"content_hash": "7bf74e6d07036e3f8e32aabecbbeefb5ddfaba23bfe38eb74b8dbe0d91f3f2a1", "fetched_at": "2026-08-29T12:06:27.022229+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/eth-phishing-detect"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:47:25.045349+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0198879158af84097248d4e123582fb14ad80c28a43406f83822221dc09f2ef", "fetched_at": "2026-08-28T04:04:21.679197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MetaMask/eth-phishing-detect"}, {"content_hash": "7bf74e6d07036e3f8e32aabecbbeefb5ddfaba23bfe38eb74b8dbe0d91f3f2a1", "fetched_at": "2026-08-29T12:06:27.022229+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/eth-phishing-detect"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "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": 3318, "days_push": 7, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}