blacklanternsecurity/bbot
安全面向安全测试者与攻击面管理的递归网络扫描器,自动完成子域名枚举、爬虫、邮箱收集和模块化侦察。
项目介绍
BBOT 是一个面向安全研究员、漏洞赏金猎人和攻击面管理(ASM)团队的递归互联网扫描器,灵感来自 Spiderfoot。它把多个侦察模块串联起来,让一个目标从被动数据源、DNS 枚举、Web 爬取一路流转到漏洞检查。扫描结果可以输出到 Neo4j、Postgres、MySQL、SQLite、Elasticsearch、Splunk、CSV、JSON、Slack、Teams、Discord 以及 HTTP/WebSocket 等位置 详细说明。
通过 -t 参数,BBOT 接受多种目标类型:DNS 域名、IP 地址、CIDR 网段、开放 TCP 端口、URL、邮箱地址、组织、用户名、文件系统和移动应用链接 目标类型。它也可以作为 Python 库导入,使用同步或异步扫描接口。
快速使用
BBOT 要求 Python 3.10 或更高版本 Python 版本。用 pipx 安装稳定版命令行工具:
pipx install bbot
如果要使用开发分支,改为 pipx install --pip-args '\--pre' bbot 安装命令。项目还提供了 Docker 安装方式 Docker 镜像。
第一次子域名扫描可以这样运行:
bbot -t example.com -p subdomain-enum
这个预设会组合被动 API 数据源、递归 DNS 爆破和针对目标定制的子域名变体,并把唯一子域名写入文本文件 预设说明。如果只想使用被动数据源,加上 -rf passive 被动模式。
其他常用预设包括 Web 爬取(-p spider)、邮箱收集(-p email-enum)、轻量或深度 Web 扫描(-p web / -p web-heavy),以及覆盖较广的 -p kitchen-sink 组合预设。不少模块依赖第三方 API;API key 应写入 ~/.config/bbot/secrets.yml,也可以在命令行中传入 配置说明。
使用约束
- 通过 pipx 安装时要求 Python 3.10 及以上版本 Python 版本。
- SecurityTrails、Shodan、VirusTotal、C99 等依赖 API 的模块需要配置 API key,否则这些模块无法贡献结果。
- DNS 压力较大的扫描可以从
/etc/resolv.conf中增加更多未经过滤的解析器中受益,因为内置的 blastdns 会按解析器数量扩展线程 blastdns。 - BBOT 3.0 对命令行、预设、模块、事件和 Python API 都有破坏性变更,从 2.x 升级的项目应先阅读迁移指南 迁移说明。
- 项目采用 AGPL-3.0 许可证 许可证。扫描应仅限于获得授权的目标。
HotRepo 点评
这是一个成熟的 Python 安全工具,拥有完整的模块生态和开发者文档,其中包括编写新 BBOT 模块的教程 模块文档。HotRepo 记录中最近一次出现在 Python 日榜是 2026-11-05,当天新增 28 个 Star,位列该语言榜第 15 名。单条快照不能说明趋势,但可以看出当时仍受到 Python 开发者的关注。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。