{"adoption": {"forks": 227, "observed_at": "2026-08-28T04:06:57.637873+00:00", "stars": 2515}, "canonical_url": "https://ross.abutalabs.com/products/sn0int", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Semi-automatic OSINT framework and package manager", "domain": ["security", "osint", "penetration-testing", "developer-tools"], "enriched": true, "function": ["osint", "security", "web-scraping", "cli", "search-engine", "image-processing", "database", "plugin-system"], "health_score": 78, "homepage": "https://sn0int.readthedocs.io/", "language": "Rust", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["kpcyrd/sn0int"], "name": "kpcyrd/sn0int", "platform": ["rust", "cli"], "pushed_at": "2026-05-15T15:41:27+00:00", "repo": "kpcyrd/sn0int", "stars": 2515, "tags": ["reconnaissance", "bug-bounty", "subdomain-enumeration", "certificate-transparency", "lua-modules", "sandboxed-modules", "attack-surface-mapping", "recon-ng-alternative", "command-line", "linux", "macos"], "topics": ["osint", "intelligence", "osint-framework", "certificate-transparency", "rust", "security", "security-audit", "security-scanner", "investigation", "reconnaissance", "recon", "lua", "pentesting", "location", "bug-bounty"], "urls": [], "use_cases": ["harvest subdomains from certificate transparency logs", "find someone's social media profiles across the internet", "enrich ip addresses with asn and geoip info", "discover compromised logins in data breaches", "harvest emails from pgp keyservers and whois", "enumerate local networks with passive arp", "gather information about phone numbers", "scan collected subdomains for http or https services"], "what_it_is": "sn0int is a semi-automatic OSINT framework and package manager written in Rust that enumerates attack surface by processing public information and mapping results into a unified format. Its capabilities are provided by sandboxed Lua modules that can be published to a shared registry, inspired by recon-ng and maltego.", "when_to_avoid": ["you need a fully automated, no-interaction OSINT pipeline since sn0int is semi-automatic", "you want a graphical investigation interface like maltego's", "you can't install Rust-based binaries or use its Lua module ecosystem", "you need deep web or non-public data sources"], "when_to_choose": ["you need a flexible, fully open-source OSINT framework with a module registry", "you want sandboxed, independently updatable modules instead of hardcoded investigations", "you're a bug bounty hunter or security professional mapping a target's attack surface", "you prefer a CLI-driven workflow over GUI tools like maltego"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sn0int", "repo": "kpcyrd/sn0int", "role": "main", "score": 60}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.637873+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.022022+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df91320c232fff4ecbdcdc36dd1da311aa2f314e74d96095431e6490d37c7f80", "fetched_at": "2026-08-28T04:06:57.637873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kpcyrd/sn0int"}, {"content_hash": "be7fa26b88c4779073cb772aeee8140997aaf45a57f0e553a3fac1b4a8c2213a", "fetched_at": "2026-08-29T10:08:53.639587+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sn0int"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.637873+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.022022+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df91320c232fff4ecbdcdc36dd1da311aa2f314e74d96095431e6490d37c7f80", "fetched_at": "2026-08-28T04:06:57.637873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kpcyrd/sn0int"}, {"content_hash": "be7fa26b88c4779073cb772aeee8140997aaf45a57f0e553a3fac1b4a8c2213a", "fetched_at": "2026-08-29T10:08:53.639587+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sn0int"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.022022+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df91320c232fff4ecbdcdc36dd1da311aa2f314e74d96095431e6490d37c7f80", "fetched_at": "2026-08-28T04:06:57.637873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kpcyrd/sn0int"}, {"content_hash": "be7fa26b88c4779073cb772aeee8140997aaf45a57f0e553a3fac1b4a8c2213a", "fetched_at": "2026-08-29T10:08:53.639587+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sn0int"}], "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:06:57.637873+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.637873+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.637873+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.022022+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df91320c232fff4ecbdcdc36dd1da311aa2f314e74d96095431e6490d37c7f80", "fetched_at": "2026-08-28T04:06:57.637873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kpcyrd/sn0int"}, {"content_hash": "be7fa26b88c4779073cb772aeee8140997aaf45a57f0e553a3fac1b4a8c2213a", "fetched_at": "2026-08-29T10:08:53.639587+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sn0int"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.637873+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.637873+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.022022+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df91320c232fff4ecbdcdc36dd1da311aa2f314e74d96095431e6490d37c7f80", "fetched_at": "2026-08-28T04:06:57.637873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kpcyrd/sn0int"}, {"content_hash": "be7fa26b88c4779073cb772aeee8140997aaf45a57f0e553a3fac1b4a8c2213a", "fetched_at": "2026-08-29T10:08:53.639587+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sn0int"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.637873+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.637873+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.637873+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.022022+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df91320c232fff4ecbdcdc36dd1da311aa2f314e74d96095431e6490d37c7f80", "fetched_at": "2026-08-28T04:06:57.637873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kpcyrd/sn0int"}, {"content_hash": "be7fa26b88c4779073cb772aeee8140997aaf45a57f0e553a3fac1b4a8c2213a", "fetched_at": "2026-08-29T10:08:53.639587+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sn0int"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.637873+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.637873+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.022022+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df91320c232fff4ecbdcdc36dd1da311aa2f314e74d96095431e6490d37c7f80", "fetched_at": "2026-08-28T04:06:57.637873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kpcyrd/sn0int"}, {"content_hash": "be7fa26b88c4779073cb772aeee8140997aaf45a57f0e553a3fac1b4a8c2213a", "fetched_at": "2026-08-29T10:08:53.639587+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sn0int"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.022022+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df91320c232fff4ecbdcdc36dd1da311aa2f314e74d96095431e6490d37c7f80", "fetched_at": "2026-08-28T04:06:57.637873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kpcyrd/sn0int"}, {"content_hash": "be7fa26b88c4779073cb772aeee8140997aaf45a57f0e553a3fac1b4a8c2213a", "fetched_at": "2026-08-29T10:08:53.639587+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sn0int"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.022022+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df91320c232fff4ecbdcdc36dd1da311aa2f314e74d96095431e6490d37c7f80", "fetched_at": "2026-08-28T04:06:57.637873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kpcyrd/sn0int"}, {"content_hash": "be7fa26b88c4779073cb772aeee8140997aaf45a57f0e553a3fac1b4a8c2213a", "fetched_at": "2026-08-29T10:08:53.639587+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sn0int"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.022022+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df91320c232fff4ecbdcdc36dd1da311aa2f314e74d96095431e6490d37c7f80", "fetched_at": "2026-08-28T04:06:57.637873+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kpcyrd/sn0int"}, {"content_hash": "be7fa26b88c4779073cb772aeee8140997aaf45a57f0e553a3fac1b4a8c2213a", "fetched_at": "2026-08-29T10:08:53.639587+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/sn0int"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 82, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2890, "days_push": 110, "days_rel": 717, "gap_med": null, "n_releases_24m": 1}, "score": 60, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}