
Outil de reconnaissance OSINT pour la découverte de réseau, l'énumération de sous-domaines, l'enrichissement d'adresses IP et la détection de secrets via les journaux de certificats, Shodan et la recherche de code GitHub—le tout sans clés API.
Metabigor - La puissance de l'OSINT sans les tracas des clés API
Metabigor cartographie l'infrastructure d'une cible sans vous demander de créer la moindre clé API. Plages réseau, certificats, domaines liés, ports exposés, fournisseurs CDN et fuites de code - le tout issu de sources gratuites, le tout chaînable entre eux.
npm install -g @j3ssie/metabigor # macOS, Linux, Windows
brew install j3ssie/tap/metabigor # macOS, Linux
Les deux fournissent le même binaire précompilé pour votre plateforme - aucune chaîne d'outils Go n'est nécessaire.
Ou compilez depuis les sources :
git clone https://github.com/j3ssie/metabigor.git
cd metabigor
make build # binary at ./bin/metabigor
Ou téléchargez un binaire depuis la page des releases.
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
Les mêmes conventions s'appliquent partout : une fois que vous maîtrisez une commande, vous les connaissez toutes.
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
Elles se combinent, et la liste fusionnée est dédupliquée :
metabigor cluster 1.1.1.1 -i 8.8.8.8 -I more-ips.txt
Les arguments constituent le chemin le plus court et fonctionnent sur chaque commande. Utilisez -i
lorsque la cible ressemblerait sinon à une option, ou lorsqu'un script construit la commande à votre place :
metabigor github -i "--endpoint-url"
metabigor net --input "$TARGET" -f json
Stdin n'est lu que lorsqu'aucune cible n'a été fournie d'une autre manière : metabigor net AS13335 ne bloque
donc jamais en attendant une entrée dans un script ou un job CI.
-f/--format fonctionne sur toutes les commandes :
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
Les résultats vont toujours sur stdout et les journaux toujours sur stderr, ce qui garde les pipes propres quel que soit
le niveau de journalisation. -o écrit aussi les résultats dans un fichier, en l'écrasant sauf si vous passez --append.
Le fichier n'est réécrit qu'à partir du moment où il y a un résultat à écrire : un lancement qui échoue ou ne trouve rien
laisse donc les résultats précédents intacts.
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 - Découverte réseauTrouve les CIDR derrière un ASN, une IP, un domaine ou une organisation. Utilise la base de données hors ligne fournie.
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
Le type de cible est détecté automatiquement. Remplacez-le avec --asn, --ip, --domain ou --org
(mutuellement exclusifs). --detail ajoute les colonnes ASN, organisation et pays.
cert - Transparence des certificatsmetabigor 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 - Enrichissement 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
Les IP qu'InternetDB ne connaît pas sont ignorées ; passez --all pour les conserver.
github - Recherche de code (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
Nécessite Chrome ou Chromium - grep.app répond aux clients HTTP simples par un défi anti-bot.
Les recherches s'exécutent une à la fois, indépendamment de -c, pour respecter la limite de débit de grep.app.
cluster - Regroupement d'IPRegroupe les IP par ASN propriétaire, du plus grand groupe au plus petit. Accepte les IP ou les CIDR. Fonctionne hors ligne.
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 - Découverte de domaines liésmetabigor related hackerone.com # all sources
metabigor related tesla.com --sources crt
metabigor related tesla.com --sources crt,whois
Sources : crt (crt.sh), whois (WHOIS inversé de viewdns.info), analytics (identifiants Google
Analytics / Tag Manager partagés) ou all. Les résultats sont dédupliqués entre les sources et étiquetés
avec la source qui les a trouvés en premier.
url - Collecte d'URL depuis les archives webmetabigor 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
Sources : wayback, commoncrawl, otx, urlscan, ghostarchive, plus virustotal et
intelx lorsque leurs clés sont définies. Les cinq sources sans clé s'exécutent par défaut ; les deux sources
authentifiées rejoignent automatiquement lorsque VT_API_KEY / INTELX_API_KEY sont présentes dans
l'environnement, et URLSCAN_API_KEY augmente la taille de page d'urlscan. Nommer une source authentifiée
sans sa clé provoque une erreur plutôt qu'un ignoré silencieux.
Les sous-domaines sont inclus par défaut - la requête est *.target, pas target. C'est le plus gros
levier sur ce qu'une exécution retourne ; --no-subs réduit la portée.
GhostArchive est exploité, pas seulement listé. Chaque page archivée possède aussi un WARC brut, et un WARC
enregistre chaque sous-requête que le navigateur a faite en capturant la page - appels XHR, endpoints JSON,
URL de scripts construites dynamiquement. Rien de tout cela n'apparaît dans un index CDX, qui n'indexe que les
captures de l'URL de la page elle-même. Lors des tests, 8 requêtes sur tesla.com ont renvoyé 147 URL, dont
des endpoints JSON d'API en production. Contenez le coût avec --limit-requests.
Les filtres sont désactivés par défaut, donc rien n'est supprimé sans demande. --match-status / --filter-status,
--match-mime / --filter-mime, --from / --to et --keywords sont poussés côté serveur dans les API de
Wayback et Common Crawl puis revérifiés localement ; --blacklist et --no-params sont locaux. --limit-requests
plafonne les requêtes par source et --limit-collections définit la profondeur de recherche dans les ~126
collections d'index de Common Crawl (0 pour toutes, jusqu'en 2008).
cdn - Détection CDN/WAFmetabigor 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 - Actualiser les bases de données localesmetabigor update
Actualise les bases de données IP-vers-ASN et IP-vers-pays dans ~/.metabigor. Une copie est fournie avec le
binaire et se déploie à la première utilisation, donc cette commande n'est nécessaire que pour récupérer des
données de routage plus récentes.
skills - Compétences pour agents de codageMetabigor fournit une compétence agentskills.io qui apprend à un agent d'IA de codage (Claude Code, Codex, ou tout agent compatible) comment piloter la CLI. La compétence est intégrée au binaire, elle correspond donc toujours à la version que vous avez installée.
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 imprime le Markdown brut sur stdout (passez-le dans un pipe, ou utilisez -o pour l'enregistrer).
install copie l'ensemble du paquet - SKILL.md et son dossier references/ - et ignore une copie existante
sauf si vous passez --force. Une fois installée, l'agent déclenche automatiquement la compétence dès que vous
mentionnez 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 se termine avec un code non nul en cas d'échec, il se compose donc avec &&, set -e et
les environnements CI.
v3 renomme les options et commandes par souci de cohérence. Il n'y a pas d'alias - mettez à jour vos scripts.
Changements de comportement à connaître :
[verbose] nécessitent désormais -v.-o écrase au lieu de concaténer silencieusement. Utilisez --append pour l'ancien comportement.ip affiche un texte lisible, pas du JSON brut. Utilisez -f json pour le JSON.cert affiche une simple liste de domaines. Utilisez --detail pour la vue groupée des certificats.net sur un CIDR indique le réseau propriétaire au lieu de l'étendre à chaque hôte.metabigor update actualise les deux bases de données. Il ignorait auparavant la base des pays.
Ce projet faisait partie d'Osmedeus Engine. Découvrez comment il a été intégré sur @OsmedeusEngine
Cet outil est uniquement à des fins éducatives. Vous êtes responsable de vos propres actions. Si vous cassez quelque chose ou enfreignez des lois en utilisant ce logiciel, c'est votre faute, et uniquement votre faute.
Metabigor est fait avec ♥ par @j3ssie et est publié sous licence MIT.
| Format | Ce que vous obtenez | Utilisation |
|---|
text (par défaut) | Colonnes lisibles | Lecture dans un terminal |
flat | La valeur primaire brute | Envoi vers d'autres outils via pipe |
json | Un objet JSON par ligne | jq, automatisation |
csv | Lignes sous un en-tête | Feuilles de calcul, rapports |
| v2 | v3 | Pourquoi |
|---|
metabigor ipc | metabigor cluster | ipc était impossible à deviner |
-I, --inputFile | -I, --input-file | le camelCase n'est pas une convention CLI |
-q, --silent | -q, --quiet | -q doit correspondre à sa forme longue |
--json | -f json | une seule option contrôle le format de sortie |
ip --csv / ip --flat | -f csv / -f flat | identique |
cert --simple | (désormais le comportement par défaut) | --detail active le bloc détaillé |
net --dynamic | net --live | langage clair |
cdn --strip-cdn | cdn --exclude | s'associe à la nouvelle option --only |
related -s ua / -s gtm | --sources analytics | les deux faisaient la même chose |
related -s | -s, --sources | accepte désormais une véritable liste |
github (sous-domaines par défaut) | github --subs | la forme de sortie ne dépend plus des résultats |