{"adoption": {"forks": 2280, "observed_at": "2026-08-28T04:10:38.880454+00:00", "stars": 9937}, "canonical_url": "https://ross.abutalabs.com/products/seeker", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Accurately Locate Smartphones using Social Engineering ", "domain": ["security", "osint", "penetration-testing", "privacy"], "enriched": true, "function": ["web-scraping", "http-server", "security", "osint"], "health_score": 73, "homepage": null, "language": "CSS", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["thewhiteh4t/seeker"], "name": "thewhiteh4t/seeker", "platform": ["windows", "cli", "python"], "pushed_at": "2026-06-19T04:34:58+00:00", "repo": "thewhiteh4t/seeker", "stars": 9937, "tags": ["social-engineering", "geolocation", "phishing-simulation", "device-fingerprinting", "reconnaissance", "proof-of-concept", "linux", "macos"], "topics": ["geolocation", "longitude", "latitude", "accuracy", "altitude", "reconnaissance", "system-information"], "urls": [], "use_cases": ["get a smartphone's gps location via a link", "demonstrate what data malicious websites can collect", "capture device fingerprint and browser info during a pentest", "perform ip address reconnaissance on a target", "show why users should not grant location permissions to random sites", "run a social engineering location phishing demo"], "what_it_is": "Seeker is a security testing tool that hosts a fake website asking users for browser location permission, capturing GPS coordinates (longitude, latitude, accuracy, altitude) when granted. It also collects device information such as OS, browser, screen resolution, and IP addresses via fingerprinting without permissions.", "when_to_avoid": ["you need passive IP geolocation without user interaction", "you lack authorization to test the target - this is illegal", "you need a production-grade phishing simulation platform with campaign management"], "when_to_choose": ["you need an accurate device GPS location rather than approximate IP geolocation", "you are conducting an authorized security awareness demo or pentest", "you want to educate users about browser permission risks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/seeker", "repo": "thewhiteh4t/seeker", "role": "main", "score": 72}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.880454+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:20:17.516189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90feb621870301cede0a4569ad42baef2805808b9f9e6a2989beeed39a49144d", "fetched_at": "2026-08-28T04:10:38.880454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thewhiteh4t/seeker"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.880454+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:20:17.516189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90feb621870301cede0a4569ad42baef2805808b9f9e6a2989beeed39a49144d", "fetched_at": "2026-08-28T04:10:38.880454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thewhiteh4t/seeker"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:20:17.516189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90feb621870301cede0a4569ad42baef2805808b9f9e6a2989beeed39a49144d", "fetched_at": "2026-08-28T04:10:38.880454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thewhiteh4t/seeker"}], "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:10:38.880454+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.880454+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.880454+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:20:17.516189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90feb621870301cede0a4569ad42baef2805808b9f9e6a2989beeed39a49144d", "fetched_at": "2026-08-28T04:10:38.880454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thewhiteh4t/seeker"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.880454+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.880454+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:20:17.516189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90feb621870301cede0a4569ad42baef2805808b9f9e6a2989beeed39a49144d", "fetched_at": "2026-08-28T04:10:38.880454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thewhiteh4t/seeker"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.880454+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.880454+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.880454+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:20:17.516189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90feb621870301cede0a4569ad42baef2805808b9f9e6a2989beeed39a49144d", "fetched_at": "2026-08-28T04:10:38.880454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thewhiteh4t/seeker"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.880454+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.880454+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:20:17.516189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90feb621870301cede0a4569ad42baef2805808b9f9e6a2989beeed39a49144d", "fetched_at": "2026-08-28T04:10:38.880454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thewhiteh4t/seeker"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:20:17.516189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90feb621870301cede0a4569ad42baef2805808b9f9e6a2989beeed39a49144d", "fetched_at": "2026-08-28T04:10:38.880454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thewhiteh4t/seeker"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:20:17.516189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90feb621870301cede0a4569ad42baef2805808b9f9e6a2989beeed39a49144d", "fetched_at": "2026-08-28T04:10:38.880454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thewhiteh4t/seeker"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:20:17.516189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90feb621870301cede0a4569ad42baef2805808b9f9e6a2989beeed39a49144d", "fetched_at": "2026-08-28T04:10:38.880454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thewhiteh4t/seeker"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 88, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2971, "days_push": 75, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 72, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}