
네트워크 발견, 서브도메인 열거, IP 정보 보강, 시크릿 탐지를 위한 OSINT 정찰 도구로, 인증서 로그, Shodan 및 GitHub 코드 검색을 통해 작동하며 API 키가 전혀 필요 없습니다.
<p align="center">
<img alt="Metabigor" src="https://assets.kitploit.com/production/public/readmes/2602/a91acb0c74fbed7b623c138dcc568e51b46b54c20992493fa0be6f3dea3d9c1d.png" height="140" />
<br />
<strong>Metabigor - API 키 없이 사용하는 OSINT 파워</strong>
<p align="center">
<a href="https://docs.osmedeus.org/donation/"><img src="https://img.shields.io/badge/Sponsors-0078D4?style=for-the-badge&logo=GitHub-Sponsors&logoColor=39ff14&labelColor=black&color=black"></a>
<a href="https://twitter.com/OsmedeusEngine"><img src="https://img.shields.io/badge/@OsmedeusEngine-0078D4?style=for-the-badge&logo=Twitter&logoColor=39ff14&labelColor=black&color=black"></a>
<a href="https://github.com/j3ssie/osmedeus/releases"><img src="https://img.shields.io/github/release/j3ssie/metabigor?style=for-the-badge&labelColor=black&color=2fc414&logo=Github"></a>
</p>
</p>
***
## Metabigor란 무엇인가?
Metabigor는 API 키를 하나도 등록하지 않고도 타겟의 인프라를 매핑합니다.
네트워크 범위, 인증서, 관련 도메인, 노출된 포트, CDN 벤더, 코드 유출까지 - 모든 것이
무료 소스에서 제공되며, 서로 파이프로 연결할 수 있습니다.
## 기능
- **네트워크 디스커버리** - ASN, 조직, 도메인 또는 IP에서 IP 범위(CIDR) 찾기
- **인증서 투명성(Certificate Transparency)** - crt.sh를 통해 서브도메인 발견
- **IP 인리치먼트** - Shodan InternetDB를 통한 포트, 호스트명, CVE 정보 (무료, 키 불필요)
- **GitHub 코드 검색** - grep.app을 통해 공개 저장소에서 시크릿, 자격 증명, 서브도메인 검색
- **IP 클러스터링** - ASN별 IP 그룹화로 인프라 매핑
- **관련 도메인** - 인증서 로그, 역방향 WHOIS, 애널리틱스 ID를 통한 피벗
- **CDN/WAF 탐지** - 보호된 주소와 후보 오리진 분리
- **URL 수집** - 웹 아카이브가 본 모든 URL (WARC에서 발굴한 엔드포인트 포함)
## 설치
```bash
npm install -g @j3ssie/metabigor # macOS, Linux, Windows
brew install j3ssie/tap/metabigor # macOS, Linux
```
둘 다 플랫폼에 맞는 동일한 사전 빌드 바이너리를 제공합니다 - Go 툴체인 불필요.
또는 소스에서 빌드:
```bash
git clone https://github.com/j3ssie/metabigor.git
cd metabigor
make build # ./bin/metabigor에 바이너리 생성
```
또는 [릴리스 페이지](https://github.com/j3ssie/metabigor/releases)에서 바이너리를 다운로드하세요.
## 30초 투어
```bash
metabigor net AS13335 # ASN 뒤의 네트워크 범위
metabigor cert hackerone.com # 인증서 로그에서 서브도메인
metabigor ip 1.1.1.1 # IP의 열린 포트와 CVE
metabigor related tesla.com # 타겟이 소유한 다른 도메인
metabigor cdn --exclude -I ips.txt # 후보 오리진 서버
```
## 모든 명령어의 작동 방식
모든 곳에서 동일한 규칙이 적용되므로 하나의 명령어를 배우면 모두 알게 됩니다.
### 타겟을 전달하는 네 가지 방법
```bash
metabigor cert example.com # 인자로 전달
metabigor cert example.com tesla.com # 여러 인자 전달
metabigor cert -i example.com # -i 사용
metabigor cert -I domains.txt # 파일에서, 줄당 하나 (# 주석은 무시됨)
cat domains.txt | metabigor cert # stdin 사용
```
결합할 수 있으며 병합된 목록은 중복이 제거됩니다:
```bash
metabigor cluster 1.1.1.1 -i 8.8.8.8 -I more-ips.txt
```
인자는 가장 짧은 경로이며 모든 명령어에서 작동합니다. 타겟이 플래그처럼 보이거나
스크립트가 명령어를 구성하는 경우 `-i`를 사용하세요:
```bash
metabigor github -i "--endpoint-url"
metabigor net --input "$TARGET" -f json
```
stdin은 다른 방식으로 타겟이 주어지지 않았을 때만 읽히므로, `metabigor net AS13335`는
스크립트나 CI 작업 내에서 입력을 기다리며 블로킹되지 않습니다.
### 출력 형식을 위한 하나의 플래그
`-f/--format`은 모든 명령어에서 작동합니다:
| 포맷 | 얻을 수 있는 것 | 사용 용도 |
|---|---|---|
| `text` *(기본값)* | 읽기 쉬운 컬럼 | 터미널에서 읽기 |
| `flat` | 기본 값만 표시 | 다른 도구로 파이프 |
| `json` | 줄마다 JSON 객체 하나 | `jq`, 자동화 |
| `csv` | 헤더 뒤의 행들 | 스프레드시트, 보고서 |
```bash
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`를 전달하지 않으면 파일을 덮어씁니다. 파일은
기록할 결과가 있을 때만 다시 작성되므로 실패하거나 아무것도 찾지 못한 실행은 이전 결과를
그대로 유지합니다.
### 명령어 체이닝
```bash
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을 찾습니다. 번들된 오프라인 데이터베이스를 사용합니다.
```bash
metabigor net AS13335 # ASN이 공지한 모든 CIDR
metabigor net 1.1.1.1 --detail # 이 IP를 소유한 ASN
metabigor net --org Cloudflare # 회사 이름으로 검색
metabigor net --live tesla.com # 로컬 DB 대신 라이브 소스 조회
metabigor net -I asn-list.txt -f csv -o ranges.csv
```
타겟 유형은 자동 감지됩니다. `--asn`, `--ip`, `--domain`, `--org`로 재정의할 수 있습니다
(상호 배타적). `--detail`은 ASN, 조직, 국가 컬럼을 추가합니다.
### `cert` - 인증서 투명성
```bash
metabigor cert hackerone.com # 줄마다 도메인 하나
metabigor cert "HackerOne Inc" # 조직으로 검색
metabigor cert example.com --clean # 와일드카드에서 *. 제거
metabigor cert example.com --wildcard # 와일드카드 항목만 표시
metabigor cert example.com --detail # 인증서 ID, 발급자, 유효 기간
metabigor cert tesla.com | dnsx -silent
```
### `ip` - IP 인리치먼트 (Shodan InternetDB)
```bash
metabigor ip 1.1.1.1 # 포트, 호스트명, CVE
metabigor ip 1.1.1.0/28 # CIDR은 호스트로 확장됨
metabigor ip 1.1.1.0/28 -f flat # IP:PORT 쌍
metabigor ip -I ips.txt -c 30 -f csv -o ports.csv
```
InternetDB가 아무 정보도 모르는 IP는 건너뜁니다. 유지하려면 `--all`을 전달하세요.
### `github` - 코드 검색 (grep.app)
```bash
metabigor github hackerone.com # 매치당 저장소와 경로
metabigor github tesla.com --subs # 매치에서 발견된 서브도메인만 표시
metabigor github "api_key=" --detail # 매칭된 코드 표시
metabigor github AKIA --pages 3 --detail
```
Chrome 또는 Chromium이 필요합니다 - grep.app은 일반 HTTP 클라이언트에 봇 챌린지로 응답합니다.
grep.app의 속도 제한을 존중하기 위해 `-c`와 무관하게 검색은 한 번에 하나씩 실행됩니다.
### `cluster` - IP 클러스터링
IP를 소유한 ASN별로 그룹화하며, 가장 큰 클러스터부터 표시합니다. IP 또는 CIDR을 허용합니다. 오프라인에서 작동합니다.
```bash
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` - 관련 도메인 디스커버리
```bash
metabigor related hackerone.com # 모든 소스
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 수집
```bash
metabigor url hackerone.com # 키 없는 모든 소스, 서브도메인 포함
metabigor url blog.hackerone.com --no-subs # 호스트명 하나만
metabigor url hackerone.com/reports # 경로 접두사로 범위 제한
metabigor url tesla.com --sources wayback,urlscan
metabigor url tesla.com --keywords '\.js(\?|$)' # JavaScript만
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개의 요청은
라이브 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 탐지
```bash
metabigor cdn 1.1.1.1 # 벤더와 유형
cat ips.txt | metabigor cdn --exclude # 후보 오리진
cat ips.txt | metabigor cdn --only # 보호된 주소만
```
### `update` - 로컬 데이터베이스 새로고침
```bash
metabigor update
```
`~/.metabigor`의 IP-to-ASN 및 IP-to-country 데이터베이스를 모두 새로고침합니다. 바이너리에
사본이 포함되어 첫 사용 시 압축이 풀리므로, 이 명령은 더 새로운 라우팅 데이터를 받아야 할 때만 필요합니다.
### `skills` - 코딩 에이전트 스킬
Metabigor는 AI 코딩 에이전트(Claude Code, Codex 또는 호환되는 모든 에이전트)에게 CLI 사용법을
가르치는 [agentskills.io](https://agentskills.io) 스킬을 제공합니다. 이 스킬은 바이너리에
내장되어 있어 설치된 버전과 항상 일치합니다.
```bash
metabigor skills # 번들된 스킬 목록 표시
metabigor skills get metabigor --full # 스킬과 참조 출력
metabigor skills install # .claude/skills에 설치 (이 프로젝트)
metabigor skills install --scope global # ~/.claude/skills에 설치
metabigor skills install --agent agents # Codex용 .agents/skills에 설치
metabigor skills install --dir ./skills # 원하는 디렉터리에 설치
```
`get`은 원시 Markdown을 stdout으로 출력합니다(파이프로 연결하거나 `-o`로 저장). `install`은
번들 전체(`SKILL.md` 및 `references/`)를 복사하며 `--force`를 전달하지 않는 한 기존 복사본은
건너뜁니다. 설치되면 에이전트는 metabigor를 언급할 때마다 스킬을 자동으로 트리거합니다.
## 전역 플래그
```
-i, --input string 조회할 타겟 (인자 또는 stdin도 허용)
-I, --input-file string 타겟 파일, 줄당 하나 (stdin은 - 사용)
-o, --output string 결과를 이 파일에도 기록
-f, --format string 출력 형식: text, json, csv, flat (기본값 "text")
--append 출력 파일을 덮어쓰지 않고 추가
-c, --concurrency int 병렬 워커 수 (기본값 10)
-t, --timeout int 요청 타임아웃(초) (기본값 40)
--retry int 실패한 요청당 재시도 횟수 (기본값 3)
--proxy string 업스트림 프록시, 예: http://127.0.0.1:8080
-v, --verbose 단계별 진행 상황 표시
-q, --quiet 결과와 오류만 표시
--debug HTTP 트래픽 및 내부 추적 표시 (--verbose 포함)
--no-color 컬러 로그 출력 비활성화
```
Metabigor는 실패 시 0이 아닌 종료 코드를 반환하므로 `&&`, `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`을 사용하세요.
- **CIDR에 대한 `net`은 모든 호스트로 확장하는 대신 소유 네트워크를 보고합니다.**
- **오류는 종료 코드 1입니다.** 이전에는 모든 실패가 여전히 0으로 종료되었습니다.
- **`metabigor update`는 두 데이터베이스를 모두 새로고침합니다.** 이전에는 국가 데이터베이스를 건너뛰었습니다.
## Metabigor를 정찰 워크플로우에 손쉽게 통합하고 싶으신가요?
<p align="center">
<img alt="OsmedeusEngine" src="https://assets.kitploit.com/production/public/readmes/2602/eafa8ee9ab8d11baf808ad0024f1153b25dd09c470be9ccc68ccf44c2ab63b2a.png" />
<p align="center">
이 프로젝트는 Osmedeus Engine의 일부였습니다. 통합 방식을 <a href="https://twitter.com/OsmedeusEngine">@OsmedeusEngine</a>에서 확인하세요
</p>
</p>
# 크레딧
로고: [freepik](https://www.flaticon.com/authors/freepik)의 [flaticon](https://image.flaticon.com/icons/svg/1789/1789851.svg)
## 📊 데이터 소스
- **로컬 데이터베이스** - IP-to-ASN 및 IP-to-Country 매핑 (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 전화번호부 (선택적 API 키)
# 면책 조항
이 도구는 교육 목적으로만 제공됩니다. 자신의 행동에 대한 책임은 본인에게 있습니다. 이 소프트웨어를 사용하는 동안
무언가를 망치거나 법을 위반하는 경우, 그 책임은 전적으로 본인에게 있습니다.
# 라이선스
`Metabigor`는 [@j3ssie](https://twitter.com/j3ssie)가 ♥로 만들었으며 MIT 라이선스로 배포됩니다.
# 후원
[](https://paypal.me/j3ssiejjj)
[](https://www.buymeacoffee.com/j3ssie)