
네트워크 발견, 서브도메인 열거, IP 정보 보강, 시크릿 탐지를 위한 OSINT 정찰 도구로, 인증서 로그, Shodan 및 GitHub 코드 검색을 통해 작동하며 API 키가 전혀 필요 없습니다.
Metabigor - API 키 없이 사용하는 OSINT 파워
Metabigor는 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 # ./bin/metabigor에 바이너리 생성
또는 릴리스 페이지에서 바이너리를 다운로드하세요.
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 # 후보 오리진 서버
모든 곳에서 동일한 규칙이 적용되므로 하나의 명령어를 배우면 모두 알게 됩니다.
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 사용
결합할 수 있으며 병합된 목록은 중복이 제거됩니다:
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
stdin은 다른 방식으로 타겟이 주어지지 않았을 때만 읽히므로, 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
결과는 항상 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 # 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 - 인증서 투명성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)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)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을 허용합니다. 오프라인에서 작동합니다.
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 # 모든 소스
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 # 키 없는 모든 소스, 서브도메인 포함
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 탐지metabigor cdn 1.1.1.1 # 벤더와 유형
cat ips.txt | metabigor cdn --exclude # 후보 오리진
cat ips.txt | metabigor cdn --only # 보호된 주소만
update - 로컬 데이터베이스 새로고침metabigor update
~/.metabigor의 IP-to-ASN 및 IP-to-country 데이터베이스를 모두 새로고침합니다. 바이너리에
사본이 포함되어 첫 사용 시 압축이 풀리므로, 이 명령은 더 새로운 라우팅 데이터를 받아야 할 때만 필요합니다.
skills - 코딩 에이전트 스킬Metabigor는 AI 코딩 에이전트(Claude Code, Codex 또는 호환되는 모든 에이전트)에게 CLI 사용법을 가르치는 agentskills.io 스킬을 제공합니다. 이 스킬은 바이너리에 내장되어 있어 설치된 버전과 항상 일치합니다.
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와 함께 사용할 수 있습니다.
v3는 일관성을 위해 플래그와 명령어 이름을 변경합니다. 별칭이 없으므로 스크립트를 업데이트하세요.
알아둘 만한 동작 변경 사항:
[verbose] 줄은 이제 -v가 필요합니다.-o는 조용히 추가하는 대신 덮어씁니다. 이전 동작은 --append를 사용하세요.ip는 원시 JSON이 아닌 읽기 쉬운 텍스트를 출력합니다. JSON은 -f json을 사용하세요.cert는 일반 도메인 목록을 출력합니다. 그룹화된 인증서 보기는 --detail을 사용하세요.net은 모든 호스트로 확장하는 대신 소유 네트워크를 보고합니다.metabigor update는 두 데이터베이스를 모두 새로고침합니다. 이전에는 국가 데이터베이스를 건너뛰었습니다.
이 프로젝트는 Osmedeus Engine의 일부였습니다. 통합 방식을 @OsmedeusEngine에서 확인하세요
이 도구는 교육 목적으로만 제공됩니다. 자신의 행동에 대한 책임은 본인에게 있습니다. 이 소프트웨어를 사용하는 동안 무언가를 망치거나 법을 위반하는 경우, 그 책임은 전적으로 본인에게 있습니다.
Metabigor는 @j3ssie가 ♥로 만들었으며 MIT 라이선스로 배포됩니다.
| 포맷 | 얻을 수 있는 것 | 사용 용도 |
|---|
text (기본값) | 읽기 쉬운 컬럼 | 터미널에서 읽기 |
flat | 기본 값만 표시 | 다른 도구로 파이프 |
json | 줄마다 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 | 하나의 플래그가 출력 형태를 제어 |
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 | 출력 형태가 더 이상 결과에 의존하지 않음 |