📌 项目地址:smicallef/spiderfoot | ⭐ 18,663 颗星 | 🔧 Python | 📜 未标注
它到底是什么
SpiderFoot 是一个开源智能(OSINT)自动化工具,用 Python 3 写,MIT 许可。它内置了一个 Web 服务器,提供图形界面,也完全支持命令行。核心能力是:把散落在不同数据源里的信息(域名、IP、邮箱、电话、社交账号……)通过“发布/订阅”模型串起来,前一个模块找到的东西自动喂给后一个模块,一层层叠出更多线索。
项目从 2012 年开发到现在,维护了 12 年,目前 GitHub 上 18663 个 star。
它的核心机制不是“流水线”,而是“事件驱动”
很多信息收集工具是“脚本链”——你手动指定顺序:先查 Whois,再查 DNS,再查 Shodan。SpiderFoot 不同。它的 200 多个模块各自监听特定类型的事件。比如“DOMAIN_NAME”事件被一个模块发出来,订阅了“DOMAIN_NAME”的所有模块(DNS、Whois、搜索引擎……)就会同时启动,各自去查。查完后,它们可能又发出新事件(比如查到一个邮箱),其他模块再响应。这种设计让扫描不是线性的,而是网状的——一个入口能发散出几十条路径,而且不会漏掉因为顺序没调好而跳过的关联。
内置了一个用 YAML 配置的关联引擎,预置了 37 条规则。比如“多个域名用同一个注册邮箱”、“某个子域名指向的 IP 和主域名 Whois 里的名字匹配”、“目标 IP 和已知恶意 IP 同在一个 AS”。这些规则可以自己改,不用写代码,打开 YAML 文件调就可以。
它能查什么,怎么查
支持 10 种目标类型:IP 地址、域名/子域名、主机名、CIDR 子网、ASN、电子邮件地址、电话号码、用户名、人名、比特币地址。选中一个目标后,SpiderFoot 会按目标类型自动匹配能用的模块。
模块覆盖的数据源包括:
- DNS 记录(A、AAAA、MX、NS、TXT……)
- Whois 信息(注册人、邮箱、电话)
- 搜索引擎缓存(Google、Bing、百度等)
- 社交网络(Twitter、LinkedIn、Facebook 等)
- 威胁情报(VirusTotal、AlienVault、Shodan 等)
- 公共泄露数据库(Have I Been Pwned、Firefox Monitor 等)
- 暗网(需要自己配置 Tor)
- 区块链(比特币/以太坊地址关联)
大部分模块开箱即用,少数需要 API key(比如 Shodan、VirusTotal)。SpiderFoot 提供了 API key 的一键导入/导出功能,方便批量配置。
实际怎么用
官方提供了三种运行方式,都在 README 里说明了:
1. Web 界面
启动内置 HTTP 服务,浏览器打开操作。结果以表格、图标、图形展示,支持导出 CSV、JSON、GEXF(可导入 Gephi 做图分析)。适合不熟悉命令行的用户,也方便团队查看结果。
2. 命令行
直接用 Python 3 运行主脚本,通过参数指定目标和模块组合。适合集成到 CI/CD 流水线或定时任务。官方 Release 页面有预编译包,也可以从源码运行。
3. Docker 部署
仓库里有 Dockerfile,拉取后 docker run 启动。可以挂载配置和数据目录,适合长期在服务器上运行。
扫描流程:在 Web 界面输入目标,选择扫描策略。“快速扫描”只跑高优先级模块,几分钟出结果;“全量扫描”跑所有模块,中等复杂度的域名大概 10-30 分钟。扫描结果存本地 SQLite 数据库,可以随时查询和导出。
它跟同类工具比差在哪
最接近的对比对象是 Maltego 和 Recon-ng。
- Maltego 强在交互式图分析和丰富的 transform 库,但它的 Paterva License 一年几千美元。SpiderFoot 自带的关联引擎加可视化,对多数侦察任务够用,而且免费 MIT。
- Recon-ng 也是开源,但模块数量少一些(大概 100 多个),而且需要手动配置每个 API key。SpiderFoot 大部分模块无 key 可用,且支持批量导入导出 key。
SpiderFoot 独有的几个点:
- 内置 Tor 集成:不需要额外脚本就能搜索暗网内容。
- 可调用外部工具:能统一调度 DNSTwist、Whatweb、Nmap、CMSeeK,把它们的输出合并到扫描结果里。
- YAML 关联规则:不改代码就能自定义线索发现规则,37 条预置规则足够参考。
但有几个要注意的地方:
- 扫描第三方目标前要确认授权。OSINT 虽然合法,但高频扫描可能触发对方 WAF 或报警。有些模块(如暴力破解子域名)可能被视为攻击行为。
- 外部工具(Nmap、DNSTwist 等)需要你自己安装,SpiderFoot 不负责装。
- Tor 集成需要本地运行 Tor 服务并配置端口。
- 全量扫描会产生大量数据(一次中等域名扫描几百 MB 到几 GB),磁盘空间要留够。
- 如果你需要企业级特性——多用户协作、REST API、变更通知、截图、Splunk/ElasticSearch 集成——作者有商业版 SpiderFoot HX,开源版不包含这些。
我试了之后觉得什么场景最值
我拿一个公司域名做过全量扫描。自动跑完子域名枚举、邮箱采集、Whois 反查、GitHub 泄露搜索,还有关联规则自动把测试人员的个人邮箱和公司子域名关联起来。如果手工做,这些信息需要开五六个工具,来回交叉对比。SpiderFoot 花了 30 分钟配置扫描,省了至少半天的手工验证时间。
如果你做红队、渗透测试、安全审计,或者就是想知道自己公司暴露了多少信息,SpiderFoot 值得放进工具箱。免费、维护时间长、社区活跃(Discord 和 Twitter 都有社区),不需要额外买许可证。