smicallef/spiderfoot

Security & Privacy

Automates OSINT reconnaissance by chaining 200+ modules across a target's domains, IPs, emails and usernames into one scan.

23,845
3,846
Python
MIT
14 years old

SpiderFoot is worth trying if you already run reconnaissance and want the repetitive collection chained automatically; treat a scan as a starting point for analyst review, not a finished report.

The problem

A typical recon task starts with a domain, IP, email or username, and the analyst then opens a dozen separate services: subdomain lookups, threat feeds, WHOIS, breach data, DNS history. Each answer suggests the next query, and the analyst copies results between browser tabs and a notes file. SpiderFoot changes that step: you give it a seed target, and a scan fans out across its module set, feeding each discovered entity into further modules. What comes back is a navigable store of findings rather than a pile of pasted screenshots.

What's different

The mechanism is a publisher/subscriber model: one module's output becomes another's input, so a domain scan can surface hosts, then certificates, then related emails. The correlation engine lets you code simple rules over those findings, with 37 predefined rules and a documented YAML format for writing your own. Results land in SQLite, which matters because you can query them directly instead of trusting only the built-in web UI, and they export as CSV, JSON or GEXF for graph tools. The CLI and web UI run from the same install, and Docker is provided.

The trade-off is breadth over precision. More than 200 modules means many third-party data sources, some requiring API keys with free tiers, and the quality of output depends on those services. This is a platform for an analyst who will read the findings, not a single button that produces a trustworthy verdict; if you want an opinionated, narrow scan, the large module set becomes overhead.

Who should try it

It fits a pentester, red-teamer or CTI analyst who repeatedly gathers the same categories of data on many targets and wants it in one store with exportable formats. It also fits an organization checking what it has exposed publicly, since defensive and offensive use are both documented. It is a poor fit for someone who wants a managed, multi-user monitoring service with change alerts; the README pushes those capabilities to the commercial SpiderFoot HX product, so teams needing multi-target tracking, collaboration or a REST API should look there rather than expect them from the open-source edition.

Requirements and limitations

You need Python 3.7+ and pip-installed dependencies, or Docker; the README recommends the packaged v4.0 release over master because master carries untested modules. A local run serves the UI on 127.0.0.1:5001 unless you change it, so think about who can reach it before exposing it. Expect to manage API keys for the tiered services: many modules work without keys, but coverage improves when you add them, and key export/import helps when moving between installs.

Ongoing upkeep matters more than the first launch. Modules depend on outside services that change or rate-limit, so stale keys and dead sources are normal maintenance rather than defects. The correlation rules are your own to tune. The practical recommendation is to install the stable release and start with a small scan against a target you control, checking that the data sources you expect still return results.

HotRepo's take

HotRepo's first recorded board day is 2026-06-21 at 18,619 stars; by 2026-10-26 it was 23,835, with 7 board appearances spread over four months. That shows durable interest in the project, not a guarantee that every module currently works. A 2024 commenter reported limited development and a broken install, while a reply said it still worked for them in frequent use; both are unverified opinions about older versions. Verify that the modules you rely on return data on your Python version before committing a workflow to it. Start from the project documentation and the correlation-rule guide.

Hacker News

SpiderFoot: OSINT collection and reconnaissance tool
▲ 272 · 26 comments · January 31, 2020
SpiderFoot automates OSINT for threat intelligence
▲ 16 · 4 comments · July 3, 2024

Written by AI from the project's README, updated October 26, 2026. The project's own docs are the source of truth.