
WhoCord v1.2.1
Analyse les liens Discord à travers les guildes mutuelles pour extraire des profils, recoupe plus de 700 sites, recherche des noms d'utilisateur avec 30+ outils, et génère un rapport alimenté par l'IA.
WhoCord
Un canevas OSINT interactif qui s'enrichit à chaque découverte. Commencez par une graine — un utilisateur Discord, un nom d'utilisateur, un email, un domaine, un téléphone, une image ou une URL — et regardez la carte se construire en temps réel.
Captures d'écran
![]() | ![]() |
| 1. Page de démarrage | 2. Canevas avec panneau de détails |
![]() | |
| 3. Arbres d'investigation multiples (392 nœuds, 391 arêtes) |
Fonctionnalités
Modules
- Discord — profil, comptes connectés, bio, avatar, recherche de liens dans l'historique des messages
- Nom d'utilisateur — User Scanner, WhatsMyName, Maigret, Linkook, Blackbird (600+ plateformes)
- Email — Holehe, HIBP, h8mail, EmailRep, GHunt, Scylla, Gravatar, MOSINT, vérification SMTP
- Domaine — WHOIS, DNS, SSL, sous-domaines, géolocalisation IP, Wayback
- Téléphone — validation, recherche d'opérateur, PhoneInfoga
- Image — EXIF, GPS, hash perceptuel, recherche d'image inversée, OCR
- URL — trace HTTP, redirections, métadonnées de page, vérification Safe Browsing
- Probe — détecte automatiquement le type d'entrée et l'achemine vers le bon module
- Pivot — enquête récursivement sur les nouveaux emails et noms d'utilisateur (profondeur limitée)
Renseignement
- Graphe de connaissances construit avec
networkx - Cinq détecteurs de corrélation : réutilisation d'avatar, clusters email-plateforme, variantes de nom d'utilisateur, liens nom-email, cohérence de localisation
- Narratif IA via Groq (Llama 3.3 70B)
Canevas
- Résultats en direct via Server-Sent Events
- Vue cartes avec recherche, chat IA, éditeur de thème, export PNG et
.whocord-map - Palette de commandes (
Cmd/Ctrl+K)
Rapports
- Rapport HTML autonome (fonctionne hors ligne)
- Résumé de persona IA et rapport markdown
Installation
1. Prérequis
- Python 3.10+
- Node.js 18+ (uniquement pour l'interface canevas moderne)
- Git
whois—sudo apt install whois/brew install whois
2. Cloner et configurer
git clone https://github.com/Siv-nick/WhoCord.git
cd WhoCord
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install --upgrade pip
pip install -r requirements.txt
3. Outils OSINT externes
pip install user-scanner maigret linkook socialscan
pip install holehe h8mail gitfive socid-extractor
pip install theharvester
Optionnel : pip install toutatis sharetrace. Scylla et PhoneInfoga nécessitent des téléchargements manuels. Blackbird est cloné à la première utilisation.
4. Compiler le frontend (optionnel)
cd frontend
npm install
npm run build
cd ..
5. Lancer
python web_app.py
Ouvrez http://127.0.0.1:5000.
6. Définir les jetons d'API
Définissez-les depuis le panneau Config dans l'interface web. Ils sont stockés dans le trousseau de votre OS.
| Jeton | Requis pour |
|---|---|
DISCORD_TOKEN | Mode Discord |
GITHUB_TOKEN | Limites de taux API GitHub plus élevées |
GROQ_API_KEY | Narratif IA et chat |
INSTAGRAM_SESSION | Toutatis |
Installation complète
git clone https://github.com/Siv-nick/WhoCord.git
cd WhoCord
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
pip install user-scanner maigret linkook socialscan holehe h8mail gitfive
cd frontend && npm install && npm run build && cd ..
python web_app.py
Utilisation
Interface web : ouvrez http://127.0.0.1:5000, cliquez sur Blank canvas, appuyez sur Cmd/Ctrl+K, choisissez un module, saisissez une cible.
CLI :
python -m discord_osint --mode discord \
--target 123456789012345678 \
--token "YOUR_TOKEN" \
--guild 987654321098765432
python -m discord_osint --mode manual --target johndoe
python -m discord_osint --interactive
| Option | Description |
|---|---|
--mode {discord,manual} | Mode d'investigation |
--target | Nom d'utilisateur ou ID utilisateur Discord |
--token | Jeton Discord |
--guild | ID de guilde |
--output {json,markdown,html} | Format du rapport |
--debug | Journalisation verbeuse |
--interactive | Forcer le menu |
Configuration
Les paramètres se trouvent dans discord_osint/config.json. Les jetons se trouvent dans le trousseau de l'OS.
Options courantes :
| Option | Défaut | Outil |
|---|---|---|
ENABLE_USER_SCANNER | Activé | User Scanner |
ENABLE_WMN | Activé | WhatsMyName |
ENABLE_HOLEHE | Activé | Holehe |
ENABLE_HIBP | Activé | HaveIBeenPwned |
ENABLE_GHUNT | Activé | GHunt |
ENABLE_MAIGRET | Désactivé | Maigret |
ENABLE_AI_REPORT | Activé | Rapport Groq |
ENABLE_PIVOTING | Désactivé | Pivots récursifs |
ENABLE_CACHING | Désactivé | Charger les renseignements précédents |
Liste complète : discord_osint/tools_config.py.
Lorsque le pivot est activé, chaque nouvel email ou nom d'utilisateur devient une graine pour une investigation enfant. Configurez avec PIVOT_EMAIL, PIVOT_USERNAME, PIVOT_MAX_DEPTH (défaut 3), PIVOT_MAX_SEEDS (défaut 5) et PIVOT_REQUIRE_CONFIRM.
Architecture
discord_osint/
__main__.py CLI entry
config.py / config_service.py
core.py Intel store
discord_api.py Discord profile and message search
scraping.py Platform scrapers
email_intel.py Email tools
extras.py WHOIS, Wayback, EXIF, reverse image
api_extractor.py Derives JSON endpoints from URLs
username_search.py User Scanner, Maigret, Linkook, Blackbird
wmn_scanner.py WhatsMyName
intelligence/ Graph, correlations, narrative, HTML report
pipeline/ Stages, context, pivot, events
frontend/ React, TypeScript, Vite, Tailwind
web_app.py Flask backend
Ordre du pipeline :
DiscordModeStage -> Discovery -> Scraping -> Media
-> Analysis -> Intelligence -> EmailIntel -> [Pivot] -> Reporting
Développement
pytest tests/ -v
Avertissement
WhoCord est destiné à la recherche en sécurité autorisée, aux engagements red-team, aux tests d'intrusion et à la vérification de votre propre empreinte numérique. L'utiliser pour traquer, harceler ou doxer quelqu'un, pour contourner des protections de vie privée que vous n'êtes pas autorisé à contourner, pour violer les Conditions d'utilisation de Discord ou pour enfreindre une quelconque loi est illégal. Vous êtes responsable de la façon dont vous utilisez cet outil. Les auteurs ne sont pas responsables d'une mauvaise utilisation.


