smicallef/spiderfoot
安全把域名、IP、邮箱、用户名等目标的 OSINT 收集串成一次扫描,适合已经做情报侦察的人。
如果你本来就在做侦察,只是想把重复的采集串起来,SpiderFoot 值得一试;但要把扫描结果当作分析起点,而不是最终报告。
解决什么问题
一次典型侦察往往从域名、IP、邮箱或用户名开始,然后分析师打开十几个服务:子域名查询、威胁情报源、WHOIS、泄露数据、DNS 历史。每个结果又引出下一个查询,人就在标签页和笔记之间来回抄。SpiderFoot 改变的是这一步:给一个种子目标,扫描会按模块铺开,把发现的实体继续喂给后续模块。最后得到的是一个可浏览、可查询的结果库,而不是一堆截屏。
有什么不同
它的核心机制是发布/订阅式模块链:一个模块的输出会成为另一个模块的输入,扫域名时可以带出主机、证书和相关邮箱。关联引擎允许你针对这些发现写规则,内置 37 条预定义规则,也有文档化的 YAML 格式可以自己写。结果落在 SQLite 里,这意味着你能直接查库,而不只是依赖自带 Web UI;也能导出 CSV、JSON 或 GEXF 给图工具。CLI 和 Web UI 共用同一套安装,官方也提供 Dockerfile。
代价是广度优先于精度。200 多个模块意味着大量第三方数据源,其中一些需要带免费额度的 API key,输出质量取决于这些服务。它是给愿意读结果的分析师用的平台,不是一键给出可信结论的按钮;如果你只想要范围很窄的定向扫描,庞大的模块集会变成负担。
谁值得试
适合反复对多个目标采集同类数据、并希望集中存储和导出的渗透测试、红队或威胁情报分析人员。也适合想检查自身对外暴露情况的组织,防御和攻击两种用途 README 都写了。不适合想要托管式、多用户监控和变更提醒的人:README 把这些能力指向商业版 SpiderFoot HX,需要多目标跟踪、协作或 REST API 的团队应直接看那边,而不是指望开源版提供。
使用条件与边界
需要 Python 3.7+ 和 pip 安装依赖,或者使用 Docker;README 建议用打包的 v4.0 发布版而不是 master,因为 master 常带未充分测试的模块。本地运行默认把 Web UI 放在 127.0.0.1:5001,正式使用前要确认谁能访问。带分级的服务需要你管理 API key:不少模块无 key 也能跑,但加上 key 覆盖会更全,key 的导入导出方便在多台机器间迁移。
长期维护比首次启动更值得考虑。模块依赖外部服务,对方改接口或限流是常态,所以 key 过期、数据源失效属于日常维护,而不是程序缺陷。关联规则也需要你自己按场景调。比较稳妥的做法是装稳定版,先拿自己控制的目标做一次小扫描,确认你依赖的数据源还能返回结果。
HotRepo 点评
HotRepo 记录的最早一个榜单日是 2026-06-21,当时 18,619 星;到 2026-10-26 为 23,835 星,四个月里共 7 次上榜。这说明项目有持续关注,但不能证明每个模块现在都能用。2024 年有评论者称项目开发停滞、无法运行,也有回复说自己一直在用、一切正常,两者都是针对旧版本的未经核实说法。投入工作流之前,先在你的 Python 版本上确认依赖的模块能返回数据。可以从项目文档和关联规则说明看起。
Hacker News 讨论
本文由 AI 根据项目 README 生成,更新于 2026年10月26日,以项目官方文档为准。