
ネットワーク発見、サブドメイン列挙、IPエンリッチメント、およびシークレット検出のためのOSINT偵察ツール。証明書ログ、Shodan、GitHubコード検索を介して動作し、すべてAPIキーを必要としません。
Metabigor - APIキーの手間なしで手に入るOSINTパワー
Metabigor は、1つもAPIキーを登録する必要なく、ターゲットのインフラストラクチャをマッピングします。 ネットワークレンジ、証明書、関連ドメイン、露出したポート、CDNベンダー、コードリークなど、すべてを 無料のソースから取得でき、すべてパイプで相互に接続できます。
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
または リリースページ からバイナリをダウンロード。
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
同じ規約がすべてのコマンドに適用されるため、1つのコマンドを覚えればすべてを理解できます。
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 はすべてのコマンドで機能します:
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
結果は常に標準出力に、ログは常に標準エラー出力に出力されるため、どのログレベルでもパイプはクリーンなままです。-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クライアントにボットチャレンジで応答します。grep.appのレート制限を尊重するため、検索は -c に関係なく1つずつ実行されます。
cluster - 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アナリティクス / タグマネージャーID)、または all。結果はソース間で重複排除され、最初に発見したソースがタグ付けされます。
url - Webアーカイブからの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。キー不要の5つのソースがデフォルトで実行されます。認証付きの2つは、環境に VT_API_KEY / INTELX_API_KEY が存在すると自動的に参加し、URLSCAN_API_KEY は urlscan のページサイズを引き上げます。キーなしで認証付きソースを指定すると、黙ってスキップするのではなくエラーになります。
サブドメインはデフォルトで含まれます - クエリは target ではなく *.target です。これは実行結果の量を左右する最大の要因です。--no-subs で絞り込めます。
GhostArchiveは一覧表示だけでなく、掘り下げて抽出します。 アーカイブされたすべてのページには生のWARCもあり、WARCにはページをキャプチャ中にブラウザが行ったすべてのサブリクエスト(XHR呼び出し、JSONエンドポイント、動的に構築されたスクリプトURL)が記録されています。CDXインデックスはページURL自体のキャプチャのみをインデックスするため、そのような情報は一切表示されません。テストでは、tesla.com に対する8リクエストで、実際のJSON APIエンドポイントを含む147のURLが返されました。コストは --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-to-ASNとIP-to-Countryの両データベースを更新します。バイナリにコピーが同梱されており、初回使用時に展開されるため、これは新しいルーティングデータを取得する場合にのみ必要です。
skills - コーディングエージェントスキルMetabigorには、AIコーディングエージェント(Claude Code、Codex、または互換性のある任意のエージェント)にCLIの操作方法を教える agentskills.io スキルが同梱されています。スキルはバイナリに埋め込まれているため、インストールしているバージョンと常に一致します。
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と組み合わせて使用できます。
v3では一貫性のためフラグとコマンドが改名されました。エイリアスはないため、スクリプトを更新してください。
知っておくべき動作変更:
[verbose] 行には -v が必要になりました。-o は黙って追記する代わりに上書きします。 以前の動作にするには --append を使用します。ip は生のJSONではなく、読みやすいテキストを出力します。 JSONにするには -f json を使用します。cert はプレーンなドメインリストを出力します。 グループ化された証明書ビューには --detail を使用します。net は、すべてのホストに展開する代わりに、所有するネットワークを報告します。metabigor update は両方のデータベースを更新します。 以前は国データベースをスキップしていました。
このプロジェクトはOsmedeus Engineの一部でした。統合の様子は @OsmedeusEngine で確認できます。
このツールは教育目的のみで提供されています。行動の責任はすべて自分自身にあります。このソフトウェアの使用中に何かを壊したり、法律に違反したりした場合、それはすべてあなた自身の責任です。
Metabigor は @j3ssie によって ♥ を込めて作られており、MITライセンスのもとで公開されています。
| フォーマット | 得られるもの | 用途 |
|---|
text (デフォルト) | 読みやすいカラム | ターミナルでの表示 |
flat | 主要な値のみ | 他のツールへのパイプ |
json | 1行に1つのJSONオブジェクト | jq、自動化 |
csv | ヘッダー付きの行 | スプレッドシート、レポート |
| v2 | v3 | 理由 |
|---|
metabigor ipc | metabigor cluster | ipc は推測不能だった |
-I, --inputFile | -I, --input-file | camelCaseはCLIの慣習ではない |
-q, --silent | -q, --quiet | -q は長い形式と一致させるべき |
--json | -f json | 1つのフラグが出力形式を制御する |
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 | 出力形式が結果に依存しなくなった |