
metabigor v2.2.0
OSINT 侦察工具,用于网络发现、子域名枚举、IP 丰富化,以及通过证书日志、Shodan 和 GitHub 代码搜索进行敏感信息检测——全程无需 API 密钥。
Metabigor - 无需 API 密钥的 OSINT 强力工具
Metabigor 是什么?
Metabigor 无需你注册任何 API 密钥,即可测绘目标的基础设施。网络范围、证书、关联域名、暴露的端口、CDN 厂商和代码泄露——全部来自免费数据源,并且所有结果都可以相互通过管道衔接。
功能特性
- 网络发现 - 从 ASN、组织、域名或 IP 查找 IP 范围(CIDR)
- 证书透明日志 - 通过 crt.sh 发现子域名
- IP 富化 - 通过 Shodan InternetDB 获取端口、主机名和 CVE(免费,无需密钥)
- GitHub 代码搜索 - 通过 grep.app 在公共仓库中查找机密信息、凭据和子域名
- IP 聚类 - 按 ASN 对 IP 分组,以测绘基础设施
- 关联域名 - 通过证书日志、反向 WHOIS 和分析 ID 进行关联拓展
- CDN/WAF 检测 - 将受保护的地址与候选源站区分开
- URL 收集 - 网络档案馆中出现过的每一个 URL,包括从 WARC 中挖掘出的端点
安装
npm install -g @j3ssie/metabigor # macOS, Linux, Windows
brew install j3ssie/tap/metabigor # macOS, Linux
两者都会为你的平台提供相同的预编译二进制文件——无需 Go 工具链。
或者从源码构建:
git clone https://github.com/j3ssie/metabigor.git
cd metabigor
make build # binary at ./bin/metabigor
或者从发布页面下载二进制文件。
30 秒快速上手
metabigor net AS13335 # network ranges behind an ASN
metabigor cert hackerone.com # subdomains from certificate logs
metabigor ip 1.1.1.1 # open ports and CVEs for an IP
metabigor related tesla.com # other domains the target owns
metabigor cdn --exclude -I ips.txt # candidate origin servers
每个命令的工作方式
所有命令都遵循相同的约定,因此你学会一个命令就等于掌握了全部。
四种传入目标的方式
metabigor cert example.com # as an argument
metabigor cert example.com tesla.com # several arguments
metabigor cert -i example.com # with -i
metabigor cert -I domains.txt # from a file, one per line (# comments are ignored)
cat domains.txt | metabigor cert # on stdin
它们可以组合使用,合并后的列表会去重:
metabigor cluster 1.1.1.1 -i 8.8.8.8 -I more-ips.txt
参数是最直接的传递方式,适用于所有命令。当目标看起来像标志,或者当脚本为你拼装命令时,请使用 -i:
metabigor github -i "--endpoint-url"
metabigor net --input "$TARGET" -f json
只有在没有以其他任何方式给出目标时才会读取标准输入,因此 metabigor net AS13335 在脚本或 CI 任务中绝不会阻塞等待输入。
一个标志控制输出格式
-f/--format 适用于所有命令:
| 格式 | 你得到的内容 | 用途 |
|---|---|---|
text (默认) | 可读的列 | 在终端中阅读 |
flat | 裸主值 | 通过管道传给其他工具 |
json | 每行一个 JSON 对象 | jq、自动化 |
csv | 单个表头下的数据行 | 电子表格、报告 |
metabigor ip 1.1.1.0/28 # 1.1.1.1 | 80,443 | one.one.one.one
metabigor ip 1.1.1.0/28 -f flat # 1.1.1.1:80
metabigor ip 1.1.1.0/28 -f json # {"ip":"1.1.1.1","ports":[80,443],...}
metabigor ip 1.1.1.0/28 -f csv -o ports.csv
结果始终输出到标准输出(stdout),日志始终输出到标准错误(stderr),因此无论日志级别如何,管道都保持干净。-o 还会将结果写入文件,除非传入 --append,否则会覆盖该文件。文件只有在有结果可写时才会被重写,因此运行失败或找不到任何结果时,之前的结果会原样保留。
命令串联
metabigor net AS13335 -f flat | metabigor ip -f flat
metabigor related tesla.com -f flat | metabigor cert
cat domains.txt | dnsx -silent -resp-only | metabigor cdn --exclude
命令
net - 网络发现
查找 ASN、IP、域名或组织背后的 CIDR。使用随附的离线数据库。
metabigor net AS13335 # every CIDR announced by an ASN
metabigor net 1.1.1.1 --detail # which ASN owns this IP
metabigor net --org Cloudflare # search by company name
metabigor net --live tesla.com # query live sources instead of the local DB
metabigor net -I asn-list.txt -f csv -o ranges.csv
目标类型会自动检测。可以使用 --asn、--ip、--domain 或 --org 覆盖(互斥)。--detail 会添加 ASN、组织和国家/地区列。
cert - 证书透明日志
metabigor cert hackerone.com # one domain per line
metabigor cert "HackerOne Inc" # search by organization
metabigor cert example.com --clean # strip the *. from wildcards
metabigor cert example.com --wildcard # only wildcard entries
metabigor cert example.com --detail # cert IDs, issuers, validity dates
metabigor cert tesla.com | dnsx -silent
ip - IP 富化(Shodan InternetDB)
metabigor ip 1.1.1.1 # ports, hostnames, CVEs
metabigor ip 1.1.1.0/28 # CIDRs expand to hosts
metabigor ip 1.1.1.0/28 -f flat # IP:PORT pairs
metabigor ip -I ips.txt -c 30 -f csv -o ports.csv
InternetDB 完全不了解的 IP 会被跳过;传入 --all 可保留它们。
github - 代码搜索(grep.app)
metabigor github hackerone.com # repo and path per match
metabigor github tesla.com --subs # only subdomains found in matches
metabigor github "api_key=" --detail # show the matching code
metabigor github AKIA --pages 3 --detail
需要 Chrome 或 Chromium——grep.app 会以机器人验证挑战来回应纯 HTTP 客户端。无论 -c 设置为多少,搜索都会逐个运行,以遵守 grep.app 的速率限制。
cluster - IP 聚类
按拥有 IP 的 ASN 对 IP 分组,最大的聚类在前。接受 IP 或 CIDR。可离线运行。
cat ips.txt | metabigor cluster
metabigor cluster -I ips.txt -f csv -o clusters.csv
cat domains.txt | dnsx -silent -resp-only | metabigor cluster
related - 关联域名发现
metabigor related hackerone.com # all sources
metabigor related tesla.com --sources crt
metabigor related tesla.com --sources crt,whois
数据源:crt(crt.sh)、whois(viewdns.info 反向 WHOIS)、analytics(共享的 Google Analytics / Tag Manager ID)或 all。结果会跨数据源去重,并标记最先发现它们的数据源。
url - 从网络档案馆收集 URL
metabigor url hackerone.com # every keyless source, subdomains included
metabigor url blog.hackerone.com --no-subs # one hostname only
metabigor url hackerone.com/reports # scope to a path prefix
metabigor url tesla.com --sources wayback,urlscan
metabigor url tesla.com --keywords '\.js(\?|$)' # JavaScript only
metabigor url tesla.com --blacklist default --no-params
metabigor url tesla.com -f flat | httpx
数据源:wayback、commoncrawl、otx、urlscan、ghostarchive,以及设置了密钥时的 virustotal 和 intelx。默认运行五个无需密钥的数据源;当环境中存在 VT_API_KEY / INTELX_API_KEY 时,两个需要凭据的数据源会自动加入,而 URLSCAN_API_KEY 会提高 urlscan 的页面大小。如果指定了需要凭据的数据源却没有提供其密钥,会直接报错,而不是静默跳过。
默认包含子域名——查询的是 *.target,而不是 target。这是影响单次运行返回数据量的最大杠杆;--no-subs 可缩小范围。
GhostArchive 会被挖掘,而不仅仅是列出。 每个存档页面还有一个原始 WARC,而 WARC 记录了浏览器在捕获页面时发出的每一个子请求——XHR 调用、JSON 端点、动态构建的脚本 URL。这些都不会出现在 CDX 索引中,因为 CDX 只对页面 URL 本身的捕获进行索引。在测试中,对 tesla.com 发起的 8 个请求返回了 147 个 URL,其中包括实时的 JSON API 端点。使用 --limit-requests 限制成本。
过滤器默认处于关闭状态,因此未经要求不会丢弃任何内容。--match-status / --filter-status、--match-mime / --filter-mime、--from / --to 和 --keywords 会在服务端推送到 Wayback 和 Common Crawl API,并在本地重新检查;--blacklist 和 --no-params 是本地过滤。--limit-requests 限制每个数据源的请求数,--limit-collections 设置要搜索 Common Crawl 约 126 个索引集合的深度(0 表示全部,可回溯到 2008 年)。
cdn - CDN/WAF 检测
metabigor cdn 1.1.1.1 # vendor and type
cat ips.txt | metabigor cdn --exclude # candidate origins
cat ips.txt | metabigor cdn --only # only protected addresses
update - 刷新本地数据库
metabigor update
刷新 ~/.metabigor 中的 IP 到 ASN 和 IP 到国家/地区两个数据库。二进制文件随附一份副本,并在首次使用时解包,因此只有在需要获取更新的路由数据时才需要运行此命令。
skills - 编码代理技能
Metabigor 随附一个 agentskills.io 技能,可教会 AI 编码代理(Claude Code、Codex 或任何兼容的代理)如何使用 CLI。该技能内嵌于二进制文件中,因此始终与你安装的版本匹配。
metabigor skills # list the bundled skills
metabigor skills get metabigor --full # print the skill and its references
metabigor skills install # install into .claude/skills (this project)
metabigor skills install --scope global # install into ~/.claude/skills
metabigor skills install --agent agents # install into .agents/skills for Codex
metabigor skills install --dir ./skills # install into a directory you choose
get 将原始 Markdown 打印到标准输出(可管道处理,或使用 -o 保存)。install 会复制整个技能包——SKILL.md 及其 references/——并且除非传入 --force,否则会跳过已存在的副本。安装后,只要你提到 metabigor,代理就会自动触发该技能。
全局标志
-i, --input string Target to look up (also accepts arguments or stdin)
-I, --input-file string File of targets, one per line (use - for stdin)
-o, --output string Also write results to this file
-f, --format string Output format: text, json, csv, flat (default "text")
--append Append to the output file instead of overwriting it
-c, --concurrency int Number of parallel workers (default 10)
-t, --timeout int Request timeout in seconds (default 40)
--retry int Retries per failed request (default 3)
--proxy string Upstream proxy, e.g. http://127.0.0.1:8080
-v, --verbose Show step-by-step progress
-q, --quiet Show results and errors only
--debug Show HTTP traffic and internal traces (implies --verbose)
--no-color Disable colored log output
Metabigor 在失败时以非零状态退出,因此可以与 &&、set -e 和 CI 组合使用。
从 v2 升级
v3 为了保持一致性重命名了标志和命令。没有别名——请更新你的脚本。
| v2 | v3 | 原因 |
|---|---|---|
metabigor ipc | metabigor cluster | ipc 让人无法猜出含义 |
-I, --inputFile | -I, --input-file | camelCase 不是 CLI 惯例 |
-q, --silent | -q, --quiet | -q 应与其长格式一致 |
--json | -f json | 用一个标志控制输出格式 |
ip --csv / ip --flat | -f csv / -f flat | 同上 |
cert --simple | (现在是默认行为) | --detail 选项用于显示详细块 |
net --dynamic | net --live | 更通俗的表述 |
cdn --strip-cdn | cdn --exclude | 与新的 --only 配对使用 |
related -s ua / -s gtm | --sources analytics | 两者做的是同一件事 |
related -s | -s, --sources | 现在真正支持接收列表 |
github (默认包含子域名) | github --subs | 输出格式不再取决于结果 |
值得了解的行为变更:
- 进度输出默认静默。
[verbose]行现在需要-v。 -o会覆盖文件,而不是静默追加。使用--append可恢复旧行为。ip打印可读文本,而不是原始 JSON。如需 JSON 请使用-f json。cert打印纯域名列表。 使用--detail可查看分组后的证书视图。net对 CIDR 报告其所属网络,而不是展开为每个主机。- 错误退出码为 1。 以前任何失败仍然以 0 退出。
metabigor update会刷新两个数据库。 以前会跳过国家/地区数据库。
想轻松地将 Metabigor 集成到你的侦察工作流中?
这个项目曾是 Osmedeus Engine 的一部分。在 @OsmedeusEngine 可以了解它是如何被集成的
致谢
📊 数据源
- 本地数据库 - IP 到 ASN 和 IP 到国家/地区的映射(200 万+ 条记录)
- crt.sh - 证书透明日志
- Shodan InternetDB - 免费的 IP 富化 API
- grep.app - GitHub 代码搜索
- bgp.he.net - 实时 BGP 路由数据
- viewdns.info - 反向 WHOIS 查询
- builtwith.com - 分析跟踪关联
- projectdiscovery/cdncheck - CDN/WAF 检测库
- web.archive.org - Wayback Machine CDX 索引
- index.commoncrawl.org - Common Crawl CDX 索引
- otx.alienvault.com - AlienVault OTX URL 列表
- urlscan.io - 扫描历史搜索
- ghostarchive.org - 存档页面及其 WARC 文件
- virustotal.com - 域名关联(可选 API 密钥)
- intelx.io - Intelligence X phonebook(可选 API 密钥)
免责声明
本工具仅用于教育目的。你应对自己的行为负责。如果在使用本软件时搞砸了什么或触犯了法律,那是你的错,而且只是你的错。
许可证
Metabigor 由 @j3ssie 用 ♥ 打造,并以 MIT 许可证发布。

